Linux命令學習:find命令的使用
1. 列出當前目錄及子目錄下所有文件和文件夾在Linux系統(tǒng)中,使用find命令可以方便地查找文件或者目錄。要列出當前目錄及子目錄下所有的文件和文件夾,輸入以下命令:```find .```執(zhí)行結果如
1. 列出當前目錄及子目錄下所有文件和文件夾
在Linux系統(tǒng)中,使用find命令可以方便地查找文件或者目錄。要列出當前目錄及子目錄下所有的文件和文件夾,輸入以下命令:
```
find .
```
執(zhí)行結果如下:
```
./po/da.po
./po/sv.po
./po/hr.po
```
其中,列出的文件名會加上"./"符號。
2. 在指定目錄下查找特定后綴名的文件
如果想在/var/www/html/zhuan/test/libiconv-1.9.2目錄下查找以".in"結尾的文件名,可以輸入以下命令:
```
find /var/www/html/zhuan/test/libiconv-1.9.2 -name "*.in"
```
執(zhí)行結果如下:
```
```
其中,“-name”指的是你要查找的文件名。如果想忽略大小寫,可以使用"-iname"命令,例如:
```
find /var/www/html/zhuan/test/libiconv-1.9.2 -iname "*.in"
```
3. 在當前目錄及子目錄下查找特定類型的文件
要在當前目錄及子目錄下查找所有以".txt"和".pem"結尾的文件,可以輸入以下命令:
```
find . -name "*.txt" -o -name "*.pem"
```
執(zhí)行結果如下:
```
./rsakey私鑰.pem
./rsakey公鑰.pem
./aa.txt
./bb.txt
```
其中,"-o"的意思等同于英語中的"or",表示匹配文件路徑或者文件。
4. 基于正則表達式匹配文件路徑
如果想找出深度距離當前目錄至少2個子目錄的所有文件,可以輸入以下命令:
```
find . -mindepth 2 -type f
```
5. 根據文件時間戳進行搜索
要搜索最近七天內被訪問過的所有文件(訪問不等于修改),可以輸入以下命令:
```
find . -type f -atime -7
```
如果剛好等于七天,則為:
```
find . -type f -atime 7
```
如果是大于七天,則為:
```
find . -type f -atime 7
```
其中,"atime"等于append訪問的意思。要搜索訪問時間超過10分鐘的所有文件,可以輸入以下命令:
```
find . -type f -amin 10
```
要找出比abc.log修改時間更長的所有文件,可以輸入以下命令:
```
find . -type f -newer abc.log
```
要搜索最近七天內被修改過的所有文件,可以輸入以下命令:
```
find . -type f -mtime -7
```
其中,"mtime"等于modify修改的意思。如果要搜索最近七天內被變化過的所有文件(變化等于權限的變化),可以輸入以下命令:
```
find . -type f -ctime -7
```
6. 根據文件大小進行匹配
要搜索大于10KB的文件,可以輸入以下命令:
```
find . -type f -size 10k
```
同理,如果要搜索小于10KB的文件,則為:
```
find . -type f -size -10k
```
要搜索文件大小為455字節(jié)的文件,可以輸入以下命令:
```
find . -type f -size 455c
```
其中,"c"代表字節(jié)。
7. 刪除匹配文件
如果要刪除當前目錄下所有".txt"文件,可以輸入以下命令:
```
find . -type f -name "*.txt" -delete
```
要找出當前目錄下權限不是644的html文件,可以輸入以下命令:
```
find . -type f -name "*.html" ! -perm 644
```
如果想找出根目錄用戶ftp擁有的所有文件,可以輸入以下命令:
```
find / -type f -user ftp
```
要找出當前目錄用戶組sunk擁有的所有文件,可以輸入以下命令:
```
find . -type f -group sunk
```
8. 結合其他命令使用
借助-exec選項與其他命令結合使用,可以找出當前目錄下所有root的文件,并把所有權更改為用戶tom。輸入以下命令:
```
find . -type f -user root -exec chown tom {} ;
```
要找出自己家目錄下所有的".txt"文件并刪除,可以輸入以下命令:
```
find $HOME/. -name "*.txt" -ok rm {} ;
```
"-ok"和"-exec"的行為一樣,不過它會給出提示,是否執(zhí)行相應的操作。
9. 搜索但跳過指定的目錄
要查找當前目錄或者子目錄下所有".txt"文件,但是跳過子目錄abc,可以輸入以下命令:
```
find . -path "./abc" -prune -o -name "*.txt" -print
```
以上就是Linux系統(tǒng)中find命令的使用方法,希望對你在編寫電腦SEO相關文章時有所幫助。