亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

Linux系統(tǒng)下的查找命令都有哪些

今天小保安要跟大家分享的文章是關于Linux系統(tǒng)下的查找命令都有哪些?我們經(jīng)常需要在系統(tǒng)中查找一個文件或者命令,那么在Linux系統(tǒng)中如何快速定位和精確查找它呢?下面總結了五個常用的基礎命令,分別是which、whereis、type、locate、find。 Linux入門新手和正在Linux學習的小伙伴快來看一看吧,希望能夠對大家有所幫助!

一、which

which命令用于查找并顯示給定命令的絕對路徑,環(huán)境變量PATH中保存了查找命令時需要遍歷的目錄。which指令會在環(huán)境變量$PATH設置的目錄里查找符合條件的文件。也就是說,使用which命令,就可以看到某個系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個位置的命令。

語法

which [options] [arguments]

選項

-n<文件名長度>:制定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名;

-p<文件名長度>:與-n參數(shù)相同,但此處的<文件名長度>包含了文件的路徑;

-w:指定輸出時欄位的寬度;

-V:顯示版本信息。

參數(shù)

指令名:指令名列表。

二、whereis

whereis命令首先會去掉filename中的前綴空格和以.開頭的任何字符,然后再在數(shù)據(jù)庫(var/lib/slocate/slocate.db)中查找與上述處理后的filename相匹配的二進制文件、源文件和幫助手冊文件,使用之前可以使用updatedb命令手動更新數(shù)據(jù)庫。

語法

whereis [options] [arguments]

選項

-b:只查找二進制文件;

-B<目錄>:只在設置的目錄下查找二進制文件;

-f:不顯示文件名前的路徑名稱;

-m:只查找說明文件;

-M<目錄>:只在設置的目錄下查找說明文件;

-s:只查找原始代碼文件;

-S<目錄>只在設置的目錄下查找原始代碼文件;

-u:查找不包含指定類型的文件。

參數(shù)

指令名:要查找的二進制程序、源文件和man手冊頁的指令名。

三、type

type命令用來顯示指定命令的類型,判斷給出的指令是內(nèi)部指令還是外部指令。

命令類型:

alias:別名。

keyword:關鍵字,Shell保留字。

function:函數(shù),Shell函數(shù)。

builtin:內(nèi)建命令,Shell內(nèi)建命令。

file:文件,磁盤文件,外部命令。

unfound:沒有找到。

語法

type [options] [arguments]

選項

-t:輸出“file”、“alias”或者“builtin”,分別表示給定的指令為“外部指令”、“命令別名”或者“內(nèi)部指令”;

-p:如果給出的指令為外部指令,則顯示其絕對路徑;

-a:在環(huán)境變量“PATH”指定的路徑中,顯示給定指令的信息,包括命令別名。

參數(shù)

指令:要顯示類型的指令。

四、locate

locates是查詢系統(tǒng)上預建的文建索引數(shù)據(jù)庫(/var/lib/mlocate/mlocate.db)依賴實現(xiàn)構建的索引。索引的構建是在系統(tǒng)較為空閑時自動進行(周期性任務),管理員手動更新數(shù)據(jù)庫(updatedb)索引構建過程需要遍歷整個根文件系統(tǒng),極消耗資源.

工作特點:

查找速度快

模糊查找

非實時查找

搜索的是文件的全路徑,不僅僅是文件名

可能只搜索用戶具備讀取和執(zhí)行權限的目錄

選項

-i 不區(qū)分大小寫搜索

-n 只列舉前N個匹配項目

參數(shù)

查找字符串:要查找的文件名中含有的字符串。

五、find

find命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數(shù),則find命令將在當前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進行顯示。

實時查找工具,通過遍歷指定的路徑完成文件查找

工作特點:

查找速度略慢

精確查找

實時查找

可能只搜索用戶具備讀取和執(zhí)行權限的目錄

選項

查找條件

1.只搜索層級

