文件查找:find命令,文件名后缀

首先说下一些在命令窗口常用的快捷键:

Ctrl+L 清屏
Ctrl+C 结束当前命令
Ctrl+A 光标移到行首
Ctrl+E 光标移到行尾
Ctrl+U 删除光标前内容
Ctrl+D 退出当前终端,输入exit命令也能实现。


一、Linux下搜索文件

which是查询环境变量范围内用的。
whereis命令通过预先生成的一个文件列表库查找与给出的文件名相关的文件。用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。
locate命令类似与whereis,如果没有这个命令,需要安装mlocate软件包:
# yum install -y mlocate
不管是whereis或者locate斗不适合精准搜索,所以常用的搜索命令是find。

1、find命令的常用格式

其格式为:
# find [路径] [参数]
以下实例:
1)、以/root/目录下以文件名搜索以.txt结尾的文件:
# find /root/ -name "*.txt" //*号表示所有该类型的文件
文件查找:find命令,文件名后缀
2)、以/root/目录下以文件名搜索以test开头的文件:
文件查找:find命令,文件名后缀
3)、在第二个例子种子中可以看到,以test开头搜索文件会列出所有文件类型,包含目录和文件,如果只想看到目录或者文件,就需要加上文件类型type选项:
# find /root/ -type d -name "test*
文件查找:find命令,文件名后缀
文件类型:

f 普通文件
l 符号链接
d 目录
c 字符设备
b 块设备
s 套接字

二、根据文件时间戳进行搜索

-atime/天,-amin/分 :用户最近一次访问时间。
-mtime/天,-mmin/分:文件最后一次修改时间。
-ctime/天,-cmin/分 :文件数据元(例如权限等)最后一次修改时间。
文件查找:find命令,文件名后缀
我们来看几个实例:
1、查找一天内更改过的文件(-type f):
文件查找:find命令,文件名后缀
2、查找60分钟内更改过的文件(-type f):
文件查找:find命令,文件名后缀
3、查找并列出在一天内/root/目录下改动的文件:
# find /root/ -type f -mtime -1 -exec ls -l {} \; //最后;千万不能少,否则报错。
文件查找:find命令,文件名后缀
4、查找并且重命名/root/目录下以.txt结尾、文件大小于10k的文件:
# find /root/ -type f -name "*.txt" -size -10k -exec mv {} {}.bak \;
执行命令之前:
文件查找:find命令,文件名后缀
执行之后:
文件查找:find命令,文件名后缀
5、find的一个特殊用法:查找inode
# find -inum inode号
6、find的一些用法总结:

find / -type f -atime - 1 查找一天内被访问过的文件。
find / -type f -amin - 10 查10分钟内被访问过的文件。
find / -type f -mtime -1 查找一天内更改过的文件。
find / -type f -mtime +1 查找一天前更改过的文件。
find / -type f -ctime - 1 查找一天内更改过(文件内容/大小/权限)的文件。
find / -type f -mmin -60 -exec mv{} {}.bak \;查找60分钟内更改过的文件再将其重命名。
find / -type f -size +10M -exec ls -lh {} \; 查找大于10M的文件并列出。


二、Linux文件后缀名

Linux下的文件有后缀名(课自定义后缀名),但不代表文件的类型,不像Windows下比如file.txt是文本文档、file.exe是可执行程序。

.sh 脚本或批处理文件
.bz2 bzip2的压缩文件
.gz gzip的压缩文件
.tar tar打包文件
.tbz tar打包并用bzip压缩文件
.tgz tar打包并用gzip压缩的文件
.conf 配置文件
.lock LOCK文件(用来判断一个文件或设备是否被使用)
.rpm REDHATPackage.Manager文件(套件包或软件包)
.c C源程序代码文件
.cpp C++源程序代码文件
.h C或C++程序的头文件
.o 程序目标文件
.pl perl脚本文件
.so 类库文件

转载于:https://blog.51cto.com/3069201/2053682