各位看官,到目前为止,咱们已经把实际中经常使用的shell编程知识都说完了。看官们回头再想一想,
咱们所说的shell编程,其实就是把Linux中的命令按照一定的规则放在一起。规则就是shell编程的语
法,咱们在前面的章回中一直在说Linux shell编程中的各项语法。在编程的时候,对Linux命令的了
解也很重要。咱们在前面只用一个章回说了Linux的常用命令。今天咱们会介绍更多常用的Linux命令。
为了各位看官们方便,我按照英文字母的顺序进行排序。
cat 查看文件内容的命令:cat 选项 参数.选项建议加,参数必须加,表示要查看的文件。选项n会在
打开的文件中显示行号。b只给有文本的行加行号,空白行则跳过。s会把多个空白行压缩成一个
空白行。T阻止显示制表符。
cd 变换目录或者叫打开目录change directory:cd /bin。这是Linux中最常用的命令。
chmod 修改文档或目录权限命令:chmod 742
chown 修改文档或目录所属拥有者命令:chown -R user1 doc,R表示进行递归.
cp 复制目录或者文件:cp 选项 参数。选项加不加都可以,建议加上比较好。参数必须加,而且有
2个参数。cp -a source destination.复制文件或者目录时如果不使用选项,会使用默认
的文件权限,-p命令可以连同文件原来的属性一起复制走。-d命令如果原来文件是link类型,则
复制后也是,如果不用选项则复制来的是link指向的文件。-R选项递归复制,复制目录及其中的
子目录和内容时使用,-a就是pdr的综合,所以经常用它。-s命令表示生成快捷方式, 而-i表示
复制前的询问操作 。参数中的文件或者目录名字,可以使用通配符。此外,cp还可以创建软硬链
接。选项l表示创建硬链接,选项s表示创建软链接。不过,创建链接时使用ln吧,也算是给cp减负
了,同时也能体现出Linux单一的设计思想。
date 显示日期。参数不一样,显示的结果形式也不一样。常用的date +%s会显示出秒来,把它用在
一段程序的前后,可以得出程序运行的时间差。
df 列出文件系统的整体磁盘使用量.df 选项 参数。选项建议加上h,这样文件大小会以M或G方式显
示,方便观看,参数加不加都可以。该命令可以看到硬盘有多少分区,每个分区的大小,每个分
区的使用量和分区上的挂载点,通常用df -h不加目录时默认列出整个磁盘的使用情况.如果是df -h /usr
则只列出usr目录的信息。
du 列出目录的大小,包括隐藏目录,但是不包括文件。df 选项 参数。选项建议加上h,作用和df中
的一样,参数加不加都可以。不加参数时默认列出当前目录下各个目录的大小。
echo 显示变量值:echo $PATH。变量前一定要加上$符号362.使用-n选项,可以去掉自动添加的
换行。使用-e选项可以在后面的双引号中使用转义符号,比如\t等。另外,print也有输出的
功能,不过它默认不加换行符号。而且它可以使用格式化字符串指定输出内容的格式。
env 观察环境变量。直接使用就行,不需要加参数和操作对象。
find 这个命令太强大了,慢慢练习吧,他可以依据mtime,atime等查找文件,依据文件拥
有者查找文件,依据文件名称,大小,类型查找文件,太强大了,列几个常用的
find /var -mtime 0 查找24小时内变化的内容
find /var -mtime 3 查找第3天内变化的内容,数字前面可以有+-号,例如+3表示3
天以前的,包含第3天。-3表示3天到内,不包含第3天。
find /var -user tom 查找属于tom的内容
find /var -name doc 查找名叫doc的文件,文件名也可以用正则表达式。
find /var -type d 查找目录,因为d表示目录,如果是s则表示查找socket
find /var -size 10k 查找大于10k的文件
file 查看文件或者目录的类型:file doc
grep 在文件中搜索指定内容.grep 选项 参数。选项不加则进行简单的搜索,使用时可以通过不同选项
进行不同的搜索。参数有两个,中间用空格分开,第一个参数是想要搜索的内容,该内容可以是
简单的字符串,数字,甚至时正则表达式都可以。第二个参数是被搜索的内容,通常是某个文件
或者某个命令的结果。v表示反向搜索,表示搜索不匹配的内容,如:grep -v book file表示在file中
搜索不匹配book的内容。选项n会显示搜索到的内容在文件中的行数。选项c会显示搜索到多少个
结果。
gzip 压缩/解压命令,它可以兼容compress和zip。压缩:gzip -v doc(参数v可以显示压
缩比率,加不加都可以)解压:gzip -d doc.gz。该命令是后来由GNU提供的,所以它
比compress好,完全可以取代compress。另外,它压缩后会用压缩包取代原来的文
件,也就是说把原来的文件删除了,解压缩也会这样。这特性比RAR要好,此外它一
共有1-9个压缩等级供设置,默认是6.压缩等级越高,压缩时间越长。
let 执行数学运算的命令。常用的是let index++(循环中常用)
ls 显示目录和文档信息:ls 选项 参数 .选项和参数加或者不加都可以。选项常用的是al,a可以显
示出隐藏文件,l则是显示所有的文件信息,常用的是ls -al(也可以执行ll表示ls -l).参
数加上时只显示与参数匹配的文件信息,因此有过滤作用。参数中还支持×?通配符。
mkdir 新建目录命令:mkdir 选项 参数。选项最好加上,可以指定目录权限。参数必须加,表示要创
建的目录名。mkdir -m 711 test创建目录时设定权限为711,如果不设定则使用默认权限776
(与umask有关). mkdir -p test/a/b可以创建目录及其子目录。
mount 挂载文件系统的命令。用法:mount /home /doc/把home挂载到doc下。如果某个
目录出现只读的情况时,使用mount -o remount,rw,auto /doc就可以通过重新
挂载/doc而加入rw权限,这在实际工作中很有用279。相反命令为umount
mv 移动目录或者文件,也是实现重命名:mv source destination.mv -fiu这三个看
情况自己选用吧。f是强制,i是询问u是目的文件比原来的文件新才移到,cp也有
这个参数。我发现该命令不能递归移动看来比cp功能差一些。mv a b会把当前目录
下的a文件重命名成b文件。
pwd 显示当前目录的路径,显示出来提绝对路径print working directory
通常不加参数就可以使用,参数-P可以显示link类型的实际目录:pwd, pwd -P
rm 删除目录或者文件:rm 选项 参数。选项最好加上,参数必须有。可以替代rmdir.选项r表示递归
删除,i表示提示,f表示强制不给提示,通常rm -rf doc最常使用.参数中可以像cp,ls命令一
样使用通配符,这点很强大。删除一定要谨慎,shell中没有回收站。删除后无法找回。
rmdir 删除空目录命令:rmdir -p可以删除目录及其子目录,只能删除空目录.
set 观察所有变量,它除了能列出env可以列出的所有环境变量外,还能列出自定义的各种环境变量
stat 以统计结果的形式显示文件信息,而且显示的内容比ls的要丰富。stat 选项 参数。选项不需要
加,参数必须加。表示要显示哪个文件的信息。注意不要写成start。
sort 排序命令,通过是对某个结果或者文件中的内容进行排序。sort 选项 参数。选项n表示对结果
使用数字的升序进行排序。选项M表示按照自然月的顺序进行排序。-r表示按照降序排序,或者把
原来的顺序反过来。参数就是被排序的对象,通常是文件名或者某个命令的结果。因此可以得出
该命令的选项和参数都需要加上。例子:sort file。ll | sort -r.du -h |sort -n这里使用了管道把前一个
命令的结果当作后一个命令的操作对象。
tar 打包命令。把多个文件打包成一个文件,常和压缩命令gzip/bzip2一起使用
压缩:tar -jcv -f test.tar.bz2 test 目标名test.tar.bz2一定要写
查看:tar -jtv -f teset.tar.bz2不解压压缩包,只看同的文件名
解压:tar -jxv -f test.tar.bz2 -C 待解压目录,不加C时默认在当前目录。
压缩或解压后不会删除原来的文件,把j换成z,其它的不变就是使用gzip命令压缩。
test 测试命令。test 参数。该命令没有选项,参数就自己加,它经常用在if和for等结构中存当判断
条件。可以使用它的替代形式[] (()) [[]].
touch 创建空文件或者修改文件时间。touch 选项 参数.选项加不加都可以,参数必须加。如果文件不
存在,表示新建一个以参数名的空文件。如果文件存在,则是修改该文件的mtime为当前时间。
修改文件时间时,可使用a,c,m参数,分别修改atime,ctime,mtime.例子:touch -a doc
还有一种touch doc,这时候默认更新mtime和atime为当前系统的时间.如果doc不存在,则创
建它。因此touch最常用的两个功能就是:建立空文件,修改某个文件的mtime和atime为当前
系统时间。使用t参数可以指定具体的时间,如touch -t 201501010100 doc,那么doc
的mtime和atime会修改为指定的这个日期。
umount 卸载挂载点命令。umount /doc将doc从挂载点上卸载
useradd 添加用户的命令
userdel 删除用户的命令
usermod 修改用户属性的命令
各位看官,关于Linux命令咱们就罗列这么多,以后如果再有好用的命令,我再和大家一起分享。
好了,今天到此为止,欲知后事如何,且听下回分解。