对常用的Unix命令的一些总结...
特殊键组合:
Ctrl+h 在命令行中删除掉一个字符。
Ctrl+u 在命令行中删除掉一行。
Ctrl+d 退出命令,告诉shell输入结束了。
ls
ls -l 详细列出目录下的文件信息,按照文件名排序。
ls -t 列出目录下的文件信息,按照修改日期排序。
ls -lrt 列出目录下的文件信息,按照修改日期倒序排序。
ls -lh 列出目录下的文件信息,按照文件名排序,文件的大小信息以K,G的方式显示。
ls -lS 列出目录下的文件信息,按照文件大小排序(在Linux中可用,在Unix-SunOS中不能用)。
ls -R 递归列出目录下子文件夹中文件的信息。
ls | wc -w 统计目录中文件的数目。
cd
cd $HOME=cd 进入用户的默认目录。
cd .. 进入当前目录的上一级目录。
mkdir
mkdir t1 t2 一次在当前目录下建立t1,t2两个目录。
mkdir -p t3/t4 一次在当前目录下建立t3(如果t3不存在的话),在t3下建立t4目录。
mkdir -p /home/test/{old,new,dist,bugs},一次建立4个目录.
rmdir只能删除空目录
rmdir -p t3/t4=rmdir t3/t4,将t4目录删除,t3目录还存在[rm -r t3 将t3以及其子目录,子文件全删除]。
文件查看命令:cat,more,less,head,less:
cat一次显示文件的所有内容,如果文件内容超过一屏,则只会显示最后一屏的内容,通常cat用来将几个文件合并到一个文件,一般不用来view文件。
cat file1 file2 > file
more可以控制显示多少行来分页显示。
less分页显示同时可以用命令来实现查找等功能。
head显示头多少行,tail显示结尾多少行。tail -f filename 动态打印结尾的信息.
du /etc | sort -nr | less 查看目录中各个文件的大小,按从大到小排序显示。
find -size +100M -print:打印出当前目录大于100M的文件.
find -type f -exec grep -q -s xyz{} \; -print 在当前目录中找包含xyz字符的文件.
解压
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
压缩:tar -jcvf FileName.tar.bz2 dir
解压:tar -jxvf FileName.tar.bz2
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
2> &1 & 解释
1 是stdout,2是stderr,>是重定向,&1代表前面被重定向的stdout(out.file),后面的&代表后台运行
command > out.file 2> &1 &
command > out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
2> &1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。
最后一个& , 是让该命令在后台执行。
你可以用
ls 2> 1测试一下,不会报没有2文件的错误,但会输出一个空的文件1;
ls xxx 2> 1测试,没有xxx这个文件的错误输出到了1中;
ls xxx 2> &1测试,不会生成1这个文件了,不过错误跑到标准输出了;
ls xxx > out.txt 2> &1, 实际上可换成 ls xxx 1> out.txt 2> &1;重定向符号> 默认是1,错误和输出都传到out.txt了。
command > out.file 2> &1 = command >& out.file
在BASH中,用soruce和. 执行shell script表示脚本不产生子进程,如当前目录下有一个testsh脚本,用 source ./testsh 和. ./testsh执行时,testsh和当前的bash是在同一个进程中, 如果以 ./testsh的方式运行的话,testsh则成为所谓的子shell.
echo $SHELL 查看当前用户默认的SHELL
echo $0 查看用户当前正在使用的SHELL
lsof | grep xxfile 查看是否有打开xxfile的进程
:w ! sudo tee %
当你在vi中修改了半天配置文件,然后发现没有写权限,没有比这更令人感到挫败了,此时你需要这条命令。
查看OS信息:
lsb_release -a
cat /etc/issue
cat /proc/version
uname -a
netconfig过后 用/etc/rc.d/init.d/network restart 让修改生效
ifconfig过后立即生效当时重启设置会丢失
Ctrl + C To terminate
Ctrl + D signals EOF
Ctrl + Z suppends a program
umount出现device is busy解决 umount -l
mount -o loop,iocharset=gb2312 /dir/xxx.iso /mnt/xxx 将一个iso文件直接mount后使用
man ascii 查看ascii码表
CentOS install software: yum install xxxx
ubuntu install software: wget -c http://downloads.openfabrics.org/qperf/qperf-0.4.8.tar.gz apt-get install autoconf