标题:[公告]来者必看Linux指令大全(转发)
取消只看楼主
zhai2651173
Rank: 1
等 级:新手上路
帖 子:303
专家分:0
注 册:2005-11-5
 问题点数:0 回复次数:1 
[公告]来者必看Linux指令大全(转发)
Linux指令大全
名称:cat
使用权限:所有使用者
使用方式:cat[-AbeEnstTuv][--help][--version]fileName
说明:把档案串连接后传到基本输出(萤幕或加>fileName到另一个档案)
参数:
-n或--number由1开始对所有输出的行数编号
-b或--number-nonblank和-n相似,只不过对于空白行不编号
-s或--squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行
-v或--show-nonprinting

范例:
cat-ntextfile1>textfile2把textfile1的档案内容加上行号后输入textfile2这个档案里
cat-btextfile1textfile2>>textfile3把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的文字。

范例:

shell>>catexample
test2
thisistest1
shell>>cut-c0-6example##print开头算起前6个字元
test2
thisi


名称:find
用法: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]
locate[-Vh][--version][--help]
说明:
locate让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。

在一般的distribution之中,资料库的建立都被放在contab中自动执行。一般使用者在使用时只要用

#locateyour_file_name

的型式就可以了。参数:
-u
-U

建立资料库,-u会由根目录开始,-U则可以指定开始的位置。

-e


排除在寻找的范围之外。

-l
如果是1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为locate必须至实际的档案系统中取得档案的权限资料。

-f
将特定的档案系统排除在外,例如我们没有到理要把proc档案系统中的档案放在资料库中。

-q
安静模式,不会显示任何错误讯息。

-n
至多显示个输出。

-r
使用正规运算式做寻找的条件。

-o
指定资料库存的名称。

-d

指定资料库的路径

-h
显示辅助讯息

-v
显示更多的讯息

-V
显示程式的版本讯息范例:

locatechdrv:寻找所有叫chdrv的档案
locate-n100a.out:寻找所有叫a.out的档案,但最多只显示100个
locate-u:建立资料库


名称:ls
使用权限:所有使用者

使用方式:ls[-alrtAFR][name...]

说明:显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。


