国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux中find命令的用法匯總

2024-08-28 00:02:11
字體:
供稿:網(wǎng)友

Linux系統(tǒng)中的 find 命令在查找文件時(shí)非常有用而且方便。它可以根據(jù)不同的條件來查找文件,例如權(quán)限、擁有者、修改日期/時(shí)間、文件大小等等。在這篇文章中,我們將學(xué)習(xí)如何使用 find 命令以及它所提供的選項(xiàng)來查找文件。

在絕大多數(shù)Linux發(fā)行版中,你都可以直接使用 find 命令而無需進(jìn)行任何安裝操作。如果你想在linux系統(tǒng)的命令行中變得特別高效,那么 find 是你必須掌握的命令之一。

find 命令的基本語法如下:

$ find [path] [option] [expression]

一、基本用法

1. 列出當(dāng)前目錄和子目錄下的所有文件

這個(gè)命令會(huì)列出當(dāng)前目錄以及子目錄下的所有文件。

$ find../abc.txt./subdir./subdir/how.php./cool.php

該命令與以下命令效果相同

$ find .$ find . -print

2. 查找特殊的目錄或路徑

下面的命令會(huì)查找當(dāng)前目錄下 test 文件夾中的文件,默認(rèn)列出所有文件。

$ find ./test./test./test/abc.txt./test/subdir./test/subdir/how.php./test/cool.php

下面的命令用于查找指定名稱的文件。

$ find ./test -name "abc.txt"./test/abc.txt

也可以使用通配符

$ find ./test -name "*.php"./test/subdir/how.php./test/cool.php

請注意,所有的文件夾都會(huì)被遞歸地查找。所以,這是用于查找指定擴(kuò)展名文件的一種非常強(qiáng)大的方式。

如果我們嘗試搜索 / 文件夾,也就是根目錄,就會(huì)搜索整個(gè)文件系統(tǒng),包括掛載的設(shè)備以及網(wǎng)絡(luò)存儲(chǔ)設(shè)備。所以請小心使用。當(dāng)然,你隨時(shí)可以通過按 Ctrl + C 來終止命令。

注意:當(dāng)指定文件夾的時(shí)候(例如示例中的"./test"文件夾),忽略末尾的斜杠是沒有問題的。但是,如果文件夾是一個(gè)指向其它位置的鏈接(symlink)時(shí),你必須在末尾寫上斜杠才能使find命令正常工作(find ./test/)。

忽略大小寫

在查找文件名時(shí),忽略大小寫往往非常有用。要忽略大小寫,只需要使用 iname 選項(xiàng),而不是 name 選項(xiàng)。

$ find ./test -iname "*.Php"./test/subdir/how.php./test/cool.php

總是用雙引號或單引號來包圍匹配模式(文件名參數(shù)),這非常有用。不這樣做的話有時(shí)也能正常工作,有時(shí)也可能會(huì)產(chǎn)生奇怪的結(jié)果。

3. 限制目錄查找的深度

find 命令默認(rèn)會(huì)遞歸查找整個(gè)目錄樹,而這非常消耗時(shí)間和資源。好在目錄查找的深度可以手動(dòng)指定。例如我們只想查找一到兩層以內(nèi)的子目錄,可以通過 maxdepth 選項(xiàng)來指定。

$ find ./test -maxdepth 2 -name "*.php"./test/subdir/how.php./test/cool.php$ find ./test -maxdepth 1 -name *.php./test/cool.php

第二個(gè)示例中指定了 maxdepth 為1,表明最多只查找一層內(nèi)的子目錄,也就是只查找當(dāng)前文件夾。

當(dāng)我們只想在當(dāng)前目錄下查找,而不是查找整個(gè)目錄樹的時(shí)候,這個(gè)選項(xiàng)會(huì)特別有用。

與 maxdepth 選項(xiàng)相似,還有一個(gè)選項(xiàng)叫做 mindepth ,正如名字所表示的那樣,它會(huì)至少到達(dá)第 N 層子目錄后才開始查找文件。

4. 反向查找

除了查找滿足條件的文件之外,我們還可以查找不滿足條件的所有文件。當(dāng)我們知道要在查找中排除哪些文件時(shí),這個(gè)選項(xiàng)就能發(fā)揮作用了。

$ find ./test -not -name "*.php"./test./test/abc.txt./test/subdir

在上面的示例中我們找到了所有擴(kuò)展名不是 php 的文件和文件夾。我們也可以使用感嘆號 ! 來代替 -not。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安阳市| 金阳县| 乌拉特中旗| 宜都市| 彝良县| 化州市| 金乡县| 吴忠市| 陆河县| 花莲县| 陕西省| 鄯善县| 米林县| 水富县| 日照市| 灵宝市| 永靖县| 肥乡县| 焦作市| 长岭县| 灵台县| 镇坪县| 罗定市| 张家口市| 安丘市| 咸宁市| 紫金县| 莒南县| 上栗县| 阿尔山市| 邹城市| 青浦区| 舒城县| 甘南县| 松溪县| 都江堰市| 垣曲县| 吴江市| 靖安县| 宾阳县| 宜川县|