-maxdepth level 最大搜索目錄深度,指定目錄為第一級

-mindepth level最大搜索目錄深度

根據(jù)文件名和inode查找:

-name "文件名稱“:支持使用glob

*,?,[],[^]

-iname "文件名稱“:不區(qū)分字母大小寫

-inum n 按inode相同的inode號的文件

isamefile name 相同inode號的文件

-links n 鏈接數(shù)為n的文件

-regex "PATTERN": 以PATTERN匹配整個文件路徑字符串,而不僅僅是文件名稱

更具屬主屬組查找:

-user USERNAME:查找屬主為指定用戶(UID)的文件

-group GREPNAME:查找屬組為指定組(GID)的文件

-uid UserID:查找屬主為指定的UID號的文件

-gid GroupID: 查找屬主為指定的GID號的文件

-nouser:查找沒有屬主的文件

-nogroup:查找沒有屬組的文件

2.根據(jù)文件類型查找:

-type TYPE

f:普通文件

d:目錄文件

l:符號鏈接文件

s:套接字文件

b:塊文件

c:字符設備文件

p:管道文件

組合條件:

與:-a

或:-o

非:-not,!

德.摩根定律

(非A) 或 (非B)= 非(A且B)

(非A) 且 (非B)= 非(A或B)

3.根據(jù)文件大小來查找:

-size [+|-] #UNIT

#UNIT:(#-1,#)

-#UNIT:(0,#-1)

+#UNIT:(#,∞)

根據(jù)時間戳:

以“天”為單位:

-atime[+|-]#

#:[#,#+1]

+#:[#+1,,∞]

-#:[0,#]

-ctime

-mtime

以“分鐘”為單位:

-amin

-mmin

-cmin

根據(jù)權限查找:

-perm[/|-]MODE

MODE:精確權限匹配

/MODE:任何一類(u,g,o)對象的權限中只要能一位匹配即可,或關系,+從centos7開始淘汰

-MODE:每一類對象都必須同時擁有指定權限,與關系

O 表示不關注

處理動作

1. -print:默認的處理動作,顯示至屏幕

2. -ls:類似對于查到的文件執(zhí)行"ls -l"命令

3. -delete:刪除查找到的文件

4. -fls file:查找到的所文件的長格式信息保存至指定文件中

5. -ok COMAND{} \;對查找到的每個文件執(zhí)行由COMMAND制定的命令,對于每個文件執(zhí)行命令之前,都會交互式要求用戶確認

6. -exec COMMAND {} \;對查找到的每個文件執(zhí)行由COMMAND指定的命令

7. {}:用于應用查找到的文件名稱自身

8. find傳遞查找到的文件至后面指定的命令時,查找到所有符合條件的文件一次性傳遞給后面的命令

參數(shù)替換xargs

1. 由于很多命令不支持管道|來傳遞參數(shù),而正常工作中有這個必要,所以就有了xargs命令

2. xargs用于產(chǎn)生某個命令參數(shù),xargs可以讀入stdin的數(shù)據(jù),并且以空格符或回車符將stdin的數(shù)據(jù)分隔成為arguments

3. 注意:文件名或者是其他異議的名詞內(nèi)含有空格符的情況

4. 有些命令不能接受過多參數(shù),命令執(zhí)行可能會失敗,xargs可以解決

find和xargs格式:find | xargs COMMAND

參數(shù)

起始目錄:查找文件的起始目錄。

以上就是小編今天為大家分享的關于Linux系統(tǒng)下的查找命令都有哪些的文章,希望本篇文章能夠對正在從事Linux相關工作和學習的小伙伴們有所幫助。想要了解更多Linux相關知識記得關注馬哥教育官網(wǎng)。最后祝愿小伙伴們工作順利!

聲明:文章來源于網(wǎng)絡,侵刪!

相關新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計算運維、SRE、Devops、網(wǎng)絡安全、云原生、Go、Python開發(fā)專業(yè)人才培訓機構!