日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

 

find 命令有什么用 ?

find 命令在 linux 和 UNIX 系統中用于查找文件和目錄,并可對其執行后續操作。

在 find 命令的幫助下,系統管理員可以根據一些搜索條件查找所需的文件。我們可以使用單個或組合多個標準,然后可以對獲得的結果執行操作。可選搜索條件:文件名稱、目錄名稱、創建日期、修改日期、屬主、權限。

find 命令語法格式:

$ find <path> {file-or-directory-name} <options> <action-on-result>

<action-on-result> 可選項:

  • – delete : 刪除文件或目錄
  • -exec command {}; : 根據 find 命令的結果執行命令
  • -ok command : 它將運行與 -exec 相同的命令,但它將在實際執行之前提示

(1) 查找當前工作目錄下的所有文件和目錄

若要只查找目錄,請運行

$ find . -type d

若要只查找文件,請運行

$ find . -type f

(2) 列出特定目錄下的所有文件

假設我們要列出 /home/linuxtechi/Downlods 目錄下的所有文件和目錄,運行

$ find /home/linuxtechi/Downloads

如果只查找文件,請運行

$ find /home/linuxtechi/Downloads -type f

如果只查找目錄,請運行

$ find /home/linuxtechi/Downloads -type d

 

(3) 從目錄中按文件名查找文件

要在特定目錄中按名稱查找文件,請運行

$ sudo find /home -type f -name cleanup.sh

上面的命令將在 /home 文件夾中查找 cleanup.sh 文件。我們還可以在 /var/log 目錄中查找擴展名為 .log 的所有文件,運行

$ sudo find /var/log -type f -name *.log

 

(4) 在多個目錄中查找文件

假設我們想在 /home 和 /root 文件夾中找到 .sh 擴展名的文件,請運行

$ sudo find /home /root -type f -name '*.sh'

 

(5) 忽略文件名大小寫

為了查找文件名不受大小寫影響,我們可以在 find 命令中使用 -iname 選項

$ sudo find /home -type f -iname CleanUP.SH
/home/linuxtechi/automation/cleanup.sh
$

(6) 查找除上述類型之外的所有文件類型

假設我們要查找所有不是上述類型的文件,為此可以在 find 命令中使用 -not 選項,如下所示

$ sudo find /home -type f -not -name '*.mp3'

(7) 使用多個條件查找文件

我們還可以組合多個條件來使用正則表達式搜索文件。假設我們想在主目錄中搜索擴展名為 .sh 和 .mp3 的文件,運行

$ find $HOME -regex ".*.(sh|mp3)$"

 

(8) 使用 OR 條件查找文件

我們還可以組合多個搜索條件,然后使用 OR 操作符根據一個條件中的任何一個條件的滿足來查找文件

$ find $HOME -name "*.sh" -o -name "jumpscripts"
/home/linuxtechi/automation/cleanup.sh
/home/linuxtechi/dumpdata.sh
$

9) 根據權限查找文件

要根據權限查找文件,請在查找命令中使用 - perm 選項。

例如在 /home 目錄中查找具有 0777 權限的所有文件,運行

$ sudo find /home -type f -perm 0777

在用戶目錄查找所有可執行文件

$ find $HOME -type f -perm /a+x

(10) 查找所以隱藏文件

要搜索用戶主目錄中的所有隱藏文件,請運行命令

$ find $HOME -type f -name ".*"

(11) 找到所有具有 SGID 的文件

要定位所有具有 SGID 位的文件,我們可以使用

$ sudo find / -perm /g=s

(12) 找到所有帶有 SUID 的文件

要定位所有 SUID 位的文件,運行

$ sudo find / -perm /u=s

(13) 查找所有可讀但沒有執行權限的文件

若要只查找所有人都可讀但任何人都不能執行的文件,請運行

$ find $HOME -perm -a+r ! -perm /a+x

(14) 搜索幾種文件類型

在一個查找命令中,我們可以搜索多種文件類型

$ find $HOME -type f,d,l

(15) 查找用戶擁有的所有文件