-a显示所有档案及目录(ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r将档案以相反次序显示(原定依英文字母次序)
-t将档案依建立时间之先后次序列出
-A同-a,但不列出"."(目前目录)及".."(父目录)
-F在列出的档案名称后加一符号;例如可执行档则加"*",目录则加"/"
-R若目录下有档案,则以下之档案亦皆依序列出

范例:
列出目前工作目录下所有名称是s开头的档案,愈新的排愈后面:
ls-ltrs*

将/bin目录以下所有目录及档案详细资料列出:
ls-lR/bin

列出目前工作目录下所有档案及目录;目录于名称后加"/",可执行档于名称后加"*":
ls-AF

名称:more
使用权限:所有使用者
使用方式:more[-dlfpcsu][-num][+/pattern][+linenum][fileNames..]
说明:类似cat,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能(与vi相似),使用中的说明文件,请按h。
参数:-num一次显示的行数
-d提示使用者,在画面下方显示[Pressspacetocontinue,qtoquit.],如果使用者按错键,则会显示[Presshforinstructions.]而不是哔声
-l取消遇见特殊字元^L(送纸字元)时会暂停的功能
-f计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c跟-p相似,不同的是先显示内容再清除其他旧资料
-s当遇到有连续两行以上的空白行,就代换为一行的空白行
-u不显示下引号(根据环境变数TERM指定的terminal而有所不同)
+/在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num从第num行开始显示
fileNames欲显示内容的档案,可为复数个数
范例:
more-stestfile逐页显示testfile之档案内容,如有连续两行以上空白行则以一行空白行显示。
more+20testfile从第20行开始显示testfile之档案内容。


名称:mv
使用权限:所有使用者

使用方式:

mv[options]sourcedest
mv[options]source...directory
说明:将一个档案移至另一档案,或将数个档案移至另一目录。
参数:-i若目的地已有同名档案,则先询问是否覆盖旧档。

范例:

将档案aaa更名为bbb:
mvaaabbb

将所有的C语言程式移至Finished子目录中:
mv-i*.c



名称:rm
使用权限:所有使用者

使用方式:rm[options]name...

说明:删除档案及目录。

把计?

-i删除前逐一询问确认。
-f即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r将目录及以下之档案亦逐一删除。
范例:
删除所有C语言程式档;删除前逐一询问确认:
rm-i*.c

将Finished子目录及子目录中所有档案删除:
rm-rFinished



名称:rmdir
使用权限:于目前目录有适当权限的所有使用者

使用方式:rmdir[-p]dirName

说明:删除空的目录。

参数:-p是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

范例:

将工作目录下,名为AAA的子目录删除:
rmdirAAA

在工作目录下的BBB目录中,删除名为Test的子目录。若Test删除后,BBB目录成为空目录,则BBB亦予删除。
rmdir-pBBB/Test



名称:split
使用权限:所有使用者

使用方式:split[OPTION][INPUT[PREFIX]]

说明:

将一个档案分割成数个。而从INPUT分割输出成固定大小的档案,其档名依序为PREFIXaa,PREFIXab...;PREFIX预设值为`x。若没有INPUT档或为`-,则从标准输入读进资料。

匡兜?

-b,--bytes=SIZE

SIZE值为每一输出档案的大小,单位为byte。
-C,--line-bytes=SIZE

每一输出档中,单行的最大byte数。
-l,--lines=NUMBER

NUMBER值为每一输出档的列数大小。
-NUMBER

与-lNUMBER相同。
--verbose

于每个输出档被开启前,列印出侦错资讯到标准错误输出。
--help

显示辅助资讯然后离开。
--version

列出版本资讯然后离开。
SIZE可加入单位:b代表512,k代表1K,m代表1Meg。

范例:

PostgresSQL大型资料库备份与回存:

因Postgres允许表格大过你系统档案的最大容量,所以要将表格dump到单一的档案可能会有问题,使用split进行档案分割。


%pg_dumpdbname|split-b1m-filename.dump.



重新载入


%createdbdbname
%catfilename.dump.*|pgsqldbname



名称:touch
使用权限:所有使用者

使用方式:
touch[-acfm]
[-rreference-file][--file=reference-file]
[-tMMDDhhmm[[CC]YY][.ss]]
[-dtime][--date=time][--time={atime,access,use,mtime,modify}]
[--no-create][--help][--version]
file1[file2...]


说明:
touch指令改变档案的时间记录。ls-l可以显示档案的时间记录。


参数:
a改变档案的读取时间记录。
m改变档案的修改时间记录。
c假如目的档案不存在,不会建立新的档案。与--no-create的效果一样。
f不使用,是为了与其他unix系统的相容性而保留。
r使用参考档的时间记录,与--file的效果一样。
d设定时间与日期,可以使用各种不同的格式。
t设定档案的时间记录,格式与date指令相同。
--no-create不会建立新档案。
--help列出指令格式。
--version列出版本讯息。


范例:


最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。

touchfile
touchfile1file2

将file的时间记录改为5月6日18点3分,公元两千年。时间的格式可以参考date指令,至少需输入MMDDHHmm,就是月日时与分。

touch-c-t05061803file
touch-c-t050618032000file

将file的时间记录改变成与referencefile一样。

touch-rreferencefilefile

将file的时间记录改成5月6日18点3分,公元两千年。时间可以使用am,pm或是24小时的格式,日期可以使用其他格式如6May2000。

touch-d"6:03pm"file
touch-d"05/06/2000"file
touch-d"6:03pm05/06/2000"file
搜索更多相关主题的帖子: Linux 来者 指令 大全 
2005-11-27 11:28
zhai2651173
Rank: 1
等 级:新手上路
帖 子:303
专家分:0
注 册:2005-11-5
得分:0 
Linux指令大全(1)




catcd
chmodchown
cpcut

名称:cat
使用权限:所有使用者
使用方式:cat[-AbeEnstTuv][--help][--version]fileName
说明:把档案串连接后传到基本输出(萤幕或加>fileName到另一个档案)
参数:
-n或--number由1开始对所有输出的行数编号
-b或--number-nonblank和-n相似,只不过对于空白行不编号
-s或--squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行
-v或--show-nonprinting

范例:
cat-ntextfile1>textfile2把textfile1的档案内容加上行号后输入textfile2这个档案里
cat-btextfile1textfile2>>textfile3把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的文字。

范例:

shell>>catexample
test2
thisistest1
shell>>cut-c0-6example##print开头算起前6个字元
test2
thisi


名称:find
用法: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]
locate[-Vh][--version][--help]
说明:
locate让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。

