常用选项如下:
-n :显示输出行的编号。
-b :只对非空输出行进行编号。
其它选项及相关详细说明请参见该命令的 man 手册:man cat
■ more 命令
more 命令显示文件内容,每次显示一屏。其语法是:
#more [OPTION]… [FILE]…
可在每个屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比。
如下交互式命令可控制显示结果:
◆按<space>键,显示文本的下一屏内容。
◆按<Enter>键,只显示文本的下一行内容。
◆按斜线符(/),接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
◆按 h 键,显示帮助屏,该屏上有相关的帮助信息。
◆按 b 键,显示上一屏内容。
◆按 q 键,退出 more 命令。
相关其它详细信息请参见相应的 man 手册:man more
相关其它详细信息请参见相应的 man 手册:man less
■ head 命令
其命令语法如下:
#head [OPTION]…[FILE]…
head 命令在屏幕上显示指定文件前多少行和前多少个字节等,这是由-c 或者-n 选项决定的。
相关其它详细信息请参见相应的 man 手册:man head
■tail命令
其命令的语法如下:
#tail [OPTION]…[FILE]…
在屏幕上显示指定文件末尾的若干行或若干字节,这是由-c 或者-n 选项决定的;或者从指定行号开始显示,直至该文件的末尾。
相关其它详细信息请参见相应的 man 手册:man tail
1.3.2 更新文件访问和修改时间
可以利用该命令更新对文件的访问和修改时间,且可以用来创建空文件。其语法如下:
#touch [OPTION]… [FILE]…
不存在的文件名被当作空文件创建。已存在文件的时间标签会更新为当前的时间(默认方式),而数据将原封不动地保留下来。
相关其它详细信息请参见相应的 man 手册:man touch
1.3.3 拷贝文件
使用 cp 命令拷贝文件。可以使用cp命令把一个源文件拷贝到一个目标文件,或者把一系列文件拷贝到一个目标目录中。其语法是:
#cp [OPTION]…SOURSE DEST
如果目标文件是目录文件,那么把源文件拷贝到这个目录中,而文件名保持不变;如果目标文件不是目录文件,那么源文件就拷贝到该目标文件中,后者原有的内容将被破坏,但文件名不变。
常用选项如下:
-r,-R :拷贝目录。
-a :保持源文件的所有属性。
其它选项及相关详细说明请参见该命令的 man 手册:man cp
1.3.4 移动和重命名文件
mv 命令用来移动文件或对文件重命名。该命令的语法为:
#mv [OPTION] SOURSE DEST
下表是源和目标分别为文件或目录时的简单说明:
1.3.5 删除文件
用 rm 命令删除不需要的文件和目录。该命令的语法为:
#rm [OPTION]… FILE…
常用选项如下:
-r 选项:可以删除目录。当一个目录被删除时,所有文件和子目录都将被删除。
其它选项及相关详细说明请参见该命令的 man 手册:man rm
警告:这是个非常危险的命令,需慎用!
1.3.6 文件链接
CGSL 操作系统具有为一个文件起多个名字的功能,称为链接。这样只要对一个文件修改,就可以完成对所有目录下相应链接文件的修改。
ln 命令用来创建链接,常用语法为:
#ln [OPTION]… [-T] TARGET LINK_NAME
#ln [OPTION]…TARGET… DIRECTORY
其中 TARGET 为被链接的目标文件,LINK_NAME 为链接文件名,DIRECTORY 为链接文件被存放的目录。
文件链接有两种形式,即硬链接和符号链接。
■硬链接
默认情况下,ln 命令创建硬链接。
一个文件的硬链接数可以在目录的长列表格式的第二列中看到,无额外链接的文件链接数为 1。ln 命令会增加链接数,rm 命令会减少链接数。一个文件除非链接数为 0,否则不会物理地从文件系统中被删除。
对硬链接有如下限制:不能对目录文件作硬链接,不能在不同的文件系统之间作硬链接。
■符号链接
符号链接也称软链接,是将一个路径名链接到一个文件,事实上,它只是一个文本文件,其中包含它提供链接的另一个文件的路径名。另一个文件是实际包含所有数据的文件。所有读写文件内容的命令,当它们被用于符号链接时,将沿着链接方向前进去访问实际的文件。
如果给 ln 命令加上s选项,则建立符号链接。如下命令创建到 target 文件的符号链接文件 link:
#ln -s target link
符号链接没有硬链接的限制,可以对目录文件作符号链接,也可以在不同文件系统之间作符号链接。
相关详细说明请参见该命令的 man 手册:man ln
#diff [options] from-file to-file
如果两个文件完全一样,则不显示任何输出。如果有区别,就会分段显示两个文件的区别。
相关详细说明请参见该命令的 man 手册:man diff
■比较数据文件
cmp 命令比较任何两个包含正文或数据的普通文件。其一般语法为:
#cmp [-l | -s] file1 file2 [skip1 [skip2]]
由于二进制数据不能显示到屏幕上,cmp 命令只是简单的报告从哪一个字节开始出现不同。
相关详细说明请参见该命令的 man 手册:man cmp
1.3.8 查找文件
■ find 命令
find 命令用来查找文件和目录的位置。该命令的语法为:
#find [-H] [-L] [-P] [path…] [expression]
其中,常用的选项有:
find 命令的最基本的用法就是列出指定目录下的所有文件和子目录:
#find /usr
-name :按文件名查找。
如:下面的命令将查找/usr 目录下名称为 linux 的目录和文件:
#find /usr –name ‘linux’
-size :按文件大小查找。
例如,下面的命令将查找/usr 目录下等于 100k 的文件:
#find /usr -size 100k
-user :按文件主查找。
-type :按文件类型查找。常见的类型有:
b 块特别文件
C 字符特别文件
f 普通文件
l 符号链接文件
d 目录文件
其它选项及相关详细说明请参见该命令的 man 手册:man find
■ locate 命令
locate 是一个使用方便且查询速度极快的文件和目录查找命令。该命令的语法为:
#locate [OPTION]… PATTERN…
使用 locate 命令的前提是要先创建一个用于定位文件或目录位置的 mlocate 数据库,而且该数据库应是时时更新的,这样才可以保证 locate 查找结果的准确性。
updatedb 命令用户创建和更新 mlocate 数据库,需要以 root 用户身份执行此命令。
#updatedb
数据库创建后就可以查找文件了。例如,要查找所有关于 telnet 命令的文件。可以使用:
#locate telnet
locate 命令将在其数据库中检查所有匹配于 telnet 的文件和目录并在屏幕上显示结果。相关详细说明请参见该命令的 man 手册:man locate。
1.3.9 在文件中查找文本
grep 命令用来在文本文件中查找指定模式文本,并在标准输出上显示包括给定文本所有行。grep 命令的语法为:
#grep [options] PATTERN [FILE…]
常用选项如下:
-i 选项:匹配文本时不区分大小写。
-r 选项:在目录及其子目录下的所有文件中查找。
例如,下面的命令将在/etc 目录及其子目录下的所有文件中查找所有包含“hello word”文本的行,且不区分大小写:
#grep -ri ‘hello world’ /etc
其它选项及相关详细说明请参见该命令的 man 手册:man grep