成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 中 find 命令的七個強大用途

系統 Linux
在 Linux 中,find 命令是后端開發人員必須掌握的操作之一,本文將介紹 find 命令的七個實用用途,你最終會掌握它。

可以說,在 Linux 中,find 命令是后端開發人員必須掌握的操作之一,除非你在使用 Windows Server。

在技術面試中,它也是一個常見的話題。讓我們看一個真實的問題:

如果在你的Linux服務器上有一個名為 logs 的目錄,如何刪除其中上次訪問時間超過一年的日志文件???

這種情況很常見,但令人驚訝的是,并不是每個開發人員都能在面試中清晰地寫出這個命令。

答案:首先,我們需要使用 cd 命令進入相應的目錄,然后,命令如下:

linuxmi@linuxmi:~/www.linuxmi.com$ find . -type f -atime +365 -exec rm -rf {} \;

如果你對上述命令還不完全理解,不用擔心。本文將介紹 find 命令的 7 個實用用途,你最終會掌握它。如果你已經知道了,閱讀本文將是一個很好的復習。

1、根據文件名或正則表達式查找文件

讓我們從最簡單的用法開始。要按特定名稱搜索文件,命令如下:

linuxmi@linuxmi:~/www.linuxmi.com$ find . -name linuxmi.sh

上述代碼中的.符號表示當前路徑。如果我們想要搜索另一個路徑下的文件,只需指定即可:

linuxmi@linuxmi:~/www.linuxmi.com$ find /home/linuxmi/linuxmi.com -name linuxmi.png

如何找到所有格式為 png 的圖像?使用正則表達式:

find /home/linuxmi/linuxmi.com -name "*.png"

默認情況下,find 命令搜索常規文件,但最好指定類型以使一切更清晰:

find /home/linuxmi/linuxmi.com  -type f -name "*.png"

2、查找不同類型的文件

除了搜索普通文件外,我們還可以通過指定-type選項來搜索其他類型的文件。

例如目錄:

find . -type d -name "linuxmi*"

或者符號鏈接:

find . -type l -name "linuxmi*"

3、按特定的時間戳查找文件

要按特定的時間戳搜索文件,我們需要了解Linux系統中的3種不同時間戳:

訪問時間戳(atime):文件上次被讀取的時間。

修改時間戳(mtime):文件內容上次被修改的時間。

更改時間戳(ctime):文件的元數據,例如所有權、位置、文件類型和權限設置等上次更改的時間。

所以,就像開始時提到的面試問題一樣,要搜索那些atime超過一年前的文件,我們可以編寫以下命令:

linuxmi@linuxmi:~$ find . -type f -atime +365

如果我們需要找到 mtime 恰好是 5 天前的文件,請不要包含 + 號,因為它表示“大于”。

linuxmi@linuxmi:~$ find . -type f -mtime 5

顯然,+號表示“大于”,-號表示“小于”。因此,我們可以搜索 ctime 在 5 到 10 天之間的文件:

linuxmi@linuxmi:~$ find . -type f -ctime +5 -ctime -10

4、按文件大小查找文件

-size選項使我們能夠按特定大小查找文件。我們可以使用以下約定指定其計量單位:

  • b:512字節塊(默認)
  • c:字節
  • w:兩字節單詞
  • k:千字節
  • M:兆字節
  • G:千兆字節

與按時間戳查找文件類似,+號表示“大于”,-號表示“小于”。例如,要查找大小在10兆字節和1千兆字節之間的文件:

find . -type f -size +10M -size -1G

5、按權限查找文件

適當控制文件的權限是Linux管理員的重要任務。find命令的-perm選項可以幫助我們按特定權限搜索文件:

find . -type f -perm 777

例如,上述命令將搜索所有具有777權限的文件,這意味著文件對其所有者、組和所有用戶具有讀、寫和執行權限。

6、按文件所有者查找文件

