Linux文件及目录操作

来源:互联网 发布:无人机航线规划软件 编辑:程序博客网 时间:2024/06/06 01:24

一、目录处理命令

显示目录内容的命令是ls,显示当前目录的命令是pwd,更改当前目录的命令是cd。通过这些命令就可以切换到各个不同的目录。
注:在Linux中,所有的东西(包括设备,文件,目录,SOCKET接口等等)都以文件形式出现,目录只是一个特殊的文件,所以ls也可以用于显示文件内容。
新建目录:mkdir [dirname]
将文件拷贝到某个目录:cp [filename] [dirname]
ls命令举例:

  • 列出当前目录下的所有文件的具体信息:ls -al

二、文件查看处理命令

常用的命令如下:

  • ll [filename]:显示文件的大小,权限和属主。
  • cp [filename1] [filename2] :拷贝 [filename1] 到[filename2]
  • mv [filename1] [filename2] :把[filename1]改名为[filename2]
  • rm -f [filename] 删除文件,且没有任何提示
  • rm -rf [filename] 删除文件夹以及文件夹中的所有文件
  • chown [options] [filename]:修改文件的属主
  • chmod [username] [filename]:修改文件权限
  • cat [filename]:显示文件内容
  • more [filename]:以百分比的形式分页显示文件内容
  • less [filename]:以上翻下翻的形式分页显示文件内容
  • stat [filename]:显示文件的节点信息
  • rm [filename]:删除目录或者文件
  • head[-n number] [filename]:显示文件的头number行
  • tail[-n number] [filename]:显示文件的结尾number行

CAT命令
cat命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

cat主要有三大功能:

  1. 一次显示整个文件:cat [filename]
  2. 从键盘创建一个文件:cat [filename] 只能创建新文件,不能编辑已有文件
    注:新建一个文本文件可以使用的命令为:cat、touch、vi、ls
  3. 将几个文件合并为一个文件:cat [file1] [file2] [file]
    案例:
    (1)把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里:cat -n log2012.log log2013.log
    (2)把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到log.log里:cat -b log2012.log log2013.log log.log

more、less命令
这两个命令都用于分页显示档案内容,区别如下:

  1. more以百分比的形式分页显示,提示给用户已经显示了多少内容,less没有百分比的提示
  2. less更加灵活,可用通过【page down】【page up】上翻下翻页查看已经显示出的内容,而more不具备
  3. 对less显示出的内容中可以使用【/字符】输入需要查找的字符或者字符串并高亮显示,而more 不具备

注:如果要在显示时要输出行号,加上-n,跟cat -n的功能类似,也是全盘输出。

head、tail命令
head [-n number] [filename]
head 用于显示出一个文件的前几行,若不加参数就默认输出前面十行内容,也可以自定义输出的行数。

参数说明:

  • [-n number]:显示 number 行
  • [-c 字节数]:显示字节数

示例:

  • head -c 20 log2014.log
  • head -n -6 log2014.log

tail [-n number] [filename]
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
参数说明:

  • -f 循环读取
  • [-n number]:显示 number 行
    示例:
  • tail -n 5 log2014.log
  • tail -f test.log
  • tail -n +5 log2014.log

多命令混合使用

  • head,tail 的混合使用
    如果我想显示从第几行到第几行的内容咋办呢?
    命令:# head -n 30 [filename] | tail -n 10
    使用管道命令输出了从倒数11行到30行之间的内容
  • more、grep的混合使用
    more /var/log/messages | grep error
    获取日志中有error的内容

三、文件编辑命令——vi

vi是Unix世界里极为普遍的文书编辑器。在系统维护过程中,需要经常使用编辑软件修改文本文件,熟悉vi能够带来很大的方便。

vi有两种工作模式——输入模式和命令模式。用户可以通过Esc键在这两种模式之间进行切换。输入模式是用来输入文字资料的,而命令模式则是用来下达一些编排文件、存档、以及离开 vi 等等的操作指令。当执行vi后,会先进入命令模式,此时输入的任何字符都被视为命令。

要进入vi可以直接在系统提示符下键入 vi [filename] , vi就可以自动载入所要编辑的文件或是打开一个新的文件。
为了进入输入状态可以使用下表的命令添加文本:

  • a:从游标所在位置后面添加新文本
  • A:从当前行的末尾添加文本
  • i:从游标所在位置前添加新文本
  • I:从当前行的行首插入新文本
  • o:在当前行的下面打开一行以添加文本
  • O:在当前行的上面打开一行以添加文本

配合键盘上的功能键,如:方向键、Insert 、Delete等等,就可以利用 vi 来处理文字资料了。

对文件进行更正与修改就可能要删除文本。使用vi,用户可以删除一个字符、一个字几个字或一整行。
使用下面的命令可是删除文本:

  • X :删除游标所在字符
  • dd:删除游标所在的一行
  • r:修改游标所在字符,r后接着要修正的字符
  • R:进入取代状态,新增文本会覆盖原先文本,直到按[ESC]回到命令模式下为止
  • s:删除游标所在字符,并进入输入模式
  • S:删除游标所在的行,并进入输入模式

在编辑完文件之后,用户可以有几种退出vi的方法。要退出vi编辑环境,必须在命令模式中。要改变到命令模式,按Esc键。下表列出 可用于退出vi的命令。
退出vi的方法:

  • :q:对缓冲区没有做任何修改后退出,或在缓冲区被改变并保存到文本中之后退出
  • :q!:退出,并且放弃自缓冲区最后一次保存到文件以后的所有对缓冲区的改变
  • :wq、:x或ZZ:把缓冲区写入工作文件,然后退出

搜索及替换命令

  • /pattern:从光标开始处向文件尾搜索pattern
  • ?pattern:从光标开始处向文件首搜索pattern
  • n:在同一方向重复上一次搜索命令
  • N:在反方向上重复上一次搜索命令
  • :s/p1/p2/g:将当前行中所有p1均用p2替代
  • :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
  • :g/p1/s//p2/g:将文件中所有p1均用p2替换
0 0