Linux--find和grep
2018-09-02 本文已影响20人
zlcook
1.根据文件属性查看-find
find 搜索路径 参数 搜索内容
- 文件名
find 查找的目录 -name "查找文件名"
在当前目录(包括其子目录)查看以hell开头的文件或目录
find . -name "hell*"
查看5个字符,其中前三个字符为hell
find . -name "hell?"
- 文件类型
-
find 查找目录 -type 文件类型
- 普通文件: f
- 目录: d
- 符合链接: l
- 管道: p
- 套接字: s
- 字符设备: c
- 块设备: b
-
查看类型为目录的文件
find ./ -type d
- 文件大小
find 查找目录 -size -10M
- +:大于, +10k
- -:小于, -10k
- 等于10k:10k
- 单位:
- k-小于
- M-大写
查看大于5k小于10k的文件
find . -size +5k -size -10k
- 按日期
- 创建日期:-ctime -n/+n
- -n:n天以内创建的文件
- +n:n天以外
- 修改日期:-mtime -n/+n
- 访问日期:-atime -n/+n
- 创建日期:-ctime -n/+n
查找2天以内创建的文件
find . -ctime -2
查看2天以外修改的文件
find . -mtime +2
- 深度
- -maxdepth n(层数)
- -mindepth n(层数)
在当前目录3层以内查找文件名为cc的文件或目录
find /home/ -maxdepth 3 -name "cc"
在当前目录3层以外查找名为cc的文件或目录
find /home/ -maxdepth 3 -name "cc"
- 高级查找
find ./ -type -exec shell命令 {} \;
-
find ./ -type -ok shell命令 {} \;
相对于-exec更安全 -
find ./ -type d | xargs shell命令
效率高
例如:查找指定目录,并列出指定目录中文件的详细信息
find ./ -type d -exec ls -l {} \;
find ./ -type d -ok ls -l {} \;
find ./ -type d | xargs ls -l ;
shell命令为ls -l
2.根据文件内容查看-grep
- grep -r(有子目录会迭代查询) “查找内容” 搜索的路径
- grep -r “查找内容” 搜索的路径 -n(显示行号)
搜索~目录中带有main字符串的文件,并显示行号
grep -r "main" ~ -n