当前位置: 首页 > news >正文

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 10M

4. 仅在当前目录本级(不进入任何子文件夹),精准查找名为 test 的文件或目录。

find / -size 5k -maxdepth 1

5. 在当前目录及所有子目录中,查找近3天内被修改过的所有文件和目录。

find /opt/hh/ -mtime -3

6. 查找当前目录下所有后缀为 .log 的文件,并通过命令参数直接删除所有匹配到的文件。

find /opt/hh/ -name ‘*.log’ -exec rm {} ;

2、grep 命令

常用参数及详细释义

- -i:匹配字符串时,忽略英文字母大小写差异

- -n:输出匹配内容时,同步显示内容所在的行号

- -v:反向匹配,输出所有不包含指定字符串的行

- -r:递归遍历当前目录下所有子文件夹和文件进行查找

- -o:只输出文件中匹配到的关键词内容,不输出整行文本

- -c:统计文件中成功匹配指定字符串的总行数

1. 读取当前目录下 user.txt 文件内容,匹配包含 root 字符串的所有行,匹配过程忽略字母大小写。

grep -i ‘2’ 2.txt

2. 在当前目录下 system.log 日志文件中,查找 fail 字符串,同时显示匹配内容对应的行号。

grep -in ‘2’ 2.txt

3. 筛选当前目录下 app.log 文件内容,输出所有不包含 error 报错字符串的文本行。

grep -inv ‘2’ 2.txt

4. 递归遍历当前目录下所有文件和子文件夹,找出所有内容中包含 linux 字段的文件。

grep -invr ‘2’ 2.txt

5. 读取当前目录下 info.txt 文件,仅输出匹配到的关键词内容,不打印完整文本行。

grep -inro ‘2’ 2.txt

6. 统计当前目录下 run.log 文件中,所有包含 warning 警告字段的总行数。

grep -inrc ‘1’ 2.txt

3、cut 命令

常用参数及详细释义

- -d:自定义字段分隔符,用于分割文本列

- -f:指定需要截取的字段/列序号

- -c:按照字符位置,截取指定范围的字符内容

- --complement:反向截取,排除指定字段,保留其余字段

- -b:按照字节位置,截取文件字节数据

- -s:过滤掉文件中没有分隔符的空白行和异常行

1. 以冒号(:)作为字段分隔符,截取系统自带文件 /etc/passwd 中所有行的第1列内容。

cut -d ‘:’ -f 1 /etc/passwd

2. 截取当前目录下 data.txt 文件中,每一行文本的第3至第5个字符内容。

cut -c 3-5 2.txt

3. 以空格作为字段分隔符,截取当前目录下 list.txt 文件中除第2列以外的所有字段内容。

cut -d ‘:’ -f 2 --complement 2.txt

4. 精准提取当前目录下 msg.txt 文件里,每一行对应的第2个字节数据。

cut -b 2 2.txt

5. 截取当前目录下 score.csv 文件的第3字段,自动过滤掉文件中无分隔符的空白行和异常行。

cut -f 2 -s 2.txt

6. 以逗号(,)作为字段分隔符,提取当前目录下 record.txt 文件中所有行的第4列数据。

cut -d ‘:’ -f 4 2.txt

4、sort 命令

常用参数及详细释义

- -n:按照数字数值大小排序,默认以字符排序

- -r:倒序排序,将排序结果从大到小、从高到低展示

- -k:指定以文件中某一列的内容作为排序依据

- -u:排序完成后,自动去除文件中重复的文本行

- -t:自定义文本列的分隔符,配合列排序使用

- -f:排序比对时,忽略英文字母的大小写差异

1. 对当前目录下 num.txt 文件内的纯数字内容,按照数字大小从小到大排序。

sort -n 2.txt

2. 对当前目录下 name.txt 文件的文本内容,执行整体倒序(降序)排序。

sort -nr 2.txt

3. 以制表符作为列分隔符,对当前目录下 table.txt 文件内容,依据第3列数据进行排序。

sort -k 2 -t ‘:’ 2.txt

4. 对当前目录下 repeat.txt 文件内容排序,同时自动剔除文件内所有重复的文本行。

sort -k 2 -t ‘:’ -u 2.txt

