Linux学习之旅(二)——文件管理

本文深入探讨Linux下的文件管理,包括硬链接与符号链接的区别,以及如何利用tar和gzip进行高效归档与压缩。同时,介绍了查看文件内容的各种实用命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件管理

ln (link 链接)

在 Linux 中,链接有两种:符号链接(symbolic link)和硬链接(hard link)。

  • 在 Linux 中,一个文件本身的数据总是放在在一个块(block)或者块的集合中。文件的信息(包括文件类型、读写权限、文件所有者、文件组、文件大小、文件链接数目,文件时间戳等)放在在一个 inode 中,一个文件只对应一个inode,而且这个 inode 在本文件系统内是惟一的。
  • 在 Linux 中,一个目录文件总是包含一个目录条目清单,所有此目录中的文件或者子目录都体现为这个目录条目清单中的一个目录条目,目录条目包含这个个文件名或目录名,以及指向该文件或目录的 inode 的指针
  • 文件的硬链接就可以理解为文件的一个别名,而符号链接则可以视为文件的一个快捷方式。
  • 字段2指的就是连接数:表示有几个名字连接该文件
    类似于python的数据保存方法,每个变量名指向一个数据,可以有多个变量名指向同一个数据,当连接数为0时销毁数据
    1
    语法:默认为创建硬链接
    1
    注意:不能给文件创建硬链接,否则会出现递归错误!!!

归档与压缩文件

tar <操作> [选项] 归档名文件列表

将一系列文档合并在一个文件当中

  • 操作:
    -c 创建一个新的归档文件
    -r 向归档文件末尾追加文件
    -u 更新归档文件
    -x 从归档文件中解出文件
    -t 列出归档文件中的文件
    –delete 从归档文件中删除一个文件
    -A 合并两个规档文件
  • 选项:
    -c 指定一个解档目录
    -f 指定一个归档文件/设备进行操作
    -z 调用gzip来压缩/解压缩文件
  • 注意
    归档文件的“.tar”后缀名不是必须的,但是一般我们都会加上这个后缀,以告诉用户这个文件是一个归档文件
    -f选项后必须紧跟归档文件名
    tar不会压缩文件,其最终文件比单个文件数据量总和还要大

gzip [选项] 压缩(解压缩)的文件名

  • 选项:
    -c 将输出写到标准输出上,并保留原有文件。
    -d 将压缩文件解压。
    -r 递归式压缩/解压缩指定目录中的所有文件。
    -num 用指定的数字num调整压缩的速度和压缩比。
    -v 对每一个压缩和解压的文件显示文件名和压缩比.
    -t 测试,检查压缩文件是否完整。
    压缩比默认为6,共分为1-9九档,数字越大,压缩比越大,最后的文件越小,压缩时间也相对越长。
  • 注意:
    gzip 在压缩文件过程中,会自动为文件添加一个“.gz”的后缀名,并且将原文件删除。
    如果要保留原文件,就必须使用-c 选项和Shell的输出重定向机制。

通常使用 tar -czf来打包并压缩文件,后缀名为 .tar.gz,使用 tar -xzf来解压文件

查看文件

cat:连接显示文件内容

语法:cat [选项]… [文件]…

  • 选项
    -b对非空输出行编号
    -E在每行的未尾添加$符号,便于确认每一行,因为有些行内容太长了,在显示时会在显示器上以多行表示。
    -n对输出的所有行编号
    -s将相连的多个空行用一个空行来代替
    -T将Tab字符显示为^I

如果没有指定文件,或者文件为"-",则从标准输入读取,并在标准输出中回显。
其还能将多个文件内容合并在一起,进行重定向输出

less、more:对文件或其它输出进行分页显示

一般都用less,就不介绍more了
语法:less [选项]… [文件]…

  • 选项
    -n对输出的所有行编号
    -M 输出打开的文件名,当前显示的行数,总行数和光标当前所处文档位置
    -s将相连的多个空行用一个空行来代替
    -S 截断过长的行而不换行显示
  • 在less中,可以使用如下命令来控制文本的查看:
    导航命令回车键,e向下移动一行 y,k向上移动一行空格键
    f向下滚动一屏b向上滚动一屏
    d向下滚动半屏 u向上滚动半屏
    g 跳到第一行 G跳到最后一行
    n%跳到n%。如50%,表示从整个文档的50%处开始显示
    搜索命令/ 例如/ftpuser,表示从光标处向下文件中搜索单词ftpuser
    ?pattern从光标处向上搜索与pattern匹配的字符串
    n跳到下一个匹配的文本 N跳到上一个匹配的文本
    其他命令,r刷新屏幕 q退出
    :e [文件]打开一个新文件
    :n如打开多个文件,则跳转到打开的下一个文件
    :p如打开多个文件,则跳转到打开的上一个文件
    :d如打开多个文件,则关闭当前查看的文件

head:将每个指定文件的头10 行(默认)显示到标准输出。

语法:head [选项]… [文件]…
-选项:
-c K 显示每个文件的前K 字节内容;如果附加"-"参数,则除了每个文件的最后K字节数据外显示剩余全部内容
-n K 显示文件的前K 行内容。

tail:将每个指定文件的后10 行(默认)显示到标准输出。

语法:tail[选项]… [文件]…
-选项:
-c K 显示每个文件的最后K 字节内容;如果附加"-"参数,则除了每个文件的最后K字节数据外显示剩余全部内容
-n K 显示文件的最后K 行内容。

find(查找文件)

语法:find <path> <-option> [-print | -ls] [-exec|-ok {} \;]
在<path>指定的目录结构中搜索文件,并执行指定的操作。
根据单一条件或者复合条件查找相应的文件
12
注意
1
2
3

通配符

正则表达式有些相似,但也有不同
需要匹配特殊符号时,记得加上转义字符 \
1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值