2.23find(上)node
2.24find(中)linux
2.25find(下)ssh
2.26文件名后缀socket
1、find 查找文件.net
linux中有不少查找的命令,好比说: which、whereis、locate 。这些都不经常使用,用的最可能是find命令。命令行
顺便记录命令行几个经常使用快捷键:code
ctrl + l :清屏get
ctrl +d :退出终端,相似 exit logout命令it
ctrl +d :命令行有字符时,ctrl+d是日后一个个删除字符module
ctrl + u:删除光标前面的
ctrl +a: 光标移动最前面
ctrl+e:光标移动到最后面
find命令是用来查找文件。
用法:find 路径 -type 文件名
示例:
查找etc目录下的名字为"ssh_config"的文件
[root@wxy03 ~]# find /etc/ -name "ssh_config" /etc/ssh/ssh_config
不太记得文件名了,也能够模糊查询文件
[root@wxy03 ~]# find /etc/ -name "ssh*" /etc/ssh /etc/ssh/ssh_config /etc/ssh/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
也能够只查找目录,-type就是指定查找类型,d就是指目录的意思。同理若是须要查找其它类型的文件就能够-tyep 加上想要查找的文件类型就能够了,好比说:f 就是文件类型,s 是socket文件等等。
[root@wxy03 ~]# find /etc/ -type d -name "ssh*" /etc/ssh /etc/selinux/targeted/active/modules/100/ssh [root@wxy03 ~]#
find按修改时间进行查找:
linux的文件有三个时间,可使用stat命令来查看一下:
[root@wxy03 home]# stat 3.txt File: ‘3.txt’ Size: 68 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 73732 Links: 4 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2018-09-17 23:21:01.419307695 +0800 Modify: 2018-09-17 23:21:01.419307695 +0800 Change: 2018-09-17 23:27:37.947371616 +0800 Birth: - [root@wxy03 home]#
Access:是文件最后的访问时间
Modify:文件的最后一次修改时间
Change:文件状态最后一次修改时间。好比权限修改 、mv等。change状态会收到modify的影响。
find 能够根据这个三个时间进行查找,他们分别是 -atime -mtime -ctime
示例:
查找home目录下一天内修改过的文件,-mtime -1 这个-1就是一天内的意思,若是要查找一天前修改过的改为+1就能够了。
[root@wxy03 home]# find /home/ -type f -mtime -1 /home/3.txt /home/2.txt /home/1.txt [root@wxy03 home]#
同理若是要查找一天之内查看过的文件把mtime改成atime,查找一天之内修改过权限或者移动过的文件mtime改成ctime便可。
以上三个时间只能以天为单位进行查找,find还有一个参数能够按分钟进行查找:
查找120分钟内修改过的文件,-mmIn 120就是120分钟内的,若是想要查找60分钟内的把120改为60便可
[root@wxy03 home]# find / -type f -mmin 120 /var/lib/rpm/__db.003 /var/lib/rpm/__db.001 /var/lib/rpm/__db.002 /var/cache/yum/x86_64/7/timedhosts
find还支持or条件,加上-o参数,好比:查找一天之内修改或者文件名中包含“ssh”的:find /etc/ -type f -o -mtime -1 -o -name "ssh*"
find exec用法:
exec能够把find查到的内容当作后面命令的参数,如把查找到文件统一修改文件名:
[root@wxy03 home]# find /tmp/ -type f -name "*.txt" /tmp/3.txt /tmp/2.txt /tmp/1.txt [root@wxy03 home]# find /tmp/ -type f -name "*.txt" -exec mv {} {}.bak \; [root@wxy03 home]# find /tmp/ -type f -name "*.bak" /tmp/2.txt.bak /tmp/1.txt.bak /tmp/3.txt.bak
注意:使用exec 须要以 ";"结尾,并要使用"\"脱意
find . -newermt '2018-11-18 15:00' ! -newermt '2018-11-18 23:59'
find按文件大小进行查找:
find还能够根据文件大小进行查找,用法:find -size<文件大小>
示例:
查找10k以上的文件:
find /etc/ -type f -size +10k
查找10M以上的文件:
find /etc/ -type f -size +10M
size的文件大小格式:
2、文件后缀
linux系统中文件后缀实际上是没什么用的,可是为了便于区分,咱们习惯在定义一个文件类型的时加一个后缀名,这能够快速分辨文件类型。
经常使用的文件后缀有:
.sh :脚本文件
.txt:文本文件
.gz /.tar :压缩文件
.cnf:配置文件