Linux的find命令与文件名后缀

简介:

find命令:

find命令是用于搜索文件的,which是在环境变量中搜索,whereis是在准备好的库里搜索,locate是通过数据文件进行搜索。

在最小化安装的系统中一般locate命令是需要自己安装的,,安装的命令是:yun install -y mlocate

wKiom1ngUh_jhN2MAAQGwb5ax0Q427.png


安装完后,这时locate命令还无法使用,因为locate依赖的数据文件还没有生成,这个文件相当于这个命令的数据库,你系统上文件的路径都会存放在这里,然后locate命令就是通过这个文件去搜索你指定的文件,这时需要使用updatedb命令生成一下此数据文件,这个命令也可以用于更新此文件,一般此文件会在凌晨四点自动更新:

wKiom1ngUh_jBr-qAAIRhAQx6Vc900.png

wKioL1ngT2mD_hPbAAGYPn-NS_g047.png


从搜索结果可以看出,只要是带有Test1的文件路径都会被检索出来,这属于是一种模糊搜索,并不是精确搜,所以locate命令使用的比较少。

  最常使用的是find命令,find最简单的用法是指定一个范围这个范围可以是系统目录或文件夹,然后指定具体的文件名称,例如我要在etc目录下找sshd_config文件:

wKiom1ngUiDCyZr2AAG4JxZYRpA895.png


使用通配符*可以进行模糊搜索:

wKioL1ngT2viECO5AALM-nRH11I465.png


  指定寻找的是目录需要加-type d,指定寻找的是文件则需要加-type f(-)-type表示的就是文件类型,所以可以使用-type这个条件参数指定所要检索的文件类型:

wKioL1ngT22hNv6pAARV1hPiOS4664.png


指定寻找的是软链接文件需要加-type l

wKiom1ngUiyC0KPyABDGEydU-Ro546.png


指定寻找的是块设备文件需要加-type b

wKioL1ngT3eA8DwHAALH1PCe5x8070.png


指定寻找的是字符串设备文件需要加-type c

wKiom1ngUjCz_oZWAARpyUapc_Y119.png


指定寻找的是通信文件需要加-type s

wKioL1ngT3mQYtQWAAERqoB3MX0621.png


stat命令是查看一个文件或目录的详细信息的:wKiom1ngUjLykBC8AAUHg09ZAjk617.pngwKiom1ngUjSBotkYAAU4M2tr5YA399.png

更改了文件的内容-ctime一定会改变,但改文件的权限-mtime是不会改变的。


find命令中的-atime选项是用来指定所要查找的文件的最近访问时间,例如我要在root目录中找一天以内访问过的文件,或一天以外访问过的文件:

find /root/ -type f -atime -1  //一天以内

wKioL1ngT36wkMKtAAG27Hk-h-A456.png


find /root/ -type f -atime +1  //一天以外

wKiom1ngUjaS232FAANR4Jq_Rnw120.png


find命令中的-mtime选项是用来指定所要查找的文件的最近更改或创建时间,例如我要在root目录中找一天以内更改过的文件,或一天以外更改过的文件:

find /root/ -type f -mtime -1  //一天以内

wKioL1ngT4DCGHqeAAGjLCjwkDE380.png


find /root/ -type f -mtime +1  //一天以外

wKiom1ngUjjgR2nKAASSs4ZG2Ow226.png


find命令中的-ctime选项是用来指定所要查找的文件的最近改动时间,例如我要在root目录中找一天以内改动过的文件,或一天以外改动过的文件:

find /root/ -type f -ctime -1  //一天以内

wKioL1ngT4LhsEAJAAGWPSvhiWQ661.png


find /root/ -type f -ctime +1  //一天以外

wKioL1ngT4WzfDWwAAQbwrwJoUc346.png


如果在find命令里加多个参数条件的就是并且的意思,也就是说查找的文件要满足这些指定的条件。

例如:find /etc/ -type f -mtime -1 -name *.conf

这条命令的意思是:查找etc目录下的文件,此文件的最近更改时间或创建时间是一天以内的,并且此文件的后缀必须是conf

wKiom1ngUjzCLxqZAAJf5zodtDM889.png


