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

1-4查找命令

文章目录

    • 1.find
      • 1.1 文件名(-name)
      • 1.2 文件类型(-type)
      • 1.3 文件大小(-size)
      • 1.4 目录层级
      • 1.5 同时执行多个操作
        • 1.5.1 -exec
        • 1.5.2 -ok
        • 1.5.3 xargs (推荐)
    • 2. grep 查找文件中的字符串
    • 3.local (先不看了)

1.find

根据文件的属性来查找文件:例如根据 文件名、文件类型、文件大小、文件目录深度等

1.1 文件名(-name)

# 精确查询 完整的文件名
# 模糊查询
	- * 可以匹配零个或多个字符
	- ? 匹配单个字符
	- 建议使用通配符的时候使用""包裹

# 语法
find 搜索的路径 -name 要搜索的文件名
# 实例
find /home -name "*.txt"

1.2 文件类型(-type)

文件类型类型的字符描述
普通文件类型f
目录类型d
软连接类型l
字符设备类型c
块设备类型b
管道类型p
本地套接字类型s
# 搜索 root 用户家目录下, 软连接类型的文件
find /root -type l

1.3 文件大小(-size)

# 语法格式: 
$ find 搜索的路径 -size [+|-]文件大小
	- 文件大小需要加单位: 
		- k (小写)
		- M (大写)
		- G (大写)


1.4 目录层级

  • -maxdepth:能搜索到第多少层
  • -mindepth:至少从第几层开始搜
# 查找文件, 从根目录开始, 最多搜索5层, 这个文件叫做 *.txt (1 <= 层数 <= 5)
$ sudo find / -maxdepth 5 -name "*.txt"

# 查找文件, 从根目录开始, 至少从第5层开始搜索, 这个文件叫做 *.txt (层数>=5层)
$ sudo find / -mindepth 5 -name "*.txt"

1.5 同时执行多个操作

1.5.1 -exec
# 语法
find path args...  -exec shell命令 {} \;
	-exec 后面跟着的是完整的shell命令
	- 结尾必须加 {} \;
		- {} \之间有空格,分号之前没有
		- 不要忘记分号!
liyb@lyb:~$ find ./ -maxdepth 2 -name "*.md" -exec ls -l {} \;
-rw-rw-r-- 1 liyb liyb 21642 1126 15:48 ./mprpc/note.md
-rw-rw-r-- 1 liyb liyb 0 1111 15:13 ./mprpc/README.md
-rw-rw-r-- 1 liyb liyb 6367 123 19:38 ./learn_cmake/README.md

1.5.2 -ok

和-exec的使用完全一样,但是在执行命令的时候会询问 y?n

1.5.3 xargs (推荐)

使用这个不需要后面加{} ;

结合管道

# 注意 需要使用管道 | 
# 并且不需要 -

liyb@lyb:~$ find ./ -maxdepth 1 -name catkin_ws | xargs ls -l
总用量 52
drwxrwxr-x   3 liyb liyb  4096 65  2024 bagfile
drwxrwxr-x  16 liyb liyb  4096 1212 20:28 build
drwxrwxr-x   4 liyb liyb  4096 529  2024 build_isolated
drwxrwxr-x   5 liyb liyb  4096 1128 21:30 devel
-rw-rw-r--   1 liyb liyb  1893 711  2024 frames.gv
drwxrwxr-x 259 liyb liyb 12288 418  2024 gazebo_models
-rw-rw-r--   1 liyb liyb  9424 1027 18:55 path.csv
drwxrwxr-x   3 liyb liyb  4096 31  2024 sim_demo
drwxrwxr-x  13 liyb liyb  4096 1213 13:25 src

2. grep 查找文件中的字符串

  • -r:搜索目录需要递归
  • -i:搜索内容不区分大小写
  • -n:结果中显示行数
# 指定搜索文件夹
liyb@lyb:~/catkin_ws$ grep "include" ./ -r   #递归搜索当前目录中所有的include
...
# 指定搜索文件
liyb@lyb:~/catkin_ws$ grep "numPY" ./src/skills.py 
liyb@lyb:~/catkin_ws$ grep "numPY" ./src/skills.py -i
import numpy as np
# 显示行数
liyb@lyb:~/catkin_ws$ grep "numPY" ./src/skills.py -in
14:import numpy as np

3.local (先不看了)

相关文章:

  • 使用Docker方式一键部署MySQL和Redis数据库详解
  • KaiwuDB| Google Spanner 经典架构回顾
  • el-table修改表格颜色
  • 【MySQL】表的约束
  • 深入剖析C语言中#和##的作用
  • 用大白话解释基础框架Spring Boot——像“装修套餐”一样简单
  • -bash: lsof: command not found
  • Si24R2E:2.4GHz,内置MCU的有源RFID标签芯片特点
  • 使用Java操作Excel
  • Golang快速上手02/Golang基础
  • Nginx将tomcat项目转发。将非80/443端口口转为80或443及https
  • mysql架构查询执行流程(图解+描述)
  • WPF高级 | WPF 3D 图形编程基础:创建立体的用户界面元素
  • ChatGPT 提示词框架
  • mysql数据迁移到SQLserver: 构建数据迁移脚本
  • 2025年网校系统源码开发趋势:技术革新的教育培训APP搭建实战
  • WPF11-附加属性
  • 推荐律师事务管理系统(SpringCloud+mysql+rocketmq+deepseek)
  • Qt 中,**信号与槽(Signals Slots)机制
  • docker通用技术介绍
  • 企业设计个网站/中国科技新闻网
  • 在演示文稿上网站怎么做/怎么创建一个属于自己的网站
  • 飞浪网站建设/上百度推广的网站要多少钱
  • 做网站做的好的公司有哪些/网络营销制度课完整版
  • 做愛的网站動漫/怎么申请建立网站
  • 可信赖的坪山网站建设/查权重网站