Linux系统命令及其使用详解(大全)(来源:中国系统分析员) 名称:cat 使用权限:所有使用者 使用方式:cat[-AbeEnstTuv][--help][--version]fileName 说明:把档案串连接后传到基本输出(萤幕或加fileName到另一个档案) 参数: -n或--number由1开始对所有输出的行数编号 -b或--number-nonblank和-n相似,只不过对于空白行不编号 -s或--squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行 -v或--show-nonprinting 范例: cat-ntextfile1textfile2把textfile1的档案内容加上行号后输入textfile2这个档案里 cat-btextfile1textfile2textfile3把textfile1和textfile2的档案内容加上行号(空白行不加)之后将内容附加到textfile3 名称:cd 使用权限:所有使用者 使用方式:cd[dirName] 说明:变换工作目录至dirName。其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的homedirectory(也就是刚login时所在的目录).另外,~也表示为homedirectory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。 范例:跳到/usr/bin/: cd/usr/bin 跳到自己的homedirectory: cd~ 跳到目前目录的上上两层: cd../.. 指令名称:chmod 使用权限:所有使用者 使用方式:chmod[-cfvR][--help][--version]modefile... 说明:Linux/Unix的档案存取权限分为三级:档案拥有者,群组,其他。利用chmod可以藉以控制档案如何被他人所存取。 把计: mode:权限设定字串,格式如下:[ugoa...][[+-=][rwxX]...][,...],其中u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。 +表示增加权限,-表示取消权限,=表示唯一设定权限。 r表示可读取,w表示可写入,x表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 -c:若该档案权限确实已经更改,才显示其更改动作 -f:若该档案权限无法被更改也不要显示错误讯息 -v:显示权限变更的详细资料 -R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) --help:显示辅助说明 --version:显示版本 范例:将档案file1.txt设为所有人皆可读取: chmodugo+rfile1.txt 将档案file1.txt设为所有人皆可读取: chmoda+rfile1.txt 将档案file1.txt与file2.txt设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入: chmodug+w,o-wfile1.txtfile2.txt 将ex1.py设定为只有该档案拥有者可以执行: chmodu+xex1.py 将目前目录下的所有档案与子目录皆设为任何人可读取: chmod-Ra+r* 此外chmod也可以用数字来表示权限如chmod777file 语法为:chmodabcfile 其中a,b,c各为一个数字,分别表示User,Group,及Other的权限。 r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=7。 范例: chmoda=rwxfile 和 chmod777file 效果相同 chmodug=rwx,o=xfile 和 chmod771file 效果相同 若用chmod4755filename可使此程式具有root的权限 指令名称:chown 使用权限:root 使用方式:chmod[-cfhvR][--help][--version]user[:group]file... 说明:Linux/Unix是多人多工作业系统,所有的档案皆有拥有者。利用chown可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。 把计: user:新的档案拥有者的使用者IDgroup:新的档案拥有者的使用者群体(group)-c:若该档案拥有者确实已经更改,才显示其更改动作-f:若该档案拥有者无法被更改也不要显示错误讯息-h:只对于连结(link)进行变更,而非该link真正指向的档案-v:显示拥有者变更的详细资料-R:对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help:显示辅助说明--version:显示版本 范例: 将档案file1.txt的拥有者设为users群体的使用者jessie: chownjessie:usersfile1.txt 将目前目录下的所有档案与子目录的拥有者皆设为users群体的使用者lamport: chmod-Rlamport:users* 名称:cp 使用权限:所有使用者 使用方式: cp[options]sourcedest cp[options]source...directory 说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。 把计: -a尽可能将档案状态,权限等资料都照原状予以复制。 -r若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。 -f若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。 范例: 将档案aaa复制(已存在),并命名为bbb: cpaaabbb 将所有的C语言程式拷贝至Finished子目录中: cp*.cFinished 名称:cut 使用权限:所有使用者 用法:cut-cnum1-num2filename 说明:显示每行从开头算起num1到num2的文字。 范例: shellcatexample test2 thisistest1 shellcut-c0-6example##print开头算起前6个字元 test2 thisi 用法:find 使用说明: 将档案系统内符合expression的档案列出来。你可以指要档案的名称,类别,时间,大小,权限等不同资讯的组合,只有完全相符的才会被列出来。 find根据下列规则判断path和expression,在命令列上第一个-(),!之前的部份为path,之后的是expression。如果path是空字串则使用目前路径,如果expression是空字串则使用-print为预设expression expression中可使用的选项有二三十个之多,在此只介绍最常用的部份。 -mount,-xdev:只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案 -aminn:在过去n分钟内被读取过 -anewerfile:比档案file更晚被读取过的档案 -atimen:在过去n天过读取过的档案 -cminn:在过去n分钟内被修改过 -cnewerfile:比档案file更新的档案 -ctimen:在过去n天过修改过的档案 -empty:空的档案-gidnor-groupname:gid是n或是group名称是name -ipathp,-pathp:路径名称符合p的档案,ipath会忽略大小写 -namename,-inamename:档案名称符合name的档案。iname会忽略大小写 -sizen:档案大小是n单位,b代表512位元组的区块,c表示字元数,k表示kilobytes,w是二个位元组。-typec:档案类型是c的档案。 d:目录 c:字型装置档案 b:区块装置档案 p:具名贮列 f:一般档案 l:符号连结 s:socket -pidn:processid是n的档案 你可以使用()将运算式分隔,并使用下列运算。 exp1-andexp2 !expr -notexpr exp1-orexp2 exp1,exp2 范例: 将目前目录及其子目录下所有延伸档名是c的档案列出来。 #find.-name*.c 将目前目录其其下子目录中所有一般档案列出 #find.-ftypef 将目前目录及其子目录下所有最近20分钟内更新过的档案列出 #find.-ctime-20 名称:less 使用权限:所有使用者 使用方式: less[Option]filename 说明: less的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less允许使用者往回卷动 以浏览已经看过的部份,同时因为less并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如vi)来的快速。 范例: 指令名称:ln 使用权限:所有使用者 使用方式:ln[options]sourcedist,其中option的格式为: [-bdfinsvF][-Sbackup-suffix][-V{numbered,existing,simple}] [--help][--version][--] 说明:Linux/Unix档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种:硬连结(hardlink)与软连结(symboliclink),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。 lnsourcedist是产生一个连结(dist)到source,至于使用硬连结或软链结则由参数决定。 不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。 -f:链结时先将与dist同档名的档案删除-d:允许系统管理者硬链结自己的目录-i:在删除与dist同档名的档案时先进行询问-n:在进行软连结时,将dist视为一般的档案-s:进行软链结(symboliclink)-v:在连结之前显示其档名-b:将在链结时会被覆写或删除的档案进行备份-SSUFFIX:将备份的档案都加上SUFFIX的字尾-VMETHOD:指定备份的方式--help:显示辅助说明--version:显示版本 范例: 将档案yy产生一个symboliclink:zz ln-syyzz 将档案yy产生一个hardlink:zz lnyyxx 名称:locate 使用权限:所有使用者 使用方式:locate[-q][-d][--database=] locate[-r][--regexp=] locate[-qv][-o][--output=] locate[-e][-f][-l][-c] [-U][-u] locate[-Vh][--version][--help] 说明: locate让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。在一般的distribution之中,资料库的建立都被放在contab中自动执行。 一般使用者在使用时只要用 #locateyour_file_name 的型式就可以了。参数: -u -U 建立资料库,-u会由根目录开始,-U则可以指定开