分类: LINUX
2010-08-05 09:50:40
su 用户名 在不退出登陆的情况下,切换到另外一个人的身份
如果用户名缺省,则切换到root状态
会提示输入密码,密码不回显的。
在用su命令切换root用户时,使用“-”选项,这样可以将root的环境变量和工作目录同事带入,
如果不带该选项,则还是保留了原用户的环境变量等设置,可能会因此碰到问题。
su - root
sudo yourcmd 用root用户执行你的命令。
tar 解压缩命令
tar zxf aa.tar.gz //z代表用gzip,x代表extract解压,f说明后面指定的是要解压的文件
tar jxf bb.tar.bz2 //j代表用bzip2解压
tar jxf bb.tar.bz2 --directory ~/ //将bb.tar.bz2解压到当前用户的根目录下。用--directory来指定要解压到的目录,~代表当前用户的根目录
添加环境变量
PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻。用以下命令可以看到PATH的值。
echo $PATH
例如,在主机中,用户yogin的PATH值为:
/opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/yogin/bin
其中“:”为分隔符。所以,上面的一串目录可以看成是如下的目录列表。
/opt/kde/bin
/usr/local/bin
/bin
/usr/bin
/usr/X11R6/bin
/home/yogin/bin
要修改所有用户的PATH值,您可以以root身份编辑/etc/profile文件,修改其中包含“PATH=”的一行。
如果只是要修改某一个用户的PATH值,就应该编辑该用户主目录中的.bash-profile文件。
例:添加/usr/X11R6/bin路径到PATH,$PATH表示PATH是一个变量,$是使用变量的方式。
PATH="$PATH:/usr/X11R6/bin"
export PATH
注意:在修改了PATH值或任何环境变量后,都要用export将其输出,新的PATH值才能生效。
如果想把当前路径加入到环境变量中去,就可以这样做,其中"."点代表当前目录。
PATH ="$PATH:."
export PATH
这样运行自己编写的shell脚本时就可以不输入./了。
APT(Advanced Packaging Tools)高级包管理工具
常用的APT命令参数:
apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package - - reinstall 重新安装包
sudo apt-get -f install 修复安装"-f = ――fix-missing"
sudo apt-get remove package 删除包
sudo apt-get remove package - - purge 删除包,包括删除配置文件等
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 是查看该包被哪些包依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理无用的包
sudo apt-get check 检查是否有损坏的依赖
安装wine
sudo apt-get install wine
LINUX常用命令(基础)
1. man 对你熟悉或不熟悉的命令提供帮助解释
man ls 就可以查看ls相关的用法
注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。
2. ls 查看目录或者文件的属*,列举出任一目录下面的文件
ls /usr/man
ls -l //(list)列表方式显示详细信息
d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link)
表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。
ls -a
蓝色代表目录,绿色代表可执行程序。
3. cp 拷贝
拷贝文件
cp filename1 filename2 //把filename1拷贝成filename2
cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c
拷贝目录(-r recursive 递归拷贝的意思)
cp -r dir1 dir2
4. mkdir命令
mkdir netseek //创建netseek这个目录
rm 删除文件和目录
rm 1.c //将1.c这个文件删除
rm -r aa //将aa这个目录及其内容全部清除
5. mv 移走目录或者改文件名
mv filename1 filename2 //将filename1 改名为filename2
mv qib.tgz ../qib.tgz //移到上一级目录
6. cd 改变当前目录
pwd //查看当前所在目录完整路径
cd - 前一个目录
cd ~ 当前用户主目录
cd / 根目录
cd 当前用户主目录
7. cat,more命令 将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示
8.chmod 权限修改
用法:chmod 一位8进制数 filename。
常用命令:chmod 777 filename 意思是该登录用户、他所在的组和其他人都有最高权限。
在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。
例如我用ls -l命令列文件表时,得到如下输出:
-rw-r--r-- 1 bu users 2254 2006-05-20 13:47 tt.htm
第一个字符代表类型,“-”代表文件,“d”代表目录。
从第二个字符起每三个字符代表一个权限,分别对应当前用户、用户组、其他人。
rw-是说用户bu有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有写和运行权,最后的r--指其他人(others)只有读权限,没有写运行权。
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,上面的例子中的rw-r--r--用数字表示成644。
模式 数字
rwx 7
rw- 6
r-x 5
r-- 4
-wx 3
-w- 2
--x 1
--- 0
9. clear clear:清屏;
10. mount 加载一个硬件设备
用法:mount [参数] 要加载的设备 载入点
mount /dev/cdrom
cd /mnt/cdrom //进入光盘目录
11.whoami,whereis,which,id,env
//whoami:确认自己身份
//whereis:查询命令所在目录以及帮助文档所在目录
//id:打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)
//env显示所有环境变量
whoami //显示你自已登陆的用户名
whereis bin 显示bin所在的目录,将显示为:/usr/local/bin
12. grep 文本内容搜索;
grep success * /*查找当前目录下面所有文件里面含有success字符的文件
13. history 用户用过的命令
14. find,locate,whereis
find:文件或者目录名以及权限属主等匹配搜索
语法:
find path -option [ -print ] [ -exec -ok command ] {} \;
-name filename #查找名为filename的文件
$find . -name *.txt 在当前目录中查找名为.txt的文件
path不指定时默认在当前目录中查找,所以上述指令与下述指令相同
$find -name *.txt
查找所有.svn文件并删除掉
find . -name .svn |xargs rm –rf
|xargs指将前面的结果作为后面命令的参数
-rf 是rm的参数,r代表recursive,递归,一般用于用于删除目录,f代表fore,强制删除
快速查找文件包括路径
15.链接指令ln(类windows下的快捷方式)
ln命令在两个文件之间创建链接(link)。语法:
ln [OPTION]… [-T] TARGET LINKNAME
ln [OPTION]… TARGET
ln [OPTION]… TARGET… DIRECTORY
ln [OPTION]… -t DIRECTORY TARGET…
如果指定两个文件名,ln创建从第二个文件至第一个文件的链接(第一个文件是源文件)。
如果只指定TARGET,ln在当前目录以目标文件名创建目标文件的链接。
第三、四种语法为多个TARGET创建链接的方法。
默认他创建hard链接,在使用-s时创建symbolic(或者说soft)链接。
建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。
符号链接,不存在这个问题。ln默认产生硬链接。
例:
在当前目录创建某文件或目录的链接
ln -s /data/etc/test.apk
ln -s /data/etc/test.apk changename.apk
ln -s /opl/telephony/bin
ln -s /opl/telephony/bin mybin
在当前目录中创建多个文件的链接
ln -s -t . dir1/test1.apk dir2/test2.apk
当前目录中多个文件创建链接到指定目录
ln -s test1.apk test2.apk /mylink
用file命令查看文件的信息
file test
test: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux
locate filename
模糊查找文件名
whereis filename