Linux命令过关挑战

1.第一关:本次挑战中有一些带有不同文件扩展名的文件。请递归删除当前工作目录中所有扩展名为.doc 的文件

bash 复制代码
 find . -type f -name "*.doc" -delete 

解析:

  • find:就是 "查找" 的意思,专门用来在电脑里找文件或文件夹。
  • .:代表 "当前文件夹"(你现在打开的这个文件夹)。
  • -type f:只找 "文件"(排除文件夹,避免误删文件夹)。
  • -name "*.doc":只找名字符合 "随便什么字符 + .doc" 的文件(比如 报告.docnotes123.doc 都算)。
  • -delete:找到符合条件的文件后,直接删掉它们。

2.第二关:当前工作目录中有一个名为 access.log 的文件。请打印该文件中所有包含字符串 "GET" 的行

bash 复制代码
grep "GET" access.log

解析:

  • grep 就像 "搜索小助手",专门在文件里找包含特定内容的行。
  • "GET" 是要找的目标内容(这里就是 "GET" 这个词)。
  • access.log 是要搜索的文件(就是当前文件夹里叫 access.log 的那个文件)。

3.第三关:打印当前目录下所有包含字符串 "500" 的文件,每个文件名单独占一行(只显示文件名,不显示路径)

bash 复制代码
grep -l "500" *

解析:

  • grep:负责在文件里搜索内容的工具。
  • -l(小写 L):这个选项表示 "只显示包含目标内容的文件名",而不是显示具体的行。-l--files-with-matches 这个长选项的缩写,对应的单词是 list (列表、列出)。它的设计逻辑是:当你用 grep 搜索内容时,默认会显示 "包含匹配内容的行";而加上 -l 后,它就不再显示具体的行,而是只列出 "包含匹配内容的文件名列表" ------ 相当于告诉 grep:"不用给我看具体内容了,把符合条件的文件名字列出来就行"。
  • "500":要搜索的目标字符串。
  • *:代表当前目录下的所有文件(不包含子目录里的文件,只看当前目录)。

4.第四关:打印当前目录下所有文件名以 "access.log" 开头的文件的相对路径,每个路径单独占一行。

bash 复制代码
find . -name "access.log*"

解析:

  • find:专门用来找文件的位置
  • .:表示当前目录
  • -name "access.log*":表示要找名字以access.log开头的文件

思考:

  1. 为什么不是只显示文件名? 因为 find 设计的初衷是 "定位文件在哪里",而不仅仅是 "叫什么名字"。如果只显示文件名,当不同目录下有同名文件时(比如子目录里也有 access.log),你就分不清它们的位置了。

    相对路径既保留了文件名,又明确了文件在当前目录下的位置,更实用。

  2. find 命令的默认行为: find 是用来 "查找文件并显示其完整位置" 的工具。它的输出默认会包含从起始目录开始的路径,而不只是光秃秃的文件名。

    这里的起始目录是 .(当前目录),所以输出的就是 "当前目录 + 文件名" 的组合,也就是相对路径

相关推荐
linux修理工1 分钟前
Claude code与CC-switch安装使用
运维·人工智能
小叶lr4 分钟前
jenkins打包前端样式丢失/与本地不一致问题
运维·前端·jenkins
Agent产品评测局8 分钟前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
zxrhhm15 分钟前
SQLServer限制特定数据库的CPU使用率,确保关键业务系统有足够的资源
数据库·sqlserver
亚空间仓鼠22 分钟前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
刘~浪地球39 分钟前
Redis 从入门到精通(十三):哨兵与集群
数据库·redis·缓存
dyyshb1 小时前
PostgreSQL 终极兜底方案
数据库·postgresql
minji...1 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
虚伪的空想家1 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
他们叫我技术总监1 小时前
零依赖!FineReport11 快速对接 TDengine 数据库:从驱动部署到报表实现
大数据·数据库·ai·tdengine