在一般的distribution之中,资料库的建立都被放在contab中自动执行。一般使用者在使用时只要用

#locateyour_file_name

的型式就可以了。参数:
-u
-U

建立资料库,-u会由根目录开始,-U则可以指定开始的位置。

-e


排除在寻找的范围之外。

-l
如果是1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为locate必须至实际的档案系统中取得档案的权限资料。

-f
将特定的档案系统排除在外,例如我们没有到理要把proc档案系统中的档案放在资料库中。

-q
安静模式,不会显示任何错误讯息。

-n
至多显示个输出。

-r
使用正规运算式做寻找的条件。

-o
指定资料库存的名称。

-d

指定资料库的路径

-h
显示辅助讯息

-v
显示更多的讯息

-V
显示程式的版本讯息范例:

locatechdrv:寻找所有叫chdrv的档案
locate-n100a.out:寻找所有叫a.out的档案,但最多只显示100个
locate-u:建立资料库


名称:ls
使用权限:所有使用者

使用方式:ls[-alrtAFR][name...]

说明:显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。


-a显示所有档案及目录(ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r将档案以相反次序显示(原定依英文字母次序)
-t将档案依建立时间之先后次序列出
-A同-a,但不列出"."(目前目录)及".."(父目录)
-F在列出的档案名称后加一符号;例如可执行档则加"*",目录则加"/"
-R若目录下有档案,则以下之档案亦皆依序列出

范例:
列出目前工作目录下所有名称是s开头的档案,愈新的排愈后面:
ls-ltrs*

将/bin目录以下所有目录及档案详细资料列出:
ls-lR/bin

列出目前工作目录下所有档案及目录;目录于名称后加"/",可执行档于名称后加"*":
ls-AF

名称:more
使用权限:所有使用者
使用方式:more[-dlfpcsu][-num][+/pattern][+linenum][fileNames..]
说明:类似cat,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能(与vi相似),使用中的说明文件,请按h。
参数:-num一次显示的行数
-d提示使用者,在画面下方显示[Pressspacetocontinue,qtoquit.],如果使用者按错键,则会显示[Presshforinstructions.]而不是哔声
-l取消遇见特殊字元^L(送纸字元)时会暂停的功能
-f计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c跟-p相似,不同的是先显示内容再清除其他旧资料
-s当遇到有连续两行以上的空白行,就代换为一行的空白行
-u不显示下引号(根据环境变数TERM指定的terminal而有所不同)
+/在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num从第num行开始显示
fileNames欲显示内容的档案,可为复数个数
范例:
more-stestfile逐页显示testfile之档案内容,如有连续两行以上空白行则以一行空白行显示。
more+20testfile从第20行开始显示testfile之档案内容。


名称:mv
使用权限:所有使用者

使用方式:

mv[options]sourcedest
mv[options]source...directory
说明:将一个档案移至另一档案,或将数个档案移至另一目录。
参数:-i若目的地已有同名档案,则先询问是否覆盖旧档。

范例:

将档案aaa更名为bbb:
mvaaabbb

将所有的C语言程式移至Finished子目录中:
mv-i*.c



名称:rm
使用权限:所有使用者

使用方式:rm[options]name...

说明:删除档案及目录。

把计?

-i删除前逐一询问确认。
-f即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r将目录及以下之档案亦逐一删除。
范例:
删除所有C语言程式档;删除前逐一询问确认:
rm-i*.c

将Finished子目录及子目录中所有档案删除:
rm-rFinished



名称:rmdir
使用权限:于目前目录有适当权限的所有使用者

使用方式:rmdir[-p]dirName

说明:删除空的目录。

参数:-p是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

范例:

将工作目录下,名为AAA的子目录删除:
rmdirAAA

在工作目录下的BBB目录中,删除名为Test的子目录。若Test删除后,BBB目录成为空目录,则BBB亦予删除。
rmdir-pBBB/Test



名称:split
使用权限:所有使用者

使用方式:split[OPTION][INPUT[PREFIX]]

说明:

将一个档案分割成数个。而从INPUT分割输出成固定大小的档案,其档名依序为PREFIXaa,PREFIXab...;PREFIX预设值为`x。若没有INPUT档或为`-,则从标准输入读进资料。

匡兜?

-b,--bytes=SIZE

SIZE值为每一输出档案的大小,单位为byte。
-C,--line-bytes=SIZE

每一输出档中,单行的最大byte数。
-l,--lines=NUMBER

NUMBER值为每一输出档的列数大小。
-NUMBER

与-lNUMBER相同。
--verbose

于每个输出档被开启前,列印出侦错资讯到标准错误输出。
--help

显示辅助资讯然后离开。
--version

列出版本资讯然后离开。
SIZE可加入单位:b代表512,k代表1K,m代表1Meg。

范例:

PostgresSQL大型资料库备份与回存:

因Postgres允许表格大过你系统档案的最大容量,所以要将表格dump到单一的档案可能会有问题,使用split进行档案分割。


%pg_dumpdbname|split-b1m-filename.dump.



重新载入


%createdbdbname
%catfilename.dump.*|pgsqldbname



名称:touch
使用权限:所有使用者

使用方式:
touch[-acfm]
[-rreference-file][--file=reference-file]
[-tMMDDhhmm[[CC]YY][.ss]]
[-dtime][--date=time][--time={atime,access,use,mtime,modify}]
[--no-create][--help][--version]
file1[file2...]


说明:
touch指令改变档案的时间记录。ls-l可以显示档案的时间记录。


参数:
a改变档案的读取时间记录。
m改变档案的修改时间记录。
c假如目的档案不存在,不会建立新的档案。与--no-create的效果一样。
f不使用,是为了与其他unix系统的相容性而保留。
r使用参考档的时间记录,与--file的效果一样。
d设定时间与日期,可以使用各种不同的格式。
t设定档案的时间记录,格式与date指令相同。
--no-create不会建立新档案。
--help列出指令格式。
--version列出版本讯息。


范例:


最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。

touchfile
touchfile1file2

将file的时间记录改为5月6日18点3分,公元两千年。时间的格式可以参考date指令,至少需输入MMDDHHmm,就是月日时与分。

touch-c-t05061803file
touch-c-t050618032000file

将file的时间记录改变成与referencefile一样。

touch-rreferencefilefile

将file的时间记录改成5月6日18点3分,公元两千年。时间可以使用am,pm或是24小时的格式,日期可以使用其他格式如6May2000。

touch-d"6:03pm"file
touch-d"05/06/2000"file
touch-d"6:03pm05/06/2000"file"
高效的学习 = 丰富的资料 + 积极的提问
阅读本文后,如有任何疑问和见解请直接在此提出,共同探讨

日本小子有种和我单挑...................坯试日本
2005-11-27 11:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-35339-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065611 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved