Linux學習筆記7 命令與檔案的查詢

2021-10-23 09:28:52 字數 2236 閱讀 5660

知道檔案放在**,才能進行修改或維護等操作,這就用到了檔案查詢命令。

指令碼檔案的查詢

【which】查詢(執行檔案)

語法:

[root@localhost ~]

# which [-a] command

選項或引數:

-a:將所有由path目錄中可以找到的命令均列出(所有同名)

這個命令是根據【path】所規範的路徑,去查詢執行檔案的檔名,重點是找出執行檔案,且which後面接的是完整的檔名。

檔案的查詢

find不常用,除了速度慢外還影響硬碟效能,一般都是先使用whereis或locate。

whereis只找系統中某些特定目錄下面的檔案,locate則是利用資料庫來查詢檔案名。兩者都沒有實際查詢硬碟內的檔案系統狀態,比較省時間。

【whereis】

語法:

[root@localhost ~]

# whereis [-bmsu] 檔案或目錄

選項與引數:

-l:可以列出whereis會去查詢的幾個主要目錄

-b:只找binary(二進位制)格式的檔案

-m:只找在說明檔案manual路徑下的檔案

-s:只找source原始檔

-u:查詢不在上述三個專案當中的其他特殊檔案

主要針對/bin/sbin下面的執行檔案,以及/usr/share/man下面man page檔案,跟幾個比較特定的目錄來處理而已,所以速度當然快得多。

【locate/updatedb】

[root@localhost ~]

# locate [-ir] keyword

選項與引數:

-i:忽略大小寫的差異

-c:不輸出檔名,僅計算找到的檔案數量

-l:僅輸出幾行的意思,例如輸出五行則是-l 5

-r:後面可接正規表示式的顯示方式

使用locate尋找資料特別快,這是因為locate尋找的資料是由已建立的資料庫/var/lib/mlocate/裡面的資料所查詢到的,所以不用再去硬碟當中讀取資料。但是有乙個限制,就是如果資料庫沒有更新,最新建立的檔案資料無法查詢到,手動更新資料庫直接輸入【updatedb】即可。

【find】

[root@localhost ~]

# find [path] [option] [action]

選項與引數:

1、與時間有關的選項有-atime、-ctime、-mtime。以mtime進行說明

-mtime n:n為數字,意義為在n天之前的一天內被修改過內容的檔案

-mtime +n:列出在n天之前(不含n)被修改過內容的檔案

-mtime -n:列出在n天之內(含n)被修改過內容的檔案

-newer file:file為乙個存在的檔案,列出比此檔案還要新的檔案

2、與使用者或使用者組名稱有關的引數:

-uid n:n為數字,這個數字是使用者的賬號id,即uid,記錄在/etc/passwd裡面

-gid n:使用者組id,即gid,記錄在/etc/group

-user name:name為使用者的賬號

-group name:使用者組名稱

-nouser:查詢檔案的擁有者不在/etc/passwd中

-nogroup:檔案擁有使用者組不存在於/etc/group中

3、與檔案許可權及名稱有關的引數:

-name filename:查詢檔案名稱為filename的檔案

-size [+-] size:查詢比size還要大(+)或(-)的檔案

-type type:查詢檔案型別為type的

-perm mode:查詢檔案許可權剛好等於mode的

-perm -mode:查詢檔案許可權全部囊括mode的

-perm /mode:查詢檔案許可權包含任一mode許可權的

4、額外可進行的操作

-exec command:command為其命令,-exec後面可再接額外的命令來處理查詢到的結果

-print:將結果列印到螢幕上,預設操作

(find後面可以接多個目錄進行查詢,同時預設也會查詢子目錄)

例:find的特殊操作

[root@localhost ~]

# find / -perm /7000 -exec ls -l {} \;

持續更新中

linux學習筆記(檔案磁碟命令)

1.當前目錄檔案資訊檢視命令 ls ls a 檢視當前目錄所有檔案資訊 ls l 檢視當前目錄所有檔案的詳細資訊 ls h 人性化顯示當前目錄資訊,常和 l連用,如檔案比較大時,不用位元組顯示大小,用k,或m等 當當前目錄檔案較多時可以用萬用字元列出相匹配目錄 如 ls sys 列出以sys開頭的檔...

linux學習筆記 檔案處理命令

1 touch 命令 touch 建立檔名 touch 檔名 在根目錄就是直接寫根目錄,如果不是在根目錄建立就寫詳細的目錄名稱的絕對路徑 touch test01 test02 同時建立兩個檔名 touch test test 建立帶有空格的檔名 不建議建立帶有空格的檔名,在後面查詢時都需要帶空格查...

Linux學習筆記7

對於目錄 r許可權 檢視目錄內檔案列表的許可權 w許可權 在該目錄內建立 刪除 重新命名檔案的許可權 x許可權 能否使用cd命令進入到目錄的許可權 許可權計算轉換 eg rwxrw r 766 654 rw r xr chmod 許可權 檔名稱 設定檔案 目錄許可權 eg chmod 777 hah...