以下文章来源于浩道linux ,作者点击关注👉👉
浩道,专注工作与实践的一名IT民工。本号主要分享linux,python,网络通信相关干货。相聚在此,通过分享知识与经验,一起成长。
实习生来公司已经有1个多月了,最近他问我平时在linux环境中运维是怎么快速查找系统的文件的位置!看招聘网站上给的至少7K招到的人才,我也不好忒他。听到他这么一问,我反问他,你平时是如何查找文件的?
他说他平时查找文件是靠桌面连接工具,切换文件路径窗口进行查找!我不知道读者朋友平时是怎么查找文件的,但是我想说这位实习生遇到我真是太幸运了,因为我把我平时相关的查找文件技巧一一传授给他了。这里我也整理到本文,将日常工作用到最广泛的一个查找命令find相关使用技巧,分享给广大读者朋友,希望能够在日常工作中大大节省大家查找时间,提升工作效率!
1、find根据文件名匹配查找到相关文件;
2、find根据文件权限匹配查找到相关文件;
3、find根据文件所有者及文件所组匹配查找到相关文件;
4、find根据文件时间日期属性匹配查找到相关文件;
5、find根据文件的大小匹配查找到相关文件;
find [查找路径] [选项参数] [表达式] [动作]一、在某个目录下通过文件名查找某个文件,通过-name选项参数进行查找,文件名可以带通配符。
1、在根目录下查找名称为haodao.py的所有文件。命令如下:
find / -name haodao.py2、在/etc目录下查找名称为nginx.conf的文件。命令如下:
find /etc -name nginx.conf3、在/etc目录下查找所有名称包含network的文件。命令如下:
find /etc/ -name "network"二、在某个目录下通过文件名称和忽略大小写查找某个文件,通过-iname选项参数进行查找。
1、在/etc目录中查找名称为haodao.py的文件,且文件名包含大写和小写字母的所有文件。命令如下:
find /etc -iname haodao.py三、在某个目录下通过文件类型及文件名称查找某个文件或者某个目录,通过-type及-name选项参数结合进行查找。
1、在/data目录中查找名称为tomcat的所有目录。命令如下:
find /data -type d -name tomcat2、在/data目录中查找名称为haodao.c的所有文件。命令如下:
find /data -type f -name haodao.c3、在/data目录中查找所有以.py结尾的文件。命令如下:
find /data -type f -name "*.py"四、在某个目录中查找到相关文件,并且进行删除。
1、在/home目录下查找到文件名为haodoa.txt的文件,并且进行删除该文件。命令如下:
find /home -type f -name "haodao.txt" -exec rm -f {} \;2、在/home目录中查找到所有以.txt结尾的文件,并且进行删除这些文件。命令如下:
find /home -type f -name "*.txt" -exec rm -f {} \;五、在某个目录中通过指定目录层级及文件名称查找某个文件,通过-maxdepth及-name选项参数结合进行查找。
1、在/目录下分别指定目录层级为2,3,4,查找名称为haodao.cfg的文件。命令如下:
[][][]/etc/sysconfig/network-scripts/haodao.cfg
一、查找某个目录下具有某些权限的所有文件。通过-perm选项参数进行查找。
1、查找/home目录下具有755权限的所有文件。命令如下:
find /home -type f -perm 7552、查找/home目录下不具有755权限的所有文件。命令如下:
find /home -type f ! -perm 755二、查找某个目录下具有某些权限的所有文件,并且将这些文件全部改为某权限。
1、查找/home目录下具有777权限的所有文件,并且将这些权限全部改为755。命令如下:
find /home -type f -perm 777 -exec chmod 755 {} \;一、查找某个目录下所有者为某个用户的文件。通过-user选项参数进行查找。
1、查找/home目录下,文件所有者为hao1的所有文件。命令如下:
find /home -user hao1二、查找某个目录下所组为某个用户组的文件。通过-group选项参数进行查找。
1、查找/home目录下,文件所组为hao1的所有文件。命令如下:
find /home -group hao1一、查找某个目录下具有某些时间属性的所有文件。通过linux三大时间属性匹配进行查找。
1、查找/home目录下30天前修改过的所有文件,命令如下:
find /home -mtime 302、查找/home目录下30天前访问过的所有文件。命令如下:
find /home -atime 303、查找/home目录下修改超过10天及不到30天的所有文件。命令如下:
find /home -mtime +10 -mtime -304、查找/home目录下过去1个小时内修改过的所有文件。命令如下:
find /home -mmin -605、查找/home目录下过去1个小时内访问过的所有文件。命令如下:
find /home -amin -60一、查找某个目录下超过多大的文件。通过-size选项参数进行查找。
1、查找/home目录下文件大小等于100MB的所有文件。命令如下:
find /home -size 100M2、查找/home目录下文件大小大于100MB的所有文件。命令如下:
find /home -size +100M3、查找/home目录下文件大小小于100MB的所有文件。命令如下:
find /home -size -100M4、查找/home目录下文件大小大于80MB,但小于100MB的所有文件。命令如下:
find /home -size +80M -size -100M5、查找/home目录下文件大小大于100MB的所有文件,并且进行删除。命令如下:
find /home -type f -size +100M -exec rm -f {} \;6、查找/home目录下文件大小超过10MB的所有.txt文件,并且进行删除。命令如下:
find /home -type f -name *.txt -size +10M -exec rm {} \;find命令可以说是linux中常用的一个查找命令。其功能很强大,以上仅仅举例其常用的一些查找功能,如果大家需要掌握该命令的其它功能,建议还是要自己去实践。
<END>
程序员专属T恤
推荐阅读:
调试 Linux 最早期的代码
一文搞懂 | Linux 时钟子系统