Linux速通05 文件处理与编辑

使用 cat 命令进行文件的纵向合并

# 例:使用 cat 命令将 baby.age、baby.weight、baby.sex 这三个文件纵向合并为 baby文件
  * cat baby.age baby.weight baby.sex > baby

# 例:使用 cat 命令将 baby.age 文件的内容添加到 baby2文件中
  * cat baby.age >> baby2

# > 是 覆盖,>> 是追加

归档文件和归档技术

# 定义:归档(archiving)就是将许多文件(或目录)打包成一个文件

# 目的:归档的目的是方便备份、还原及文件的传输操作

# tar 命令:将多个文件(也可以包括目录)放在一起存放到一个磁带或磁盘归档文件中,并且将来可以根据需要只还原归档文件中的某些文件。

# 常用选项
  * -c :创建一个新的 tar文件
  * -t  :列出 tar文件中目录的内容
  * -x :从 tar文件中抽取文件
  * -f  :指定归档文件或磁带(也可能是软盘)设备(一般都要选)
  * -v :显示所打包的文件的详细信息
  * -z :使用 gzip压缩算法来压缩打包后的文件
  * -j  :使用 bzip2压缩算法来压缩打包后的文件
  * -a :新增压缩文件到已存在的压缩中
  * -r  :添加文件到已存在的压缩中

使用 tar命令创建、查看及抽取归档文件

# 使用 tar命令创建归档文件
  * 例:将 arch目录打包称为一个名为 arch.tar的归档文件:tar -cvf arch.tar arch

# 使用 tar命令查看归档文件
  * 例:显示 arch.tar文件这个归档文件(包)中的所有文件:tar -tf arch.tar

# 使用 tar命令抽取归档文件
  * 例:恢复 arch.tar中的全部内容:tar -xvf arch.tar -C 路径

文件的压缩和解压

# 定义:压缩就是将一个大的文件通过一些压缩算法变成一个小文件,解压缩就是将一个通过某种压缩算法的文件回复到压缩之前的样子

# 目的:主要是缩小文件的大小,这样会节省存储文件的磁盘或磁带的空间,另外在网络上传输这些小文件也会减少网络的浏览(也就是节省网络的带宽)

# 用法:
  * 例:将文件 file1 压缩成 .gz格式的压缩包:gzip file1  > 路径
  * 例:将文件 file1 解压缩:gunzip file1.gz > 路径

  * 例:将文件 file2 压缩成 .bzip2格式的压缩包:bzip2 file2 > 路径
  * 例:将文件 file2 解压缩:bunzip2 file2.bz2 > 路径

在使用 tar命令的同时进行压缩和解压

# 举例
  * 例:使用 tar命令将 arch目录打包而且同时使用 gzip技术压缩打包后的文件
    * tar -cvfz arch.tar arch
  * 例:使用 tar命令将 arch目录打包而且同时使用 bzip2技术压缩打包后的文件
    * tar -cvfj arch.tar arch

vi编辑器

# 简介:vi 是 Unix 和 Linux 系统内嵌的标准正字(文字)编辑器,是一种交互类型的正文编辑器,可以用来创建和修改正文文件

# 操作模式
  * 命令行模式:vi 的默认模式,在这一模式下,所有的输入被解释成 vi 命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出 vi 的操作等
  * 编辑模式:在编辑模式中,可以往一个文件中输入正文,在这一模式下,输入的每一个字符都被 vi 编辑器解释为输入的正文,按 ESC键返回命令模式
  * 扩展模式:在一些 Unix系统上也叫最后一行模式,在这一模式下,可以使用一些高级编辑命令,如搜寻和替代字符串、存盘或退出 vi 编辑器等。
        要进入该模式,需要在命令行模式输入冒号( : ),冒号这一操作将把光标移动到最后一行

在 vi编辑器中光标的移动

# 移动光标按键与光标移动之间的关系

键组合(命令) 光标的移动  
  $ 光标移动到当前行的结尾
  0 光标移动到当前行的开始
光标移动到整个文件的开始
  ) 光标移动到整个文件的末尾

 

进入插入模式

# 从命令行进入插入模式的命令
  * a:进入插入模式并在光标之后进行添加
  * i :进入插入模式并在光标之前进行插入
  * o:进入插入模式并在当前光标所在行之下开启新的一行

命令行模式下删除和复制操作

# 删除与复制的常用键

键组合(命令) 含义
dd 删除光标所在的那一行
ndd n为数字,删除光标所在的向下n行
例如:20dd 是删除20行
yy 复制光标所在的那一行
nyy

n为数字,复制光标所在的向下n行
例如:20yy 是复制20行

 

粘贴、复原、重做命令

# 粘贴、复原、重做命令

键组合(命令) 含义
p(小写) 将已复制的数据在光标哦下一行粘贴
P(大写) 将已复制的数据在光标上一行粘贴
U(大写) 复原前一个操作
ctrl + r 重做上一次操作

 

扩展模式与文件的存储和退出

# 扩展模式下的常用命令

命令  含义
: w 将文件存入/写入(save/write)磁盘
: q 退出(quit)vi编辑器(并不存盘)
: wq 将文件存入/写入(save/write)磁盘并退出(quit)vi编辑器
set nu 在行前显示行号

快速移动光标在文件中的位置

# 快速移动光标在文件中的位置命令

命令  含义
G 光标移动到这个文件的最后一行
nG n 为数字,光标移动到这个文件的第 n行
例:20G 则会移动到这个文件的第 20行
gg 移动到这个文件的第一行,相当于 1G

快速移动光标在屏幕中的位置

# 快速移动光标在屏幕中的位置命令

命令  含义
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的最中央那一行的第一个字符
L 光标移动到这个屏幕的最下方哪一行的第一个字符
原文地址:https://www.cnblogs.com/zhaochuming/p/13303651.html