全国业务电话:
1.3 文件操作命令
1.3 文件操作命令
 
1.3.1 显示文本文件
 
  CGSL 系统中,如下的命令常用以显示文本文件。
 
■ cat 命令
 
  cat 命令把文件串连接后传到标准输出(通常是屏幕)上显示出来。该命令的一般语法是:
 
    #cat [OPTION] [FILE]…  
 
  常用选项如下:

  -n :显示输出行的编号。
 
  -b :只对非空输出行进行编号。
 
  其它选项及相关详细说明请参见该命令的 man 手册:man cat

■ more 命令
 
  more 命令显示文件内容,每次显示一屏。其语法是:
 
    #more [OPTION]… [FILE]…  
 
  可在每个屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比。
 
  如下交互式命令可控制显示结果:
 
  ◆按<space>键,显示文本的下一屏内容。
 
  ◆按<Enter>键,只显示文本的下一行内容。
 
  ◆按斜线符(/),接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
 
  ◆按 h 键,显示帮助屏,该屏上有相关的帮助信息。
 
  ◆按 b 键,显示上一屏内容。
 
  ◆按 q 键,退出 more 命令。
 
  相关其它详细信息请参见相应的 man 手册:man more

■ less 命令
 
  less 命令显示文件内容,其语法是:
 
    #less [OPTION]…[FILE]…  
 
  less 命令用于控制显示结果的交互式命令与 vi 编辑器中的交互式命令一致,详细请参见 vim 实用程序相关章节的介绍。
 
  相关其它详细信息请参见相应的 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
    
1.3.7 文件内容比较
 
■比较文本文件
 
  diff 命令用于比较文本文件,并显示两个文件的不同。其一般格式是:

    #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
 
  
 
  
 
  
  • 操作系统微信公众号

  • CPI微信公众号

© 2004-2020 广东中兴新支点技术有限公司  版权所有  (www.gd-linux.com)  粤ICP备15061780号-2

新支点OS业务:

QQ客服