Linux下的指令 查詢指令 find

2021-07-29 14:32:00 字數 4271 閱讀 6035

linux下find命令在目錄結構中搜尋檔案,並執行指定的操作。

1. linux下find命令格式:

$ find pathname -options [-print -exec -ok …]

2. 命令功能:

用於在檔案樹中查詢檔案,並作出相應的處理(可能訪問磁碟)。

3. 命令引數:

pathname:find命令所查詢的目錄路徑(也就是要在哪個目錄下查詢)。例如用.來表示當前目錄,用/來表示系統根目錄。

-options :是命令選項的意思。

-print :find命令將匹配到的檔案資訊輸出到標準輸出。

-ok:-exec命令一樣,只不過以一種更安全的模式來執行該引數所給出的shell命令,在執行每乙個命令之前,都會給出提示,讓使用者來確定是否執行。

4.命令選項:

-name:按照檔名查詢檔案

例1:$ find . -name file#在當前目錄下查詢乙個名為 file的檔案( . 代表當前目錄)。

例2:$find -name test*#在當前目錄下查詢已 test 開始的檔案

例3 :$find -name test* -o -name file*#查詢以test或file為開頭的檔案。

-perm:按照檔案許可權查詢檔案

例1:$ find . -perm 777#在當前目錄下查詢許可權為 rwxrwxrwx 的檔案。

例2:$find . -perm -007#在當前目錄下查詢最低許可權為- - - - - -****r w x的檔案。(-007表示最低許可權為007,像擁有777667567等等這些許可權的檔案就可以顯示)

-group:按照檔案所屬組來查詢檔案。

例:$ find . -group root#在當前目錄下查詢屬於 root 組的檔案。

-user:按照檔案屬主來查詢檔案。

例:$find . -user root# 在當前目錄下查詢屬於root使用者的檔案。

-mtime -n +n:按照檔案的更改時間來查詢檔案,- n表示檔案更改時間距現在n天以內,+n表示更改時間據現在n天以前。find命令還有-atime-ctime選項,但他們都和-mtime選項相同。

-mmin -n +n:表示按照更改的分鐘來顯示。用法和-mtime -n +n的用法相同。

例:$find / -mtime -5#在系統中查詢在5天之內更改過的檔案。

$find / -amin -60#在系統中查詢在60分鐘之內更改過的檔案。

$find / -amin +60#在系統中查詢在60分鐘之前更改過的檔案。

-nogroup :查詢無有效所屬組的檔案,即該所屬的組在/etc/groups中不存在。

-nouser:查詢無有效屬主的檔案,即該檔案的屬主在/etc/passwd中不存在。

例:$ find / -newer file1 ! file2

-type查詢某一型別檔案,諸如:

b- 塊裝置檔案。

c- 字元裝置檔案。

p- 管道檔案。

l- 符號鏈結檔案。

例:$ find / -type d#查詢系統下的所有目錄。

-size n:[c]查詢檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。

例1:$ find . -size 500#在當前目錄下查詢長度為500塊的檔案(一塊為512位元組)

例3:$ find . -size -500#查詢小於500位元組的檔案

例5:$ find . -size -500c -size +400c# 查詢小於500而大於400位元組的檔案

例6 :$ find -empty# 查詢大小為0的檔案或空目錄。

-depth :在查詢檔案時,首先查詢當前目錄下的檔案,然後再在其他子目錄下查詢。

-cpio:對匹配的檔案使用cpio命令,將這些檔案備份到磁碟裝置中。

命令練習:

1.在 /logs 目錄中查詢更改時間在5天以前的檔案並刪除它們:

$ find /logs -type f -mtime +5 -exec rm {} \;
2.在/root目錄下用find 命令查詢檔案大小為60位元組的檔案

$ find /root -size

60c -exec

ls -ld {} \;

3.在/root目錄下用find 命令查詢小於500k大於50k的檔案。

find /root -size -500k -size +50k -exec

ls -ld {} \;

4.查詢 / 目錄下檔名為 test 的目錄。

$ find / -name test -type

d

5.查詢系統中最近5分鐘訪問的目錄。

$ find / -amin -5 -type

d

6.查詢系統中最近5天訪問的檔案

$ find / -atime -5 -type

f

7.查詢所有目錄中名稱中按照「.log」結尾的目錄。

$ find /

-name*.

log-type d

8.查詢當前目錄下所有許可權為755的檔案,並設定成777.

$ find . -perm 755 -type f -exec chmod 777 {} \;
9.查詢檔案大小為10k的檔案,並刪除。

$ find . -size 10k -type f -exec rm {} \;
10**.**查詢乙個名為test.txt的檔案並列印其內容。

$ find -name test.txt -exec cat

{} \;

Linux檔案查詢指令

本文 一 locate命令 locate命令用於查詢檔案,它比find命令的搜尋速度快,它需要乙個資料庫,這個資料庫由每天的例行工作 crontab 程式來建立。當我們建立好這個資料庫後,就可以方便地來搜尋所需檔案了。即先執行 updatedb 無論在那個目錄中均可,可以放在crontab中 後在 ...

Linux 搜尋查詢指令

find 搜尋範圍 搜尋標準 關鍵字 find txt 搜尋當前目錄下,所有的.txt檔案 find a 搜尋當前目錄下,所有名稱中包含a的那些檔案或者目錄 find opt txt 搜尋 opt目錄下所有.txt檔案 find opt size 5k find opt size 5k 搜尋 opt...

linux下常用指令

一 顯示該目錄下檔案 指令lsls 顯示當前目錄下所有檔案 指令ls l ls l 顯示當前目錄下所有檔案的許可權,使用者組等資訊 二 目錄建立 指令mkdir mkdir x xx 三 目錄複製 指令cp cp x xx pppp ppp pp xx 複製到pp 四 目錄剪下 指令mv mv x ...