Linux程序设计(Linux shell编程十四)


各位看官,到目前为止,咱们已经把实际中经常使用的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命令咱们就罗列这么多,以后如果再有好用的命令,我再和大家一起分享。

好了,今天到此为止,欲知后事如何,且听下回分解。

你可能感兴趣的:(Linux程序设计)