Linux常用命令 四

2022-06-06 02:57:10 字數 2599 閱讀 5701

三、檔案搜尋命令

1、檔案搜尋命令locate

2、命令搜尋命令whereis和which

3、檔案搜尋命令find

4、字串搜尋命令grep

5、find命令於grep命令的區別

1、檔案搜尋命令locate

命令格式:locate [檔名]

解析:locate命令是在後台資料庫/var/lib/mlocate中按照檔名搜尋,搜尋速度很快,所以如果搜尋剛建立的檔案可能搜不到的原因是後台資料庫的更新並沒有那麼塊,這時可以通過updatedb命令來更新資料庫

1、locate命令比find命令要高效,因為locate命令是在一定的目錄下進行的搜尋,而find命令是掃瞄全部的檔案進行查詢,就像一般的防毒軟體,掃瞄時間很長,這是因為防毒軟體是掃瞄整個磁碟的

2、可以用locate locate命令來搜尋與locate命令相關的檔案,即檔名中含有locate關鍵字

3、locate搜尋所按照的配置檔案時/etc/updatedb.conf配置檔案進行搜尋的,而該檔案裡面的一些引數所代表的含義分別是:

(a)prune_bind_mounts="yes":開啟搜尋限制,取值只能為yes|no,即下面的限制條件是否生效,yes「全都生效」,no「全不生效」

(b)prunefs="  ":引號中所在的碟符不搜尋

(c)prunenames="  ":含有引號中的字尾名檔案不搜尋

(d)prunepaths="  ":引號中所在的路徑不搜尋

2、命令搜尋命令whereis和which

(1)where is [選項] 命令名:搜尋命令所在路徑以及幫助文件所在位置,即找到有關命令如何使用的文件

選項:-b:只查詢可執行檔案

-m:只查詢幫助檔案

(2)which 命令名:只能看到命令所在位置,如果該命令還有別名,也會顯示出來

例如:which ls

顯示結果:

alias ls='ls --color=auto'

/bin/ls

當你使用ls命令檢視一些資料夾中的內容時,檔名的顏色不一樣,這就是執行了color=auto

a、注意,where is只能搜尋系統命令,即外來的命令,搜尋不了shell自帶的命令,也搜尋不了檔案所在位置

b、which命令並不是所有的命令都能使用,它也不能搜尋shell自帶的命令

c、在終端使用命令時,系統會在環境變數$path(定義的是系統搜尋命令的路徑)中判斷是否有這個命令,要想知道$path的值,可以通過echo $path來獲知

3、檔案搜尋命令find

格式:例1:find / -name install.log

例2:find / -name "install*"

選項:a、find [目錄] -iname install.log:-i是不區分檔名大小寫

b、find [目錄] user root:按照所有者搜尋

c、find [目錄] -nouser:查詢沒有所有者的檔案

d、find [目錄] -mtime +10

-10:10天內修改檔案

10:10天當天修改的檔案

+10:10天前修改的檔案

atime:檔案訪問的時間

ctime:改變檔案屬性

mtime:修改檔案內容

e、find [目錄] size [檔案大小]:按照檔案的大小來搜尋檔案

.:點代表當前目錄

k:注意,如果是千位元組就必須是小寫的k

m:如果搜尋的檔案是兆位元組就必須是大寫的m

無單位:如果搜尋的檔案大小不加單位,系統預設的單位是扇區,linux系統是按照乙個個同心圓來劃分的,乙個扇區就是512k個位元組

f、find [目錄] inum [節點id]:按照節點的id去搜尋檔案

ls -i:這個命令可以搜尋出檔案的節點id

g、find [目錄] -size +20k -a -size -50k:搜尋目錄下檔案大小比20k大且比50k小的檔案

-a:and,邏輯與,兩個條件都滿足

-o:or,邏輯或,只需要滿足其中乙個條件

ls -lh [目標檔案]:可以顯示目標檔案的詳細資訊,但我們搜到了目標檔案,看看是否符合要求,可以用這個命令檢視當前檔案的大小

h、find [目錄] -size +20k -exec ls -lh {} \; :可以對第乙個命令的到的結果執行下一條命令

注意,這裡的-exec是與{} \;搭配使用的,當執行完-exec前的命令,會對得到的結果執行下一條命令

a、find搜尋命令非常消耗資源,所以我們要避免大範圍搜尋

b、萬用字元有哪些呢:

1)*:匹配任意字元

2)?:只匹配乙個字元

3):匹配括號中的任意乙個字元

4、字串搜尋命令grep

grep [選項] [字串] [檔名]:在檔案當中匹配符合條件的字串

選項:-i:忽略大小寫

-v:排除指定字串

find與grep的區別:

1、find命令是嚴格搜尋指定名字的檔案

2、grep命令是搜尋包含指定字串的檔案中的內容,它不是嚴格搜尋,而是包含搜尋

linux常用命令(四)

關機和檢視系統資訊的命令 1.shutdown 正常關機 備註 必須是根使用者,否則需要用su命令切換到根使用者 eg 在5分鐘以內關機 shutdown t 5 關機後重啟 shutdown r 取消關機操作 shutdown c 2.reboot 關機命令。最快的速度關機,不會把記憶體或者緩衝區...

linux 常用命令四 chmod

chmod 命令用於改變 linux 系統檔案或目錄的訪問許可權。三種不同使用者型別 所屬使用者 u 使用者組 g 其他組的使用者 o 三種不同的許可權 讀 r 4 寫 w 2 可執行 x 1 root localhost test ll al總計 316lrwxrwxrwx 1 root root...

linux常用命令(四) find

name 按照檔名查詢檔案。find dir name filename 在 dir目錄及其子目錄下面查詢名字為filename的檔案 find name c 在當前目錄及其子目錄 用 表示 中查詢任何擴充套件名為 c 的檔案,如 find name feedback php find xargs ...