Linux find 命令大全
find 含义: 顾名思义,是从来查找满足条件的内容。 从指定目录,递归的查找满足条件的内容。
格式: find [查询目录] [参数] [匹配方式]
- 文件操作:
-name : 查找文件名 ( find . -name "*.txt" ) -- 查询当前目录及子目录下,已txt结尾的文件
-type : 查找文件的类型
f :普通文件,如txt,sh等 ( find . -type f ) -- 查询当前目录及子目录下,普通文件
d :目录
b :块设备文件
c :字符设备文件
p :管道文件
l :链接文件
2. 用户权限
-perm :用户权限permission,常用3位数据(4:read,2:write,1:execute),如744(读写执行,读,读),创建人拥有所有权限,创建人所属的组有读权限,其他人有读权限
-user / -nouser :按文件属主查询 / 查找无有效属主的文件
-group / -nogroup :按文件属组查询 / 查找无有效属组的文件
3. 时间选项
-atime / -amin N :最近访问过的文件(access),time单位是天(day), min单位是分钟(min). 若数字前"+",表示N段时间前(-atime +1 表示一天之前);若数字前"-",表示N段时间内(-atime 11 表示最近一天之内)
-ctime / -cmin N :最近状态改变过的文件(change),一般值权限修改,chmod,chgrp等
-mtime / -mmin N :最近修改过的文件(modify),指文件内容修改
通过命令: stat file ,可以查看详情 ,如: stat kimbo_test.sh
4. 路径
-path 给出文件路径,可在路径中查询
-prune 表示要忽略的目录
xargs :与管道连用,对匹配的文件执行后续操作。每次只获取一部分文件,先处理,然后在下一批,以此下去。
#!/bin/bash # 查询文件名是txt的文件,并显示
find /home/test/ -name "*.txt" |xargs ls -l # 查询文件名是txt的文件,并删除
find /home/test/ -name "*.txt" |xargs rm -fr
例1: 查找最近修改的文件
find . -name "*.sh" -mtime - #time 单位是天,最近一天更新的文件 find . -name "*.sh" -mmin - |xargs ls -l #min单位是分钟,最近1小时更新的文件
最新文章
- Codeforces CF#628 Education 8 F. Bear and Fair Set
- HTML5分节元素和语义元素
- oracle Net Manager 服务命名无法配置(无法新建、添加服务名)
- Coding源码学习第四部分(Masonry介绍与使用(一))
- Perl的多进程框架(watcher-worker)
- mac(linux) 上如何安装ant
- Redis百亿级Key存储方案
- BZOJ 1051 受欢迎的牛(Tarjan缩点)
- Tiny PXE Server简介
- BZOJ 3398 牡牛和牝牛
- Teamwork-Week3 职责划分及团队分数分配原则
- 常用的Git命令
- latex表格线的颜色设置(边框添加颜色)
- HDU4738(割边)
- Linux之LVS 20180708
- python基础08_set集合
- Android 设置SeekBar不可拖动
- BZOJ2976 : [Poi2002]出圈游戏
- 神经网络 之 DNN(深度神经网络) 介绍
- python-随机数的产生random模块