文件操作与 find 表达式
目标
Shell什么时候会扩展什么,find用手确认为什么是表达式语言。从链接、存档、补丁到LFCS必备命令区域都绕了一圈。
为什么重要
这个领域占用考试时间的大部分。问题本身并不难,-perm 644哇-perm -644像这样由于一个字母的差错而结果不同的语法很多,所以很安静地错了。如果理解链接和inode的话,“删除了但容量没有减少”这样的运营事故开始看起来是理所当然的结果。压缩格式选择也不是个人喜好,而是权衡的产物——xz会更小,但会花费更多的CPU和时间。所以备份周期和恢复时间要求决定了格式。
阶段
/root/lfcs-ess/在下面src,archive,report,patch请创建您的目录。/root/lfcs-ess/src/在data-01.txt从开始data-06.txt请制作六个文件。data-01~data-03每个银子都超过200000字节,data-04~data-06每个字母必须在1字节以上1000字节以下。data-01.txt的硬链接src/data-01.hard和符号链接src/data-01.sym请制作。还有report/inode.txt在inode=<data-01.txt 의 inode 번호>哇links=<링크 수>请写两行。src/就在下面名字.txt以结束时,只有超过100k大小的普通文件的名称report/big.txt请逐行写一句话。data-05.txt哇data-06.txt将权限改为600,src/在下面,将权限准确为600的普通文件的名称report/perm600.txt请写在上面。data-06.txt将修改时间改为比30天更早的时间,src/就在下面-mtime +30被挂起的文件的名字report/old.txt请写在上面。src/把目录archive/src.tar.gz哇archive/src.tar.xz制作成两个档案,report/compress.txt在gzip=<바이트 크기>,xz=<바이트 크기>,smaller=<gzip 또는 xz>请写三行。patch/conf-old.txt在listen=8080,workers=2,loglevel=info,timeout=30四排,patch/conf-new.txt在listen=9090,workers=4,loglevel=info,timeout=30请做四行。将两个文件的差异整合成统一格式。patch/conf.patch保存到后,conf-old.txt的副本patch/conf-target.txt在那个上应用那个补丁conf-new.txt请让它变得像这样。
参考
- 确定的尺寸的文件是
head -c 200000 /dev/urandom像这样只剪掉前部分制作的话会很快。 find的-printf在%f使用的话,只会显示文件名,而不是路径。-size +100k哇-size +100单位不同。后面是512字节块数。- 常见的错误:在第8步将补丁粘贴到原始文件上的话
conf-old.txt验证被打破。请务必应用于副本。
创建四个工作目录
/root/lfcs-ess/在下面src,archive,report,patch请创建您的目录。
即使没有上级路径,也有一次性创建的选项。可以将四个目录列出在一行。
准备六个大小不同的文件
/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.txt在inode=<data-01.txt 의 inode 번호>哇links=<링크 수>请写两行。
硬链接是在同一个inode上再加一个名字,所以链接数会增加。inode编号和链接数可以通过stat的格式输出一次性读取。
按尺寸条件搜索
src/就在下面名字.txt以结束时,只有超过100k大小的普通文件的名称report/big.txt请逐行写一句话。
find的大小条件根据后缀不同而改变单位。要仅根据文件名提取结果,请指定输出格式。还限制深度,不进入子目录。
按权限条件搜索
data-05.txt哇data-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.gz哇archive/src.tar.xz制作成两个档案,report/compress.txt在gzip=<바이트 크기>,xz=<바이트 크기>,smaller=<gzip 또는 xz>请写三行。
tar 选择压缩器的选项字符。制作后,读取每个文件夹的字节大小,直接比较并写下哪个小。
制作补丁并应用于副本
patch/conf-old.txt在listen=8080,workers=2,loglevel=info,timeout=30四排,patch/conf-new.txt在listen=9090,workers=4,loglevel=info,timeout=30请做四行。将两个文件的差异整合成统一格式。patch/conf.patch保存到后,conf-old.txt的副本patch/conf-target.txt在那个上应用那个补丁conf-new.txt请让它变得像这样。
整合格式差异是,在diff中添加一个选项就会出现。补丁必须应用于副本,而不是原始文件——如果原始文件发生变化,前面的验证就会失效。