想要这些参数条件起的作用不是并且而是或者的话,需要在参数条件加 -o 

例如:find /root/ -type f -o -mtime -1 -o -name *.conf

这条命令的意思是:查找root目录下的文件,或者查找最近更改时间或创建时间是一天以内的文件,或者此文件的后缀是conf的,只要满足其中一个条件都会被查找出来。

wKiom1ngUkHg6-MCAAozUA_Y-AU387.png



使用find命令查找硬链接文件:

命令如下:

find / -inum inode

例如:我要找a_123.txt的硬链接文件,首先得查看这个文件的inode号,然后将inode号放在命令的末尾:

wKioL1ngT4yQAqtyAAI9JvoNC_A346.png


使用find命令查找root目录下一小时以内更改过的文件:

find /root/ -type f -mmin -60

wKioL1ngT4yTKv9JAAINiL3TS8A767.png

那个表示分钟的数字可以改变,例如想查看两个小时以内的就使用-120,以此类推。


使用find命令查找文件的同时执行ls -l命令:

命令如下:

find /root/ -type f -mmin -60 -exec ls -l {} \;

wKiom1ngUkOA1QsSAAG_kgl0ZJE967.png

{}表示的是查找到的批量文件里其中之一的意思。


使用find命令查找文件的同时执行mv命令:

命令如下:

find /root/ -type f -mmin -60 -exec mv {} {}.bak \;

wKioL1ngT4-TzRi0AAWGSEfc-WQ911.png

将查找出来的文件都重命令了


find命令中的-size参数条件可以指定查找文件的大小,例如:查找root目录下大于10k的文件或者查找root目录下小于10k的文件。

命令如下:

find /root/ -size +10

wKioL1ngT5CSztTWAAEoHEoBgQI568.png


find /root/ -size -10

wKiom1ngUkqyv9xMAAiSBEcop3s391.png


同样的可以同时执行ls -lh命令查看检索出来的文件的大小:

命令如下:

find /root/ -type f -size -10k -exec ls -lh {} \;

wKiom1ngUk2CQ5HkAAeduafxuWo890.png


使用M单位的话M要大写:

find /root/ -type f -size -10M -exec ls -lh {} \;

wKioL1ngT5ui5y78AAiXfEzjz_M515.png


文件的后缀:

Linux中是严格区分大小写的,所以a不等于A。在Linux中的文件后缀并不严谨,可以随意自定义后缀名。而在Windows中,文件的后缀名是绑定着执行程序的。所以在Linux上文件的后缀并不代表这个文件的类型。

Linux中可以通过LANG变量更改当前环境的语言,例如更改为英文就是:LANG=en

wKioL1ngUVuQDrI3AAWxpteUPJg473.png




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1972042,如需转载请自行联系原作者

相关文章
|
9天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
3天前
|
Linux
【Linux】深入理解ls命令
【Linux】深入理解ls命令
|
1天前
|
安全 网络协议 Linux
【专栏】一文教你玩转 Linux 的 ping 命令,从此成为 Linux 网络高手
【4月更文挑战第28天】本文详细介绍了Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法。通过ping,用户可测试网络连通性、诊断故障及评估性能。此外,文章还讨论了ping在不同协议、模拟网络环境及与其他命令结合使用时的场景。注意防火墙和网络环境可能影响ping结果,理解错误信息有助于网络问题排查。熟练掌握ping命令,能助你成为Linux网络专家。不断学习和实践,提升网络技能,为构建稳定网络环境贡献力量。
|
3天前
|
XML 安全 Linux
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作
|
5天前
|
监控 Linux Windows
50个必知的Linux命令技巧,你都掌握了吗?(下)
50个必知的Linux命令技巧,你都掌握了吗?(下)
|
6天前
|
Linux Shell Windows
Linux 常用基本命令
Linux 常用基本命令
|
6天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
6天前
|
Linux
【Linux】常用命令
【Linux】常用命令
25 0
|
6天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
22 0
Linux 网络操作命令Telnet
|
8天前
|
存储 Ubuntu Linux
Linux 自动化处理命令 Expect 使用教程
Linux 自动化处理命令 Expect 使用教程
33 0