Linux介紹----搜索命令

1.whereis命令
whereis是搜索系統命令的命令。也就是說,whereis命令不能呢搜索普通文件,而只能把搜索系統命令,whereis命令的基本信息如下:
命令名稱:whereis
英文原意locate the binary ,source ,and manual pages files for a command.
所在路徑:/usr/bin/whereis
執行權限:所有用戶。
功能描述:查找二進制命令,源文件和幫助文件文檔的命令/。
2.which命令
which也是搜索系統命令的命令和whereis命令的區別在於:
whereis命令可以在查找到二進制命令的同時,查找到幫助文檔的位置。
而which命令在查找二進制命令的同時,如果這個命令有別名,則可以查找到別名命令。
which命令的基本信息如下:
命令名稱:which
英文原意:shows the full path of (shell) commands.
所在路徑:/usr/bin/which
執行權限:所有用戶
功能描述:列出命令的所在路徑,
3.locate命令
3.1基本用法:
locate命令纔是可以按照文件名稱搜索普通文件的命令。
優點:按照數據庫搜索,搜索的速度快,消耗資源小,數據庫位置/var/lib/malocate/mlocate.db,可以使用updatedb命令強制更新數據庫。
缺點:只能按文件名來搜索文件,而不能執行更復雜的搜索,比如按照權限,大小,修改時間等搜索文件。
locate命令的基本信息:
命令名稱:locate
英文原意:find files by name
所在路徑:所有用戶。
功能描述:按照文件名搜索文件。

注意
1.如果locate沒法使用。需要先安裝locate。
yum install mlocate
sudo updatedb。
2.如果新建的文件或者文件夾沒有找到的話。
需要執行updatedb.
3.無法搜索到tmp文件夾裏面的文件。
4.find命令:
find命令基本格式:
命令名稱:find。
英文原意:search for files in a direcotry hierarchy
所在路徑:/bin/find
執行權限:所有用戶。
功能描述:在目錄中搜索文件。
4.1按照文件名搜索
find搜索路徑 [選項] 搜索內容
選項:
-name:按照文件名搜索
-iname:按照文件名搜索,不區分大小寫。
inum:按照inode號搜索。
按照文件大小搜索
find搜索路徑 [選項] 搜索內容
選項:
-size[+|-]按照指定大小搜索文件。
這裏的+的意思是搜索比指定大小還要大 的文件,‘-’的意思是搜索比指定大小還要小的文件。
[root@beidouxing ~]#man find
-size n[cwbkMG]
File uses n units of space ,The following suffixes can be used:
‘b’ for 512-byte bolcks (this is the default if no suffix is used)#默認單位,
‘c’ for bytes.搜索單位是c,按照字節搜素。
‘w’ for two-byte words 搜索單位是w,按照雙字節搜索。
‘k’ for Kilobytes (units of 1024 bytes)#按照kb搜索,必須是小寫的k
‘M’ for Megabytes (untis of 1048576 bytes)#按照MB單位搜索,必須是大寫的M
‘G’ for Gigabytes(unytis of 1073741824 bytes)#按照GB單位搜索,必須是大寫的G
按照修改時間搜索:
Linux中的文件有訪問時間,數據修改時間,狀態修改時間這三個時間,我們也可以按照時間來搜索文件。
[root@beidouxing ~ ]#find 搜索路徑[選項] 搜索內容。
選項:
-atime[+|-]時間:按照文件訪問時間搜索。
-mtime[+|-]時間:按照文件修改時間搜索。
-ctime[+|-]時間:按照文件狀態修改時間搜索。
這三個時間的區別我們在stat命令中已經解釋過了,這裏我們mtime數據修改時間來舉例:
-5:代表5天內修改的文件
5:代表5~6天那一天修改的文件。
+5:代表6天前修改的的文件。
時間描述
4.4按照權限搜索
命令格式:
[root@beidouxing ~]# find 搜索路徑[選項] 搜索內容。
選項:
-perm 權限模式:查找文件權限剛好等於‘權限模式’的文件。
-perm -權限模式:查找文件權限全部包含‘權限模式’的文件。
-perm +權限模式:查找文件權限包含‘權限模式’的任意一個權限文件。
按照所有者和所屬組搜索:
[root@beidouxing ~ ]# find 搜索路徑[選項] 搜索內容
選項:
-uid用戶id:按照用戶Id查找用戶的指定Id的文件。
-gid 組id:按照用戶ID查找所屬組是指定id的文件。
-user 用戶名:按照用戶查找所有者是指定用戶的文件。
-group組名:按照組名查找所屬組是指定用戶組的文件。
-nouser: 查找沒有所有者的文件。
按照所有者和所屬組搜索時,-nouser 選項比較常用,主要用來查找垃圾文件。
4.6按照文件類型搜索
[root@beidouxing ~ ]# find 搜索路徑[選項] 搜索內容
選項:
-type d:查找目錄。
-type f: 查找普通文件。
-type l:查找軟連接文件。
4.7邏輯運算符
[root@beidouxing ~] # find 搜索路徑[選項] 搜索內容
選項:
-a:and 邏輯與
-o: or 邏輯或
-not :邏輯非
-a and邏輯與:
find 命令也支持邏輯運算符 選項,其中-a代表邏輯與運算,也就是-a的兩個條件都成立,find搜索的結果才成立,舉個例子:
[root@beidouxing ~ ] find .-size +2k -a -type f#在當前目錄下面搜索大於2k並且文件類型是普通文件的文件
-o:or邏輯與
-o 選項代表邏輯或運算,也就是-o的兩個條件只要其中一個條件成立,find命令就可以找到結果
[root@beidouxing ~ ]find -name cangls -o -name bols
-not:not邏輯非。
-not邏輯非,也就是取反的意思。
4.8其他選項
1.-exec選項:
這裏我們主要講解兩個選項-exec和ok,這兩個選項的基本左右非常相似。
[root@beidouxing ~ ]#find 搜索路徑 [選項] 搜索內容 -exec 命令2{}’’;
其次,這個選項的作用是把find命令的結果交給-exec調用的命令2來處理。"{}"就代表find命令的查找結果。
2.-ok選項:
-ok和-exec選項的作用基本一致,區別在於-exec的命令2 會直接處理,而不詢問。
-ok的命令2 在處理前先詢問用戶是否這樣處理,在得到確認命令後,纔會執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章