Linux 常用文件操作命令

本文介绍了Linux系统中常见的打包压缩工具,如tar、gzip、zip和unzip的使用方法,包括如何打包、压缩、解压文件。同时,讲解了软件链接中的硬链接和软链接的概念、创建与区别。最后,简述了vi命令行文本编辑器的基本操作和工作模式。
摘要由CSDN通过智能技术生成

目录

1、打包压缩和解压解包

1.1、打包与解包之tar命令

1.2、压缩与解压之gzip命令

1.3、tar与gzip命令合并使用

1.4、zip与unzip命令

2、软件链接与硬链接

 2.1、原理

2.2、硬链接

2.3、软链接

3、vi命令行文本编译器

3.1、vi简介

3.2、vi三种工作模式

1、打包压缩和解压解包

打包压缩常用命令:tar、gzip、zip、unzip

简介:

  • 打包压缩是日常工作中备份文件的一种方式
  • 在不同的操作系统中,常用的打包压缩方式不同:
    • Linux 常用 tar.gz
    • Windows 常用 rar
    • Mac 常用 zip

1.1、打包与解包之tar命令

  • 作用:tar 是Linux中常用的备份工具,使用它可将一系列文件打包到一个文件中,也可以将打包的文件恢复成打包之前的一系列文件。
  • tar 命令格式如下:

# 打包文件

tar -cvf  打包文件.tar  被打包的文件/路径    

# 解包文件

tar -xvf  打包文件.tar

  • tar 常用选项参数说明:

-c:生成档案文件,创建打包文件

-v:列出归档解档的详细过程,显示进度

-f:指定档案文件名称,f后面一定是.tar文件,所以必须放在所有参数最后

-t:列出档案中包含的文件

-x:解开档案文件

注意:

  • 参数f选项必须放在最后,其他选项的顺序可任意放置
  • 不要在目标文件夹内部,执行打包压缩文件操作,应返回上一级目录再执行该操作;否则会操作失败。

1.2、压缩与解压之gzip命令

  • 作用:可完成包的压缩与解压;tar 常与 gzip命令结合使用实现文件的打包、压缩。
    • tar 只负责打包文件,并不进行压缩操作
    • gzip 负责将tar打包后的文件,进行压缩,压缩文件的扩展名一般用 .tar.gz
  • gzip命令格式如下:

gzip [-options]  被压缩文件  (如:gzip -r xxx.tar)

  • gizp常用参数选项说明:

-r:压缩目标文件目录及其所有子目录,即进行递归处理

-d:指定文件解压缩

1.3、tar与gzip命令合并使用

说明:先打包再进行压缩需要执行两次命令过程较为繁琐,现将tar与gzip合并使用,只需要执行一次命令即可完成打包压缩与解压解包操作。

  • 实现:只需在tar命令中增加一个-z参数选项,即可调用gzip实现一个压缩功能,完成一个先打包后压缩的过程;解压解包过程同样如此。
  • 命令格式如下:

# 压缩文件

tar  -zcvf  打包文件.tar.gz  被压缩文件/路径

# 解压文件

tar -zxvf 打包文件.tar.gz

# 解压缩到指定路径

tar -zxcf 打包文件.tar.gz  -C  目标路径

1.4、zip与unzip命令

首先执行安装命令:

# 安装zip命令

yum -y install zip

# 安装unzip命令

yum -y install unzip

  • 说明:通过zip压缩目标文件生成的压缩文件不需要指定扩展名,默认扩展名为zip。
  • 命令格式如下

# 压缩文件

zip  -r 压缩生成文件名  被压缩文件

# 解压缩文件

unzip -d  解压后的目录  被解压文件.tar

  • 参数选项说明:

-r:递归处理,将指定目录下的所有文件和子目录一并处理

-d:指定解压后的目录

注意:

  • 如果zip 处理的目标文件是文件夹,需使用参数 -r 递归处理文件夹内部所有文件
  • 使用unzip解压文件时,如果没有指定解压的目录,默认在当前目录下进行解压操作;如果出现重名文件,会给出提示进行相应的操作,如下所示:

2、软件链接与硬链接

 2.1、原理

        首先要想真正理解软链接与硬链接,必须要知道inode 与 block这两个概念。了解Linux系统是如何通过文件名获取文件信息。

        对于一个文件,从宏观上可分为文件名和文件内容(文件数据)两个部分,在Linux中被分为:用户数据(user data) 和 元数据(metadata) 两部分。

  • 用户数据(block):即文件数据块(data block),真实存放文件内容(文件数据的地址),而文件名就存放在其中;文件名记录在上级目录的 block 中。也就是说,目录的 block 中记录的是这个目录下所有一级子文件和子目录的文件名及 inode 的对应(根目录的 inode 是系统已知的,inode 号是 2)。
  • 元数据(inode):存放文件的附加信息,如:文件大小、创建时间、所属用户/用户组、文件的数据真正保存的 block 编号等信息,所以系统或程序是通过inod号查找到文件真正存储的地址(文件块); inode 号即索引节点号,文件的唯一标识

# 查看文件的inode信息

ls  -i  目标文件

系统/程序通过文件名获取文件内容的过程,如图示:

 软链接与硬链接的作用:

  • 为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。

2.2、硬链接

定义:硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息(data block)。

  • ln命令格式:

 ln [-options] 源文件 目标文件

  • 参数选项说明:

-s:建立软链接文件。如果不加 "-s" 选项,则建立硬链接文件

-f:强制链接。如果目标文件已经存在,则删除目标文件后再建立链接文件

硬链接的特点:

  • 不管是修改源文件,还是修改硬链接文件,另一个文件中的数据都会发生改变。
  • 不论是删除源文件,还是删除硬链接文件,只要还有一个文件存在(即文件链接数大于1包括自身),这个文件都可以被访问。
  • 硬链接不会建立新的 inode 信息,也不会更改 inode 的总数。
  • 硬链接不能跨文件系统(分区)建立,因为在不同的文件系统中,inode 号是重新计算的。
  • 硬链接不能链接目录,这是Linux文件系统设计决定的,因为硬链接目录操作过于复杂,且会造成硬链接环等问题。

硬链接的实际应用:

  • 根据硬链接的特点,限制多,不能跨文件系统,也不能链接目录,所以实际应用较少;如想多个文件实时数据共享可以使用硬链接。

2.3、软链接

定义:软链接类似于 Windows 的快捷方式,它的特点和快捷方式一样,存储的是源文件的绝对路径地址。软链接会建立自己的 inode 索引和 block,所以软链接和源文件的 inode 号是不一致的,而且在软链接的 block 中,写的不是真正的数据,而仅仅是源文件的文件名及 inode 号。

注意:软链接的源文件必须写绝对路径,否则建立的软链接文件就会报错,无法正常使用。

软链接特点:

  • 不管是修改源文件,还是修改软链接文件,另一个文件中的数据都会发生改变。
  • 删除软链接文件,源文件不受影响。而删除源文件,软链接文件将找不到实际的数据,从而显示文件不存在。
  • 软链接会新建自己的 inode 信息和 block,只是在 block 中不存储实际文件数据,而存储的是源文件的文件名及 inode 号。
  • 软链接可以链接目录、跨分区。

软链接的实际应用:

类似于Windows的快捷方式,可用来改变命令的执行,如:在Linux中默认安装的是Python2,执行的路径是/usr/bin/python;此时若是安装了Python3,并且想控制台默认输入python时进入的是Python3,那么可将Python3的执行命令路径,通过软链接命令将/usr/bin/python链接到Python3执行路径;如:

  • 查找python位置

which python

  • 删除软链接

rm /usr/bin/python

  • 查看环境变量

echo $PATH  

  • 生成python3的软链接到环境变量

ln -s /usr/bin/python3.9 /usr/bin/python

3、vi命令行文本编译器

3.1、vi简介

  • vi是一个文本编辑器,只能编辑文本内容,不能对字体、段落进行排版
  • 可完成输出、新增、删除、查找、替换、复制粘贴等操作
  • 不支持鼠标操作,只能进行命令操作

3.2、vi三种工作模式

  • 命令模式
  • 文本输入模式
  • 末行模式

交互示意图:

操作示列:

  • vi ./a.txt :表示为编辑a.txt文件 vi打开查看(默认非编辑模式)文本文件
  • 按 i 进入编辑模式,此时可以移动光标进行文本文件编辑操作
  • 按 esc 退出编辑模式
  • 输入 :wq 保存文件并退出
  • 输入 /abc 回车: 搜索当前文件中包含abc的内容。

非编辑模式下,可以使用快捷键进行操作:

按ctrl+f :向前翻一页

按ctrl+b :向后翻一页

按ctrl+d :向前翻半页

按ctrl+u :向后翻半页

按$ :移动光标到行尾

按^ :移动光标到行首位置

yy :复制光标当前行到缓冲区

p :粘贴复制的内容

dd :删除光标当前行

输入/abc回车 搜索文件中包含abc的内容

输入:wq 保存文件并退出

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值