To locate all the file that are owned by a particular user in /home directory, run following command,

要找到 /home 目錄中屬于特定用戶的所有文件,請運行以下命令

$ sudo find $HOME -user linuxtechi

(16) 找到一個組擁有的所有文件

下面的命令將搜索 Apache 組擁有的所有文件。

$ sudo find / -group apache

(17) 按文件大小查找所有文件

Use ‘-size’ option in find command to search files based on the size.
Run following command to find all files whose size is exactly 50MB.

使用 -size 選項根據文件大小進行搜索

查找等于 50MB 的文件

$ find $HOME -size 50M
/home/linuxtechi/dbstuff
$

查找大于 50MB 的文件

$ find $HOME -size +50M

查找小于 50MB 的文件

$ find $HOME -size -50M

查找大小在 40MB 到 500MB 之間的文件

$ find $HOME -size +40M -size -500M

(18) 不下行目錄到其他文件系統

-xdev 選項列出了另一個文件系統中的掛載點或分區,但它不會向下查找它們。

下面的命令將在 / 目錄中搜索大于 100MB 的所有文件,排除其他掛載的文件系統,重定向錯誤消息到 /dev /null

$ find / -xdev -size +100M 2>/dev/null

 

(19) 查找 N 天前修改過的文件

假設我們想要定位 10 天前修改過的所有文件。我們可以使用 -mtime 選項來實現這一點

$ sudo find / -mtime 10 2>/dev/null

(20) 找出 N 天前被訪問過的文件

假設我們想要定位 10 天前被訪問過的所有文件。我們可以使用 -atime 選項來實現這一點

$ sudo find / -atime 30 2>/dev/null

(21) 找到所有的空文件和目錄

要在用戶主目錄中搜索所有空文件,請運行

$ find $HOME -type f -empty
or 
$ find $HOME -type f -size 0

類似地,定位所有空目錄

$ find $HOME -type d -empty

(22) 搜索和刪除文件

使用 find 命令,我們在單個命令中搜索和刪除文件,-delete 選項可以刪除文件。

在下面的例子中,我們正在從用戶的主目錄中搜索并刪除 mp3 文件

$ find $HOME -type f -name "*.mp3" -delete

 

注意: 上面是破壞性命令,執行它時要小心。

(23) 查找最大和最小的文件

To find largest and smallest file, we will combine sort command with find command & if we further want to list top three of those largest files, we will combine head

為了找到最大和最小的文件,我們將結合 sort 命令和 find 命令,如果我們進一步想列出最大文件中的前三個,我們將結合 head 命令列出用戶主目錄中前三個文件

$ find $HOME -type f -exec ls -s {} ; | sort -n -r | head -3
51200 /home/linuxtechi/dbstuff
8276 /home/linuxtechi/.cache/gnome-software/Appstream/components.xmlb
2764 /home/linuxtechi/.local/share/gnome-photos/tracker3/private/meta.db-wal
$

我們同樣可以在用戶的主目錄中找到最小的文件

$ find $HOME -type f -exec ls -s {} ; | sort -n | head -3

(24) 找到所有日志文件并將它們重定向到一個文件

To run command on find command result use -exec option, it’s syntax given below,

要在查找結果上運行命令,使用 -exec 選項,其語法如下所示

$ find -exec {} ;

以下命令將找到所有文件,并將其名稱重定向到 /tmp/logsfiles.txt

$ sudo find /var -type f -name '*.log' -exec ls -lah {} ; > /tmp/logfiles.txt

 

(25) 搜索文件并更改其權限

假設我們想要搜索權限為 777 的所有文件,并將其權限更改為 644

$ find $HOME -type f -perm 777 -exec chmod 644 {} ;

(26) 從文件中搜索文本

Let’s assume we want to search error word in all log files, run following command

假設我們要在所有日志文件中搜索帶有 error 關鍵字的文件,運行以下命令

$ sudo find /var -type f -name '*.log' -exec grep -i 'error' {} ;

在上面的命令中,我們結合了 find 和 grep 命令來完成任務。

分享到:
標簽:linux
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定