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:配置文件