要想在Linux下编程,第一步需要我们做的事情就是熟悉常用的Linux中的命令,现把总结如下:
当用户在命令行下工作时,不是直接同操作系统内核交互信息,而是由命令解释器接收命令,分析后再传给相关程序。Shell是一种Linux中的命令行解释程序,就如同 Command.com是DOS下的命令解释程序一样,为用户提供使用操作系统的接口。
1.关于文件/目录处理的指令:
1.1 ls
这是最基本的文件指令。ls的意义为“list”,也就是将某一个目录下的内容显示出来。如果你在ls指令后没有跟任何文件,它将会显示出目前目录中所有文件。也可以在ls后面加上所要察看的目录名称或文件的名称,如
$ls/home/
$lsfoo
ls有一些参数,可以给予使用者更多有关的资讯,如下:
-a:在linux中若一个目录或文件名字的第一个字元为“。”,则使用ls将不会显示出这个文件的名字,我们称此类文件为隐藏文件。如tcsh的初设档。tcshrc;如果我们要察看这类文件,则必须加上参数“-a”。
-l:这个参数代表使用ls的长格式,可以显示更多的资讯,如文件存取权,文件拥有者(owner),文件大小,文件最后更新日期,甚而symboliclink的文件是link哪一个文件等等。如下:
$ls-l
drwx--x--x2jjtseng512Aug805:0818
drwx--x--x2jjtseng512Aug822:0019
-rw-------1jjtseng566Aug805:28makefile
1.2 cp
cp这个指令的意义是复制(“COPY”),也就是将一个或多个文件复制成另一个文件或者是将其复制到另一个目录去。
cp的用法如下:
cpf1f2:将文件名为f1的文件复制一份为文件名为f2的文件。
cpf1f2f3…dir:将文件f1f2f3…都以相同的文件名复制一份放到目录dir里面。
cp-rdir1dir2:将dir1的全部内容全部复制到dir2里面。
cp也有一些参数,如下:
-i:此参数是当已有文件名为f2的文件时,若迳自使用cp将会将原来f2的内容掩盖过去,因此在要盖过之前必须先询问使用者一下。如使用者的回答是y(yes)才执行复制的动作。
-r:可将一整颗子树都复制到另一个目录中。
1.3 mv
mv的意义为move,主要是将一文件改名或换至另一个目录。如同cp,它也有三种格式:
mvf1f2:将文件名为f1的文件变更成文件名为f2的文件。
mvdir1dir2:将文件名为dir1的目录变更成文件名为dir2的目录。
mvf1f2f3…dir:将文件f1f2f3…都移至目录dir里面。
mv的参数有两个,-f和-i,其中-i的意义与cp中的相同,均是interactive询问之意。而-f为强迫(force),就是不管有没有同名的文件,都进行操作,所有其他的参数遇到-f均会失效。
1.4 rm
rm的意义是remove,也就是用来删除一个文件的指令。在Linux中一个被删除的文件除非是系统恰好有做备份,否则是无法像DOS里面一样还能够救回来的。所以在做rm动作的时候使用者应该要特别小心。
rm的格式如下:
rm f1 f2 f3 …
而rm的参数比较常用的有几个:-f,-i,与-r
-f:将会使得系统在删除时,不提出任何警告讯息。
-i:在除去文件之前均会询问是否真要除去。
-r:递回式的删除。
小心不要随便使用rm -r f,否则有一天你会“欲哭无泪”L
1.5 mkdir
mkdir是一个让使用者建立一个目录的指令。你可以在一个目录底下使用midir建立一个子目录,使用的方法如下:
mkdir dirname1[dirname2…]
如此你就可以建立一个或多个目录。
1.6 chdir(cd)
这是让使用者用来转移工作目录用的。
chdir的用法如下:
chdir dirname
如此你就可以将目前的目录转移到dirname这一个目录去。
或使用“chdir 。。”来转移到上一层目录。
1.7 rmdir
相对于mkdir,rmdir是用来将一个“空的”目录杀掉的。如果一个目录下面没有任何文件,你就可以用rmdir指令将其除去。rmdir的使用法如下:
rmdir dirname1[dirname2…。]
如果一个目录底下有其他的文件,rmdir将无法将这个目录杀掉,除非使用rm指令的-r选项。
1.8 pwd
pwd会将目前目录的路径(path)显示出来,例如:
1.9 cat/more/less
以上三个指令均为察看文件内容的指令。cat的意义是猫…?不不不,是concatenate,在字典上的意思是“连结,将…串成锁状”(语出资工电子词典cdict),其实就是把文件的内容显示出来的意思。cat有许多奇怪的参数,较常为人所使用的是-n参数,也就是把显示出来的内容加上行号。cat的用法如下:
cat [-n]:自标准输入读进内容,你可以用pipe将别的程式的输出转向给cat。
cat [-n]filename:将filename的内容读进来,显示在标准输出上。
问题在于cat它是不会停下来的,因此并不好用(试想如果一个萤幕二十四行,而一个文件四百行,cat一出来将会劈哩啪啦不断的卷上去,使用者很难据此得到他们所需的资讯。)所以才有人又写了more出来。
more可以将所观察的文件跟据终端机的形态一页页的显示出来,再根据使用者的要求换页或卷行。如果使用者要在某一个文件中搜寻一个特定的字串,则按/然后跟着打所要搜寻的单字即可进行搜寻。more也可以找得到。more的使用法如下:
more filename
如果你在使用中觉得已经看到了所要看的部份,可以按'q'离开more的使用。在使用中按'v'亦可以使用编辑器来编辑所观看的文件。
less的用法与more极类似,原先它就是为了弥补more只能往前方卷页的缺点而设计。less的用法如下:
less filename
其与more不同的是它可以按y来往上卷一行,并且可以用“?”来往回搜寻你所要找的单字。
1.10 chmod
chmod为变更文件模式用(change mode)。这个指令是用来更改文件的存取模式(accessmode)。在linux一个文件上有可读(r)可写(w)可执行(x)三种模式,分别针对该文件的拥有者(onwer)、同群者(groupmember)(你可以ls -lg来观看某一文件的所属的group),以及其他人(other)。一个文件如果改成可执行模式则系统就将其视为一个可执行档,而一个目录的可执行模式代表使用者有进入该目录之权利。chmod就是用来变更一些文件的模式,其使用方式如下:
chmod [-fR] modefilename…
其参数的意义如下:
-f Force。chmod不会理会失败的动作。
-R Recurive。会将所有子树下的所有子目录及文件改为你所要改成的模式。
mode可以为一个三位或四位的八进位数字,来表示对某些对象的存取权。详情可参阅chmod(1)的manual page中有关Absolute Modes的说明。或是用一个字串来表示,请参考chmod(1)的说明。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。