公司7K招到的实习生,居然不知道在linux中查找文件!
The following article is from 浩道linux Author 点击关注👉👉
前言
实习生来公司已经有1个多月了,最近他问我平时在linux环境中运维是怎么快速查找系统的文件的位置!看招聘网站上给的至少7K招到的人才,我也不好忒他。听到他这么一问,我反问他,你平时是如何查找文件的?
他说他平时查找文件是靠桌面连接工具,切换文件路径窗口进行查找!我不知道读者朋友平时是怎么查找文件的,但是我想说这位实习生遇到我真是太幸运了,因为我把我平时相关的查找文件技巧一一传授给他了。这里我也整理到本文,将日常工作用到最广泛的一个查找命令find相关使用技巧,分享给广大读者朋友,希望能够在日常工作中大大节省大家查找时间,提升工作效率!
find常见查找功能
1、find根据文件名匹配查找到相关文件;
2、find根据文件权限匹配查找到相关文件;
3、find根据文件所有者及文件所组匹配查找到相关文件;
4、find根据文件时间日期属性匹配查找到相关文件;
5、find根据文件的大小匹配查找到相关文件;
find命令具体用法
find [查找路径] [选项参数] [表达式] [动作]
find根据文件名匹配查找到相关文件用法技巧
一、在某个目录下通过文件名查找某个文件,通过-name选项参数进行查找,文件名可以带通配符。
1、在根目录下查找名称为haodao.py的所有文件。命令如下:
find / -name haodao.py
2、在/etc目录下查找名称为nginx.conf的文件。命令如下:
find /etc -name nginx.conf
3、在/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 tomcat
2、在/data目录中查找名称为haodao.c的所有文件。命令如下:
find /data -type f -name haodao.c
3、在/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的文件。命令如下:
[root@localhost ~]# find / -maxdepth 2 -name haodao.cfg
[root@localhost ~]# find / -maxdepth 3 -name haodao.cfg
[root@localhost ~]# find / -maxdepth 4 -name haodao.cfg
/etc/sysconfig/network-scripts/haodao.cfg
find根据文件权限匹配查找到相关文件用法技巧
一、查找某个目录下具有某些权限的所有文件。通过-perm选项参数进行查找。
1、查找/home目录下具有755权限的所有文件。命令如下:
find /home -type f -perm 755
2、查找/home目录下不具有755权限的所有文件。命令如下:
find /home -type f ! -perm 755
二、查找某个目录下具有某些权限的所有文件,并且将这些文件全部改为某权限。
1、查找/home目录下具有777权限的所有文件,并且将这些权限全部改为755。命令如下:
find /home -type f -perm 777 -exec chmod 755 {} \;
find根据文件所主及所组查找到相关文件用法技巧
一、查找某个目录下所有者为某个用户的文件。通过-user选项参数进行查找。
1、查找/home目录下,文件所有者为hao1的所有文件。命令如下:
find /home -user hao1
二、查找某个目录下所组为某个用户组的文件。通过-group选项参数进行查找。
1、查找/home目录下,文件所组为hao1的所有文件。命令如下:
find /home -group hao1
find根据文件时间日期属性查找相关文件用法技巧
一、查找某个目录下具有某些时间属性的所有文件。通过linux三大时间属性匹配进行查找。
1、查找/home目录下30天前修改过的所有文件,命令如下:
find /home -mtime 30
2、查找/home目录下30天前访问过的所有文件。命令如下:
find /home -atime 30
3、查找/home目录下修改超过10天及不到30天的所有文件。命令如下:
find /home -mtime +10 -mtime -30
4、查找/home目录下过去1个小时内修改过的所有文件。命令如下:
find /home -mmin -60
5、查找/home目录下过去1个小时内访问过的所有文件。命令如下:
find /home -amin -60
find根据文件大小属性查找相关文件用法技巧
一、查找某个目录下超过多大的文件。通过-size选项参数进行查找。
1、查找/home目录下文件大小等于100MB的所有文件。命令如下:
find /home -size 100M
2、查找/home目录下文件大小大于100MB的所有文件。命令如下:
find /home -size +100M
3、查找/home目录下文件大小小于100MB的所有文件。命令如下:
find /home -size -100M
4、查找/home目录下文件大小大于80MB,但小于100MB的所有文件。命令如下:
find /home -size +80M -size -100M
5、查找/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恤
推荐阅读: