您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
马哥linux运维学习笔记-Linux文件查找详解
发布时间:2018-07-01 19:50:12编辑:雪饮阅读()
locate文件查找:
非实时,模糊匹配,查找是根据全系统文件数据库进行的
该文件查找所依赖的文件数据库可能是根据计划任务每天晚上生成当天系统的文件数据库的
有点是查询速度快
手动生成数据库,updatedb
实例:
locate passwd
如果一个用户被删除,则该用户之前建立的文件所有者会自动变成该用户的uid,所属组也会变成该用户所属组的组id
find文件查找:
-iname:文件名匹配时不区分大小写
实例:find / -iname 'a'
-type:按照文件类型来查找
f:普通文件
d:目录文件
s:socket文件
-regex pattern:基于正则表达式进行文件名匹配
-user username:根据属主查找
-group groupname:根据属主查找
-uid uid:根据uid查找
-gid gid:根据gid查找
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
实例:find / -type d
-size [+|-]:根据文件大小来查询,默认单位是k,可以是M或G
#[k|M|G]
+代表大于,-代表小于
实例:
find / -size +1M
有时候结果可能有点意外,貌似这里对文件查找筛选时候不足一个单位按一个单位算。
组合条件
-not:逻辑非查找
如我查找文件属主不是root的文件
find -not -user root
-a:逻辑与
-o:逻辑或
按时间查找:
天数查询
-mtime:按修改时间查找
-ctime:按创建时间查找
-atime:按访问时间查找
分钟数查询
-mmin:按修改时间查找
-cmin:按创建时间查找
-amin:按访问时间查找
支持选项
[+|-]:大于或小于
-perm:按权限查找
mode:精确匹配
/mode:任意一位匹配即满足条件
-mode:文件权限完全包含此mode时才能显示
实例:
find ./ -perm 644
find ./ -perm /644
处理方式:
-print:显示查询结果集,默认就是这个
-ls:类似ls -l的形式显示每个文件的详细
-ok commd {} \;:用指定命令遍历处理每个查出的文件"{} \;"是必须的,每个文件处理前会和用户同步交互,请求用户看用户是否同意对其处理。
-exec commd {} \;和-ok一样,只是后者静默执行,不会出现和用户进行交互的,而是直接对结果以你给的处理命令来进行处理每个查出的文件。-ok和-exec的花括号是文件占位符,相当于find每查找到一个文件就将文件路径传入该花括号。
实例:
find ./ -perm -006 -exec chmod o-w {} \;
find ./ -type d -ok chmod +x {} \;
find ./ -name 'test3306' -exec mv {} {}.new \;
find ./ -perm /644 -ls
touch命令
可以摸下文件,文件被摸就会改变时间戳
touch -a 1.txt
-a:指定被摸的是访问类型,即改变了文件被访问的时间戳
关于chmod:
chmod +x=>chmod a+x
即没有给定授权用户对象或用户类型时默认为所有用户(用户、用户所属组、组外其他用户)
关键字词:linux,find,文件查找,locate