Linux 文件查找练习

📅 2026/7/3 5:15:01
Linux 文件查找练习
Linux 文件命令练习题1、find 命令常用参数及详细释义- -name根据文件名精准匹配、查找对应文件- -type指定检索对象类型f代表普通文件d代表目录文件夹- -size按照文件大小条件筛选匹配文件- -maxdepth限制查找目录层级控制递归深度- -mtime根据文件最后修改的时间筛选文件- -exec对匹配查找出来的文件执行指定的系统命令1. 在当前目录及所有子文件夹中递归查找所有后缀为 .txt 的普通文件。find /opt/hh/ -name ‘1.txt’2. 在当前目录下查找所有类型为文件夹目录的对象。find /opt/hh/ -type f -name ‘1.txt’3. 在当前目录中筛选出文件大小大于10MB的所有普通文件。find / -size 10M4. 仅在当前目录本级不进入任何子文件夹精准查找名为 test 的文件或目录。find / -size 5k -maxdepth 15. 在当前目录及所有子目录中查找近3天内被修改过的所有文件和目录。find /opt/hh/ -mtime -36. 查找当前目录下所有后缀为 .log 的文件并通过命令参数直接删除所有匹配到的文件。find /opt/hh/ -name ‘*.log’ -exec rm {} ;2、grep 命令常用参数及详细释义- -i匹配字符串时忽略英文字母大小写差异- -n输出匹配内容时同步显示内容所在的行号- -v反向匹配输出所有不包含指定字符串的行- -r递归遍历当前目录下所有子文件夹和文件进行查找- -o只输出文件中匹配到的关键词内容不输出整行文本- -c统计文件中成功匹配指定字符串的总行数1. 读取当前目录下 user.txt 文件内容匹配包含 root 字符串的所有行匹配过程忽略字母大小写。grep -i ‘2’ 2.txt2. 在当前目录下 system.log 日志文件中查找 fail 字符串同时显示匹配内容对应的行号。grep -in ‘2’ 2.txt3. 筛选当前目录下 app.log 文件内容输出所有不包含 error 报错字符串的文本行。grep -inv ‘2’ 2.txt4. 递归遍历当前目录下所有文件和子文件夹找出所有内容中包含 linux 字段的文件。grep -invr ‘2’ 2.txt5. 读取当前目录下 info.txt 文件仅输出匹配到的关键词内容不打印完整文本行。grep -inro ‘2’ 2.txt6. 统计当前目录下 run.log 文件中所有包含 warning 警告字段的总行数。grep -inrc ‘1’ 2.txt3、cut 命令常用参数及详细释义- -d自定义字段分隔符用于分割文本列- -f指定需要截取的字段/列序号- -c按照字符位置截取指定范围的字符内容- --complement反向截取排除指定字段保留其余字段- -b按照字节位置截取文件字节数据- -s过滤掉文件中没有分隔符的空白行和异常行1. 以冒号:作为字段分隔符截取系统自带文件 /etc/passwd 中所有行的第1列内容。cut -d ‘:’ -f 1 /etc/passwd2. 截取当前目录下 data.txt 文件中每一行文本的第3至第5个字符内容。cut -c 3-5 2.txt3. 以空格作为字段分隔符截取当前目录下 list.txt 文件中除第2列以外的所有字段内容。cut -d ‘:’ -f 2 --complement 2.txt4. 精准提取当前目录下 msg.txt 文件里每一行对应的第2个字节数据。cut -b 2 2.txt5. 截取当前目录下 score.csv 文件的第3字段自动过滤掉文件中无分隔符的空白行和异常行。cut -f 2 -s 2.txt6. 以逗号,作为字段分隔符提取当前目录下 record.txt 文件中所有行的第4列数据。cut -d ‘:’ -f 4 2.txt4、sort 命令常用参数及详细释义- -n按照数字数值大小排序默认以字符排序- -r倒序排序将排序结果从大到小、从高到低展示- -k指定以文件中某一列的内容作为排序依据- -u排序完成后自动去除文件中重复的文本行- -t自定义文本列的分隔符配合列排序使用- -f排序比对时忽略英文字母的大小写差异1. 对当前目录下 num.txt 文件内的纯数字内容按照数字大小从小到大排序。sort -n 2.txt2. 对当前目录下 name.txt 文件的文本内容执行整体倒序降序排序。sort -nr 2.txt3. 以制表符作为列分隔符对当前目录下 table.txt 文件内容依据第3列数据进行排序。sort -k 2 -t ‘:’ 2.txt4. 对当前目录下 repeat.txt 文件内容排序同时自动剔除文件内所有重复的文本行。sort -k 2 -t ‘:’ -u 2.txt5. 以井号#作为自定义分隔符对当前目录下 data.cfg 文件按第2列数字进行倒序排序。sort -t ‘:’ -k 2 -r 2.txt6. 对当前目录下 english.txt 英文文本内容排序忽略英文字母的大小写差异。sort -fn 2.txt5、uniq 命令常用参数及详细释义- -c统计并展示每一行文本连续重复出现的次数- -d仅输出文件中存在连续重复的文本行- -u仅输出文件中只出现一次、无重复的唯一文本行- -i文本比对去重时忽略英文字母大小写- -f忽略每行前N个字段从指定字段开始比对重复行- -w限定只比对每行前N个字符其余字符不参与去重判断1. 统计当前目录下 log.txt 文件中每一行文本内容连续重复出现的次数并展示。uniq -c 2.txt2. 筛选并只输出当前目录下 content.txt 文件中所有连续重复的文本行。uniq -cd 2.txt3. 筛选并只展示当前目录下 user.txt 文件中仅出现一次、无重复的唯一文本行。uniq -u 2.txt4. 对当前目录下 word.txt 文件内容进行去重处理字符比对时忽略字母大小写。uniq -ci 2.txt5. 忽略每行前2个字段内容对当前目录下 table.txt 文件进行重复行判断与去重处理。uniq -c -f 2 2.txtcat6. 仅比对每行前8个字符内容对当前目录下 short.txt 文件完成精准去重操作。uniq -w 4 2.txt6、wc 命令常用参数及详细释义- -l统计文件的总行数量- -w统计文件内英文单词的总数量- -c统计文件的总字节数包含所有符号、字母字节- -m统计文件所有字符总数支持中文、特殊字符统计- -L检测并输出文件中最长一行的字符长度- --files0-from读取指定文件内的文件名列表批量统计多个文件1. 统计并查看当前目录下 article.txt 文本文件的总行数。wc -l 2.txt2. 统计当前目录下 note.txt 文件内所有英文单词的总数量。wc -l -w 2.txt3. 查看当前目录下 package.zip 压缩文件的总字节占用大小。wc -l -w -c 2.txt4. 统计当前目录下 doc.txt 包含中文、英文、符号的所有字符总数。wc -l -w -c -m 2.txt5. 检测并输出当前目录下 longtext.txt 文件中最长一行内容的字符长度。wc -l -w -c -m -L 2.txt6. 读取当前目录下 filelist.txt 内记录的所有文件名称批量统计这些文件的总行数。wc -l --files0-from2.txt7、xargs 命令常用参数及详细释义- -n指定每行传递给后续命令的参数个数- -d自定义参数分隔符默认以空格、换行分割- -I定义占位符用于批量替换、操作文件- -0适配处理文件名、文件夹名含空格的特殊文件- -p每执行一次操作前弹出确认提示手动选择是否执行- -t执行命令前提前打印完整的待执行命令1. 读取当前目录下 files.txt 中的文件参数按每行2个参数的规则传递给后续执行命令。cat 2.txt | xargs -n 2 echo2. 以分号;作为自定义分隔符拆分当前目录下 params.txt 内容并批量处理参数。cat 2.txt | xargs -d ‘;’ echo3. 借助占位符参数批量重命名当前目录下的所有普通文件。find * -maxdepth 1 -type f | xargs mv {} {}.bak4. 适配处理当前目录下名称中包含空格的特殊文件和文件夹。5. 批量删除当前目录下 tmp/ 目录下的所有文件执行每一步操作前手动确认。6. 读取处理当前目录下 list.txt 内容执行命令前先打印完整的待执行命令。8、管道 |功能及释义将前一条命令的标准输出内容作为后一条命令的标准输入实现多条命令串联复用分步处理数据无额外参数1. 读取系统文件 /etc/passwd 全部内容结合管道筛选出包含 admin 字段的所有行。2. 列出当前目录下所有文件和文件夹通过管道统计该目录下内容的总数量。3. 读取当前目录下 sort.txt 文件内容通过管道传递给sort命令完成排序操作。4. 读取当前目录下 run.log 日志文件内容借助管道对接uniq命令去除重复行。5. 查看系统所有进程列表利用管道筛选出名称为nginx的运行进程。6. 截取当前目录下 user.txt 文件指定字段内容通过管道交给wc命令统计有效行数。9、IO 重定向常用符号及详细释义- 标准输出覆盖重定向清空原有文件内容写入新内容- 标准输出追加重定向在文件末尾追加内容不覆盖原有数据- 2标准错误重定向单独保存命令执行的报错信息- 混合重定向统一保存标准输出和标准错误内容- 标准输入重定向以指定文件作为命令的输入数据源- 21将标准错误输出绑定到标准输出合并输出内容1. 将任意命令的执行输出结果覆盖写入当前目录下 a.txt 文件中。2. 将任意命令的执行输出内容追加写入当前目录下 result.txt 文件末尾不覆盖原有内容。3. 将任意命令执行产生的报错信息单独重定向保存到当前目录下 err.log 文件。4. 将任意命令的正常输出内容和报错信息统一整合写入当前目录下 all.log 文件。5. 以当前目录下 b.txt 文件作为输入数据源执行对应的读取处理命令。6. 将任意命令的标准输出与错误输出合并统一重定向保存至当前目录下 combined.log 文件。10、tee 命令常用参数及详细释义- -a追加写入文件不覆盖清空文件原有内容- -i忽略终端中断信号保证文件写入稳定不中断1. 将任意命令的输出内容同时打印到终端屏幕并写入当前目录下 out1.txt 文件。2. 使用tee命令向当前目录下 data.txt 文件追加内容保留文件原有数据不覆盖清空。3. 结合管道用法将命令执行的中间结果分流输出单独保存到当前目录下 temp.log 文件。4. 编写一条命令搭配tee同时将输出内容分别写入当前目录下 f1.txt、f2.txt 两个文件。5. 执行文件写入操作时忽略中断信号稳定将命令输出内容写入当前目录下 record.log 文件。6. 结合IO重定向与tee命令将单一命令的输出分流分别保存到多个不同的日志文件中。