5. 以井号(#)作为自定义分隔符,对当前目录下 data.cfg 文件,按第2列数字进行倒序排序。

sort -t ‘:’ -k 2 -r 2.txt

6. 对当前目录下 english.txt 英文文本内容排序,忽略英文字母的大小写差异。

sort -fn 2.txt

5、uniq 命令

常用参数及详细释义

- -c:统计并展示每一行文本连续重复出现的次数

- -d:仅输出文件中存在连续重复的文本行

- -u:仅输出文件中只出现一次、无重复的唯一文本行

- -i:文本比对去重时,忽略英文字母大小写

- -f:忽略每行前N个字段,从指定字段开始比对重复行

- -w:限定只比对每行前N个字符,其余字符不参与去重判断

1. 统计当前目录下 log.txt 文件中,每一行文本内容连续重复出现的次数并展示。

uniq -c 2.txt

2. 筛选并只输出当前目录下 content.txt 文件中,所有连续重复的文本行。

uniq -cd 2.txt

3. 筛选并只展示当前目录下 user.txt 文件中,仅出现一次、无重复的唯一文本行。

uniq -u 2.txt

4. 对当前目录下 word.txt 文件内容进行去重处理,字符比对时忽略字母大小写。

uniq -ci 2.txt

5. 忽略每行前2个字段内容,对当前目录下 table.txt 文件进行重复行判断与去重处理。

uniq -c -f 2 2.txtcat

6. 仅比对每行前8个字符内容,对当前目录下 short.txt 文件完成精准去重操作。

uniq -w 4 2.txt

6、wc 命令

常用参数及详细释义

- -l:统计文件的总行数量

- -w:统计文件内英文单词的总数量

- -c:统计文件的总字节数,包含所有符号、字母字节

- -m:统计文件所有字符总数,支持中文、特殊字符统计

- -L:检测并输出文件中最长一行的字符长度

- --files0-from:读取指定文件内的文件名列表,批量统计多个文件

1. 统计并查看当前目录下 article.txt 文本文件的总行数。

wc -l 2.txt

2. 统计当前目录下 note.txt 文件内所有英文单词的总数量。

wc -l -w 2.txt

3. 查看当前目录下 package.zip 压缩文件的总字节占用大小。

wc -l -w -c 2.txt

4. 统计当前目录下 doc.txt 包含中文、英文、符号的所有字符总数。

wc -l -w -c -m 2.txt

5. 检测并输出当前目录下 longtext.txt 文件中,最长一行内容的字符长度。

wc -l -w -c -m -L 2.txt

6. 读取当前目录下 filelist.txt 内记录的所有文件名称,批量统计这些文件的总行数。

wc -l --files0-from=2.txt

7、xargs 命令

常用参数及详细释义

- -n:指定每行传递给后续命令的参数个数

- -d:自定义参数分隔符,默认以空格、换行分割

- -I:定义占位符,用于批量替换、操作文件

- -0:适配处理文件名、文件夹名含空格的特殊文件

- -p:每执行一次操作前,弹出确认提示,手动选择是否执行

- -t:执行命令前,提前打印完整的待执行命令

1. 读取当前目录下 files.txt 中的文件参数,按每行2个参数的规则传递给后续执行命令。

cat 2.txt | xargs -n 2 echo

2. 以分号(;)作为自定义分隔符,拆分当前目录下 params.txt 内容并批量处理参数。

cat 2.txt | xargs -d ‘;’ echo

3. 借助占位符参数,批量重命名当前目录下的所有普通文件。

find * -maxdepth 1 -type f | xargs mv {} {}.bak

4. 适配处理当前目录下,名称中包含空格的特殊文件和文件夹。

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>:标准错误重定向,单独保存命令执行的报错信息

- &>:混合重定向,统一保存标准输出和标准错误内容

- <:标准输入重定向,以指定文件作为命令的输入数据源

- 2>&1:将标准错误输出绑定到标准输出,合并输出内容

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命令,将单一命令的输出分流,分别保存到多个不同的日志文件中。

http://www.gsyq.cn/news/1625386.html

相关文章:

  • Python接口自动化:从Requests、Pytest到Allure的完整框架搭建指南
  • Java毕设选题推荐:基于 SpringBoot 的垃圾分类宣传与智能监管系统的设计与实现 基于 SpringBoot 的社区垃圾投放记录统计分【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕业设计-基于 SpringBoot 的斯诺克球馆购票系统的设计与实现 基于 SpringBoot 的台球球馆在线预订购票管理系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • Java毕设项目:基于 SpringBoot 的摄影社团作品点评与互动管理系统的设计与实现 基于 SpringBoot 的高校社团摄影资源共享管理系统 (源码+文档,讲解、调试运行,定制等)
  • wiz2025 挑战赛从 springActuator 泄露到 s3 敏感文件获取全解析
  • 深度拆解!海底捞火锅店出现的新型买单方式:扫盘子结算收款!
  • Java毕设项目:基于 SpringBoot 的绿色社区垃圾分类综合服务系统的设计与实现 基于 SpringBoot 的垃圾站点设备运维与分类监管系统 (源码+文档,讲解、调试运行,定制等)
  • AI Agent开发:10个核心概念与实战经验
  • [Rectangle节点]原理解析与实际应用
  • AI编程模型怎么选?六大主流模型实测与工作流指南
  • 构建AI Agent开发平台:从零设计可扩展的Agent编排引擎
  • 什么是mcp
  • 2026自动驾驶入行指南:聚焦数据飞轮、规控缝合与车云协同
  • AH85101同步降压24V 输入、5~24V 可调 3A
  • EV代码签名证书特权改变了?
  • 鸿蒙原生 ArkTS 布局变化动画深度实战:从 transition 到 animateTo 的全场景解析
  • uv 从入门到精通:Python 包管理的终极形态
  • 一文吃透 2026 网络安全六大变革趋势,覆盖攻防、合规、云安全全维度,企业安全布局精准参考指南
  • AI教材写作大揭秘!高效工具助力,轻松实现低查重教材编写!
  • 第一次装修别急着开工!这6件事没想清楚,后期很容易
  • [RoundedPolygon节点]原理解析与实际应用
  • 117、asyncio 异步编程(三):异步上下文管理器、异步迭代器、异步生成器
  • 做工控品质实打实唠,这厂家用过才知道有多省心
  • Codex 项目协作与能力扩展指南
  • 国际物联网卡有哪几种主流采购渠道?2026跨境采购渠道选型指南
  • 计算机Java毕设实战-基于 SpringBoot 的在线法律咨询预约平台的设计与实现 基于 SpringBoot 的多维度律师匹配推荐系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • VoiceFixer终极指南:三分钟让模糊语音变清晰的AI修复神器 [特殊字符]
  • M1 Mac上运行Android模拟器的终极解决方案:原生ARM64架构全面解析
  • 动物森友会存档编辑神器:NHSE一站式岛屿改造终极指南
  • 习惯用 Markdown 写东西,但对方只收 Word,怎么办?