LabHub
学习 学习路径 课程

LFCS — Linux 基金会认证系统管理员

文件操作与 find 表达式

在 LabHub 中继续学习

目标

Shell什么时候会扩展什么,find用手确认为什么是表达式语言。从链接、存档、补丁到LFCS必备命令区域都绕了一圈。

为什么重要

这个领域占用考试时间的大部分。问题本身并不难,-perm 644-perm -644像这样由于一个字母的差错而结果不同的语法很多,所以很安静地错了。如果理解链接和inode的话,“删除了但容量没有减少”这样的运营事故开始看起来是理所当然的结果。压缩格式选择也不是个人喜好,而是权衡的产物——xz会更小,但会花费更多的CPU和时间。所以备份周期和恢复时间要求决定了格式。

阶段

  1. /root/lfcs-ess/在下面srcarchivereportpatch请创建您的目录。
  2. /root/lfcs-ess/src/data-01.txt从开始data-06.txt请制作六个文件。data-01~data-03每个银子都超过200000字节,data-04~data-06每个字母必须在1字节以上1000字节以下。
  3. data-01.txt的硬链接src/data-01.hard和符号链接src/data-01.sym请制作。还有report/inode.txtinode=<data-01.txt 의 inode 번호>links=<링크 수>请写两行。
  4. src/就在下面名字.txt以结束时,只有超过100k大小的普通文件的名称report/big.txt请逐行写一句话。
  5. data-05.txtdata-06.txt将权限改为600,src/在下面,将权限准确为600的普通文件的名称report/perm600.txt请写在上面。
  6. data-06.txt将修改时间改为比30天更早的时间,src/就在下面-mtime +30被挂起的文件的名字report/old.txt请写在上面。
  7. src/把目录archive/src.tar.gzarchive/src.tar.xz制作成两个档案,report/compress.txtgzip=<바이트 크기>xz=<바이트 크기>smaller=<gzip 또는 xz>请写三行。
  8. patch/conf-old.txtlisten=8080workers=2loglevel=infotimeout=30四排,patch/conf-new.txtlisten=9090workers=4loglevel=infotimeout=30请做四行。将两个文件的差异整合成统一格式。patch/conf.patch保存到后,conf-old.txt副本patch/conf-target.txt在那个上应用那个补丁conf-new.txt请让它变得像这样。

参考

创建四个工作目录

/root/lfcs-ess/在下面srcarchivereportpatch请创建您的目录。

即使没有上级路径,也有一次性创建的选项。可以将四个目录列出在一行。

准备六个大小不同的文件

/root/lfcs-ess/src/data-01.txt从开始data-06.txt请制作六个文件。data-01~data-03每个银子都超过200000字节,data-04~data-06每个字母必须在1字节以上1000字节以下。

要提取规定的字节数,只需在输入设备上切割前部分即可。三个大文件必须超过200000字节,三个小文件必须少于1000字节。

硬链接·符号链接和inode

data-01.txt的硬链接src/data-01.hard和符号链接src/data-01.sym请制作。还有report/inode.txtinode=<data-01.txt 의 inode 번호>links=<링크 수>请写两行。

硬链接是在同一个inode上再加一个名字,所以链接数会增加。inode编号和链接数可以通过stat的格式输出一次性读取。

按尺寸条件搜索

src/就在下面名字.txt以结束时,只有超过100k大小的普通文件的名称report/big.txt请逐行写一句话。

find的大小条件根据后缀不同而改变单位。要仅根据文件名提取结果,请指定输出格式。还限制深度,不进入子目录。

按权限条件搜索

data-05.txtdata-06.txt将权限改为600,src/在下面,将权限准确为600的普通文件的名称report/perm600.txt请写在上面。

权限条件是“完全匹配”和“包含这个位”是不同的语法。这次要写完全匹配的那一边才能得到正确的结果。

按修改时间条件搜索

data-06.txt将修改时间改为比30天更早的时间,src/就在下面-mtime +30被挂起的文件的名字report/old.txt请写在上面。

文件的视觉可以直接在touch上指定和更改视觉。-mtime的加号表示“比那个更旧”。

gzip和xz压缩率比较

src/把目录archive/src.tar.gzarchive/src.tar.xz制作成两个档案,report/compress.txtgzip=<바이트 크기>xz=<바이트 크기>smaller=<gzip 또는 xz>请写三行。

tar 选择压缩器的选项字符。制作后,读取每个文件夹的字节大小,直接比较并写下哪个小。

制作补丁并应用于副本

patch/conf-old.txtlisten=8080workers=2loglevel=infotimeout=30四排,patch/conf-new.txtlisten=9090workers=4loglevel=infotimeout=30请做四行。将两个文件的差异整合成统一格式。patch/conf.patch保存到后,conf-old.txt副本patch/conf-target.txt在那个上应用那个补丁conf-new.txt请让它变得像这样。

整合格式差异是,在diff中添加一个选项就会出现。补丁必须应用于副本,而不是原始文件——如果原始文件发生变化,前面的验证就会失效。