這個任務很簡單。我們只需要在-user選項中指定一個用戶名。例如,以下命令將找到所有屬于 linuxmi 的文件:

find -type f -user linuxmi

7、在查找文件后執行命令

在大多數情況下,我們希望在找到所需文件后執行一些后續操作,例如刪除它們、檢查它們的詳細信息等等。-exec命令使所有這些操作變得更加簡單。

現在,為了理解如何使用它,讓我們回到之前提到的面試問題:

find . -type f -atime +365 -exec rm -rf {} ;

上述命令中-exec選項后面是rm -rf,用于刪除文件。{}是找到的結果的占位符。

注意:占位符{}非常重要,特別是如果你想要刪除文件。因為如果你不使用它,命令將對所有文件執行,而不僅僅是通過find命令找到的文件。

為了嘗試一下,在終端上執行以下兩個命令并檢查它們的結果有什么不同:

一個使用了占位符:

find . -type f -atime +5 -exec ls {} ;

另一個沒有使用:

find . -type f -atime +5 -exec ls ;

跟在-exec選項后面的命令必須以分號結束。正如我們所知,轉義字符用于取消單個字符的特殊含義。在Linux中,反斜杠\被用作轉義字符。因此,我們將其用于分號字符。

總結

閱讀完find命令的7個用途后,之前提到的面試問題現在看起來非常簡單了。現在你能直接寫出答案并清楚地解釋嗎?

find . -type f -atime +365 -exec rm -rf {};
find . -type f -atime +365 -exec rm -rf {};


責任編輯:趙寧寧 來源: Linux迷
相關推薦

2021-11-17 15:28:06

LinuxLinux命令

2022-07-01 10:34:03

JavaScript代碼前端

2010-03-04 15:00:12

Linux毀壞命令

2021-11-22 12:13:54

Linuxwget 命令

2023-12-21 18:01:58

Docker容器部署

2024-04-24 14:43:40

Linux命令

2023-07-11 18:32:19

UbuntuLinux應用塢

2009-02-03 08:23:35

Linux命令安全

2023-03-19 16:02:33

JavaScrip技巧編程語言

2023-12-01 15:10:56

2023-11-06 18:06:00

Docker容器

2017-03-17 14:35:38

2011-01-12 09:53:24

Linux運行級別

2024-09-25 08:37:03

TypeScripessential工具類型

2024-05-24 08:34:16

2010-10-09 10:19:50

JavaScriptFunction

2023-04-09 23:37:31

JavaScript開發

2020-12-11 11:08:49

云計算云計算產業云應用

2025-02-10 00:00:00

技巧JavaStreams

2023-11-03 18:01:59

Docker開源平臺
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲最新网址 | 欧美福利视频一区 | 超碰日本 | 性高朝久久久久久久3小时 av一区二区三区四区 | 久久久国产精品 | 久久亚洲一区二区三区四区 | 免费午夜电影 | 亚洲人成人一区二区在线观看 | 中文字幕国产第一页 | 欧美三级三级三级爽爽爽 | 免费观看一级毛片 | 欧美黄色片 | 在线观看深夜视频 | 99久久精品国产一区二区三区 | 欧美一区二区在线免费观看 | 欧美一区二区免费 | 久久精品99国产精品 | 亚洲精品免费在线 | 色综久久| 国产91在线播放 | 日韩在线一区二区三区 | 精品一区视频 | 国产欧美一区二区在线观看 | 国产精品a久久久久 | 国产乱码久久久久久 | 怡红院怡春院一级毛片 | 亚州春色 | 乱码av午夜噜噜噜噜动漫 | 欧美在线观看网站 | 日本精品视频 | 99re热精品视频 | 鸳鸯谱在线观看高清 | 国产精品五月天 | 欧美成人精品在线 | 91精品91久久久 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 久草成人 | 国产三级一区二区 | 韩日三级 | 91精品国产91久久综合桃花 | 91免费在线看 |