Linux之find


命令功能:

find命令是用來在給定的目錄下查找符合給定條件的文件。它需要從磁盤中查找,效率低,whereis和locate是基於緩存中數據庫查找,效率很高,但是一些新建的文件可能未加入到數據庫中,使用whereis和locate不一定找到相應的文件。

命令格式:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

命令參數:

expression:

-name       -name可以對文件的basename進行匹配。查找的文件名最好使用引號包圍,可以配合通配符進行查找,但是basename中不能有“/”字符。默認為遞歸查找。=》見實例1、實例3

-type        根據文件類型搜索:一般需要搜索的文件類型就只有普通文件(f),目錄(d),鏈接文件(l),塊設備文件(b),字符設備文件(c),管道文件(p),socket文件(s)。=》見實例2

命令實例:

1.在當前目錄下,使用-name查找包含“bash”的文件

vbird@Ubuntu1604:~$ ll
total 132
drwxr-xr-x 4 vbird vbird  4096 9月   9 16:05 ./
drwxr-xr-x 5 root  root   4096 9月   8 16:39 ../
-rw-rw-r-- 1 vbird vbird    11 9月   9 16:05 aa
-rw------- 1 vbird vbird   739 9月   9 09:19 .bash_history
-rw-r--r-- 1 vbird vbird   220 9月   8 16:39 .bash_logout
-rw-r--r-- 1 vbird vbird  3771 9月   8 16:39 .bashrc
drwx------ 2 vbird vbird  4096 9月   8 16:41 .cache/
-rw-r--r-- 1 vbird vbird  8980 9月   8 16:39 examples.desktop
-rw-r--r-- 1 root  root  71477 9月   9 16:03 find_cmd.txt
-rw------- 1 vbird vbird    36 9月   9 13:55 .lesshst
lrwxrwxrwx 1 root  root      4 9月   9 13:52 link -> /bin/
-rw-r--r-- 1 vbird vbird   655 9月   8 16:39 .profile
drwxrwxr-x 3 vbird vbird  4096 9月   9 16:16 test/
-rw------- 1 vbird vbird   816 9月   9 16:05 .viminfo
-rw------- 1 vbird vbird   169 9月   9 09:19 .Xauthority
vbird@Ubuntu1604:~$ find ./ -name "*bash*"
./.bash_logout
./.bash_history
./.bashrc
./test/bash22

 2.查找當前目錄下的鏈接文件

vbird@Ubuntu1604:~$ ll
total 132
drwxr-xr-x 4 vbird vbird  4096 9月   9 16:05 ./
drwxr-xr-x 5 root  root   4096 9月   8 16:39 ../
-rw-rw-r-- 1 vbird vbird    11 9月   9 16:05 aa
-rw------- 1 vbird vbird   739 9月   9 09:19 .bash_history
-rw-r--r-- 1 vbird vbird   220 9月   8 16:39 .bash_logout
-rw-r--r-- 1 vbird vbird  3771 9月   8 16:39 .bashrc
drwx------ 2 vbird vbird  4096 9月   8 16:41 .cache/
-rw-r--r-- 1 vbird vbird  8980 9月   8 16:39 examples.desktop
-rw-r--r-- 1 root  root  71477 9月   9 16:03 find_cmd.txt
-rw------- 1 vbird vbird    36 9月   9 13:55 .lesshst
lrwxrwxrwx 1 root  root      4 9月   9 13:52 link -> /bin/
-rw-r--r-- 1 vbird vbird   655 9月   8 16:39 .profile
drwxrwxr-x 3 vbird vbird  4096 9月   9 16:19 test/
-rw------- 1 vbird vbird   816 9月   9 16:05 .viminfo
-rw------- 1 vbird vbird   169 9月   9 09:19 .Xauthority
vbird@Ubuntu1604:~$ find ./ -type l
./link

 3.在當前目錄下查找以a~g開頭,后綴為txt的文件(涉及到正則表達式,后面學到再鏈接

vbird@Ubuntu1604:~$ ll
total 132
drwxr-xr-x 4 vbird vbird  4096 9月   9 16:05 ./
drwxr-xr-x 5 root  root   4096 9月   8 16:39 ../
-rw-rw-r-- 1 vbird vbird    11 9月   9 16:05 aa
-rw------- 1 vbird vbird   739 9月   9 09:19 .bash_history
-rw-r--r-- 1 vbird vbird   220 9月   8 16:39 .bash_logout
-rw-r--r-- 1 vbird vbird  3771 9月   8 16:39 .bashrc
drwx------ 2 vbird vbird  4096 9月   8 16:41 .cache/
-rw-r--r-- 1 vbird vbird  8980 9月   8 16:39 examples.desktop
-rw-r--r-- 1 root  root  71477 9月   9 16:03 find_cmd.txt
-rw------- 1 vbird vbird    36 9月   9 13:55 .lesshst
lrwxrwxrwx 1 root  root      4 9月   9 13:52 link -> /bin/
-rw-r--r-- 1 vbird vbird   655 9月   8 16:39 .profile
drwxrwxr-x 3 vbird vbird  4096 9月   9 16:19 test/
-rw------- 1 vbird vbird   816 9月   9 16:05 .viminfo
-rw------- 1 vbird vbird   169 9月   9 09:19 .Xauthority
vbird@Ubuntu1604:~$ find ./ -name "[a-g]*.txt"
./find_cmd.txt
./test/b.txt
./test/a.txt
./test/dir/d.txt
./test/dir/c.txt

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM