1.Diff
该命令的功能为逐行比较两个文本文件,列出其不同之处。它比comm命令完成更复杂的检查。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。
语法:diff [选项] file1 file2
说明:该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用“-
”表示file1或fiie2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。
例如: diff /usr/xu mine
把目录/usr/xu 中名为mine的文件与当前目录中的mine文件进行
差异重定向:
例:diff a.c b.c > d.txt
将a.c和b.c的不同之处显示到d.txt文件当中去.
2. find
查找一个文件:find命令:
例:find / -name hello.c //从根目录开始,以名字查找
语法: find 路径 –name 文件名
3. ln
功能说明:连接文件或目录
该命令的使用语法如下:
硬链接:
ln [参数] 目标 [链接名]
ln [参数] 目标 目录
软连接:
ln [参数] –s目标 [链接名]
ln [参数] –s 目标 目录
参 数:
-b或–backup 删除,覆盖目标文件之前的备份。
-d或-F或–directory 建立目录的硬连接。
-f或–force 强行建立文件或目录的连接,不论文件或目录是否存在。
-i或–interactive 覆盖既有文件之前先询问用户。
-n或–no-dereference 把符号连接的目的目录视为一般文件。
-s或–symbolic 对源文件建立符号连接,而非硬连接。
-S或–suffix=
用”-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的字尾备份字符串是符号”~”,您可通过”-S”参数来改变它。
-v或–verbose 显示指令执行过程。
-V或–version-control=
用”-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用”-S”参数变更,当使用”-V”参数指定不同备份方式时,也会产生不同字尾的备份字符串。
–help 在线帮助。
–version 显示版本信息。
链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic
Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。
ln 命令
用途
链接文件。
语法
将某个文件链接到一个文件上
ln [ -f | -n] [ -s ] SourceFile [ TargetFile ]
将一个或多个文件链接到一个目录上
ln [ -f | -n] [ -s ] SourceFile … TargetDirectory
描述
ln 命令将在 SourceFile 参数中指定的文件链接到在 TargetFile 参数中指定的文件,或将其链接到在
TargetDirectory 参数中指定的另一个目录中的文件。在缺省情况下,ln 命令会创建硬链接。如果需要使用 ln
命令来创建符号链接,请指明 -s 标志。
符号链接是指向文件的一个间接指针;它的目录项中包含了它所链接的文件名。符号链接可能会跨越文件系统,可能指向目录。
如果正在将某个文件链接到新的名字,那么只能列出一个文件。如果链接到一个目录,那么可以列出多个文件。
TargetFile 参数是可选的。如果不指定目标文件,ln 命令会在当前的目录中创建一个新的文件。新的文件继承了指定在
SourceFile 参数中的文件名。请参阅示例 5。
注意:
如果不使用 -s 标志,就不能在文件系统之间链接文件。
如果 TargetDirectory 已经是链接到目录上的一个符号链接,那么 ln 命令将现有的目标视为文件。这意味着,类似于 ln
-fs somepath/lname symdir 的命令不会遵循现有的 symdir 符号链接,作为代替,它会创建一个从
somepath/lname 到 symdir 的新的符号链接。
标志
-f 促使 ln 命令替换掉任何已经存在的目的路径。如果目的路径已经存在,而没有指定 -f 标志,ln
命令不会创建新的链接,而是向标准错误写一条诊断消息并继续链接剩下的 SourceFiles。
-n 指定,如果链接是一个现有的文件,那么不要覆盖文件的内容。 -f 标志重设了这个标志。这是缺省的行为。
-s 促使 ln 命令创建符号链接。符号链接中包含了它所链接的文件的名字。当对链接执行打开操作的时候,会使用到引用文件。对符号链接的
stat 调用会返回链接的目标文件;必须完成lstat 调用来获取链接的信息。可以使用 readlink
调用来读取符号链接的内容。符号链接可能跨越文件系统,指向目录。
注意:当为 -s 标志指定 SourceFile 参数的时候,必须使用绝对路径。如果没有指明绝对路径,那么当 SourceFile 和
TargetFile 参数位于不同的目录中的时候,可能会发生意外的结果。在创建符号链接之前,不需要存在源文件。
退出状态
此命令返回以下的退出值:
0 所有指定的文件都成功链接上了。
>0 出现一次错误。
示例
零、为了创建到一个文件的另一个链接(别名),请输入:
ln -f chap1 intro
这会将 chap1 链接到新的名称, intro。如果 intro 不存在,那么会创建该文件名。如果 intro
已经存在了,那么这个文件会被替换为指向 chap1的一个链接。然后 chap1 和 intro
文件名会指向同一个文件。对其中任何一个的更改都会出现在另一个中。如果一个文件名被 rm
命令删除,那么该文件并没有完全被删除,因为它仍然以其它的名字存在。
一、为了将文件链接为另一个目录中的相同名字,请输入:
ln index manual
这会将 index 链接到新的名称,manual/index。
注意:在示例 1 中的 intro 是一个文件的名称;在示例 2 中的 manual 是一个已经存在的目录。
二、为了将几个文件链接为另一个目录中的名称,请输入:
ln chap2 jim/chap3 /home/manual
这会将 chap2 链接到新的名称 /home/manual/chap2;将 jim/chap3 链接到新的名称
/home/manual/chap3。
三、如果想要在 ln 命令中使用模式匹配字符,请输入:
n manual/* .
这会将 manual 目录中的所有文件链接到当前目录中, . (点),给他们在 manual 目录中同样的名称。
注意: 必须在星号和句点之间输入一个空格。
四、为了创建一个符号链接,输入:
ln -s /tmp/toc toc
这会在当前的目录中创建符号链接 toc。 toc 文件指向 /tmp/toc 文件。如果 /tmp/toc 文件已经存在了,那么
cat toc 命令可以列出其内容。
五、如果想要在不指明 TargetFile 参数的情况下得到相同的结果,请输入:
、ln -s /tmp/toc
4 locate
功能说明:查找文件
用法: locate filename
5. mv
功能说明:移动或更名现有的文件或目录
在Linux系统中,移动文件可使用mv命令。mv命令还可改文件改名,即把源文件以一个新文件名移动到另一个新的目录中去。该命令所使用语法形式有:
mv [-f] [-i] 文件1 文件2
mv [-f] [-i] 目录1 目录2
mv [-f] [-i] 文件列表 目录
6. rm
功能说明:删除文件或目录
rm命令可从文件系统中删除文件及整个目录。rm命令所使用的命令格式如下:
rm [选项] 文件列表
-r 删除文件列表中指定的目录,若不用此标志则不删除目录
-i 指定交互模式。在执行删除前提示确认。任何以Y开始的响应都表示肯定;其他则表示否定。
-f 指定强行删除模式。通常,在删除文件权限可满足时rm提示。本标志强迫删除,不用提示。
语法格式:rm –rf 目录
Rm –f 文件
7 which
功能说明:查找文件。
语 法:which [文件...]
补充说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
8 cat
功能说明:显示文件内容。
语 法:cat [文件]
9 chmod
功能说明:变更文件或目录的权限
chmod [选项] 文件和目录列表
语法:
chmod
[-cfRv][--help][--version][+/-/=][文件或目录...]
或chmod [-cfRv][--help][--version][数字代号][文件或目录...]
或chmod
[-cfRv][--help][--reference=][--version][文件或目录...]
使用方式:
chmod [-cfvR] [--help] [--version] mode file…
在Linux/Unix系统家族里,文件或目录权限的控制分别以读取,写入,执行3种一般权限来区分,另有3种特殊权限可供运用,再搭配拥有者与所属群组管理权限范围。
Linux/Unix的档案存取权限分为三级:档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所存取。
您可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果您对符号连接修改权限,其改变会作用在被连接的原始文件。
权限范围的表示法如下:
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
有关权限代号的部分,列表于下:
r:读取权限,数字代号为”4″。
w:写入权限,数字代号为”2″。
x:执行或切换权限,数字代号为”1″。
-:不具任何权限,数字代号为”0″。
s:特殊?b>功能说明:变更文件或目录的权限。
-rw——- (600) –只有属主有读写权限。
-rw-r–r– (644) –只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx—— (700) –只有属主有读、写、执行权限。
-rwxr-xr-x (755) –属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx–x–x (711) –属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) –所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) –所有用户都有读、写、执行权限。更不可取的做法。
以下是对目录的两个普通设定:
drwx—— (700) -只有属主可在目录中读、写。
drwxr-xr-x (755) -所有用户可读该目录,但只有属主才能改变目录中的内容
suid的代表数字是4,比如4755的结果是-rwsr-xr-x
sgid的代表数字是2,比如6755的结果是-rwsr-sr-x
sticky位代表数字是1,比如7755的结果是-rwsr-sr-t
参数:
-c或–changes 效果类似”-v”参数,但仅回报更改的部分。
-f或–quiet或–silent 不显示错误信息。
-R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或–verbose 显示指令执行过程。
–help 在线帮助。
–reference= 把指定文件或目录的权限全部设成和参考文件或目录的权限相同
–version 显示版本信息。
+ 开启权限范围的文件或目录的该项权限设置。
- 关闭权限范围的文件或目录的该项权限设置。
= 指定权限范围的文件或目录的该项权限设置。
+表示增加权限、-表示取消权限、=表示唯一设定权限。
r表示可读取,w表示可写入,x表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c :若该档案权限确实已经更改,才显示其更改动作
-f :若该档案权限无法被更改也不要显示错误讯息
-v :显示权限变更的详细资料
-R :对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help :显示辅助说明
–version :显示版本
范例1:
将档案file1.txt设为所有人皆可读取:
chmod ugo+r file1.txt
将档案file1.txt设为所有人皆可读取:
chmod a+r file1.txt
将档案file1.txt与file2.txt设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:
chmod ug+w,o-w file1.txt file2.txt
将ex1.py设定为只有该档案拥有者可以执行:
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取:
chmod -R a+r *
此外chmod也可以用数字来表示权限如chmod 777 file
语法为:chmod abc file
其中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=5。
范例2:
chmod a=rwx file和chmod 777 file效果相同
chmod ug=rwx,o=x file和chmod 771 file效果相同
若用chmod 4755 filename可使此程式具有root的权限
10 cp
功能说明:复制文件或目录
Linux下的cp命令用于复制文件或目录,该命令是最重要的文件操作命令,其命令格式如下:
cp [选项] 源文件 目标文件
cp [选项] 源文件组 目标目录
-a 在备份中保持尽可能多的源文件结构和属。
-b 作将要覆盖或删除文件的备份。
-f 删除已存在的目标文件。
-i 提示是否覆盖已存在的目标文件。
-p 保持原先文件的所有者,组权限和时间标志
-r 递归拷贝目录,把所有非目录文件当普通文件拷贝。
-R 递归拷贝目录。