欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线

Linux查找文件6個高效工具

2021-02-02    分類: 網站建設

1. 前言

請關注本頭條號,每天堅持更新原創干貨技術文章。

如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

我們使用Linux過程中,經常會有搜索文件的需求,那么Linux命令下有哪些工具可以快速查找文件呢?先來了解一下這些工具:


linux查找文件

1.1 find命令

Linux find 命令是所有 Linux 命令中最有用的一個,同時也是最混亂的一個。它很難,因為它的語法與其他 Linux 命令的標準語法不同。但是,它很強大,因為它允許您按文件名、文件類型、用戶甚至是時間戳查找文件。使用 find 命令,您不但可以找到具這些屬性任意組合的文件,還可以對它找到的文件執行操作。

1.2 locate命令

Linux locate命令用于查找符合條件的文檔,他會去保存文檔和目錄名稱的數據庫內,查找合乎范本樣式條件的文檔或目錄。locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有檔案名稱及路徑的數據庫,之后當尋找時就只需查詢這個數據庫,而不必實際深入檔案系統之中了。在一般的 distribution 之中,數據庫的建立都被放在 crontab 中自動執行。

1.3 grep命令

Linux grep命令用于查找文件里符合條件的字符串。grep也可以根據文件名查找文件,但一般用于查找文件內的內容。

grep(global search regular expression(RE) and print out the line,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。

1.4 whereis命令

whereis命令只能用于程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。

1.5 which命令

which命令的作用是,在PATH變量指定的路徑中,搜索某個系統命令的位置,并且返回第一個搜索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。

1.6 type命令

type命令其實不能算查找命令,它是用來區分某個命令到底是由shell自帶的,還是由shell外部的獨立二進制文件提供的。如果一個命令是外部命令,那么使用-p參數,會顯示該命令的路徑,相當于which命令。

1.7 總結

which 查看可執行文件的位置。

whereis 查看文件的位置。

locate 配合數據庫查看文件位置。

find 實際搜尋硬盤查詢文件名稱。

type 區分命令類型

2. find命令使用案例

2.1 根據文件名查找

查找zcwyou.txt這個文件,從/開始查找,即在Linux所有掛載的分區和目錄中查找。

[root@zcwyou ~]# find / -name zcwyou.txt

只查找.txt結尾的文件

[root@zcwyou ~]# find / -name '*.txt'

查找txt和pdf結尾的文件

[root@zcwyou ~]# find . -name "*.txt" -o -name "*.pdf"

2.2 從某個目錄開始查找文件

從當前用戶的家目錄開始查找

[root@zcwyou ~]# find ~ -name zcwyou.txt

從當前目錄開始查找

[root@zcwyou ~]# find . -name zcwyou.txt

從/var目錄開始查找

[root@zcwyou ~]# find /var -name zcwyou.txt

2.3 忽略大小寫

查找文件名帶有abc的文件,忽略大小寫

使用選項-iname

[root@zcwyou ~]# find / -iname *abc*

2.4 根據文件類型查找

使用選項-type

查找某一類型的文件,例如:

b - 塊設備文件。

d - 目錄。

c - 字符設備文件。

p - 管道文件。

l - 符號鏈接文件。

f - 普通文件。

在/etc目錄下查找所有的目錄,并打印出來

[root@zcwyou ~]# find /etc -type d -print 

在當前目錄下查找除目錄以外的所有類型的文件

[root@zcwyou ~]# find . ! -type d -print

在/etc目錄下查找所有的符號鏈接文件

[root@zcwyou ~]# find /etc -type l -print

2.5 基于目錄深度搜索

查找當前目錄及向下大深度限制為3的所有文件

[root@zcwyou ~]# find . -maxdepth 3 -type f

2.6 基本文件時間查找

使用格式:

find . -type f 時間類型

UNIX/Linux文件系統每個文件都有三種時間類型:

訪問時間 (-atime/天,-amin/分鐘):用戶最近一次訪問時間。

修改時間 (-mtime/天,-mmin/分鐘):文件最后一次修改時間。

變化時間 (-ctime/天,-cmin/分鐘):文件數據元(例如權限等)最后一次修改時間。

搜索最近七天內被訪問過的所有文件

[root@zcwyou ~]# find . -type f -atime -7

搜索恰好在七天前被訪問過的所有文件

[root@zcwyou ~]# find . -type f -atime 7

搜索超過七天內被訪問過的所有文件

[root@zcwyou ~]# find . -type f -atime +7

搜索訪問時間超過10分鐘的所有文件

[root@zcwyou ~]# find . -type f -amin +10

找出比file.log修改時間更長的所有文件

[root@zcwyou ~]# find . -type f -newer file.log

2.7 根據文件大小查找

使用格式:

find . -type f -size 文件大小

文件大小單元:

b------塊(512字節)

c------字節

w------字(2字節)

k------千字節

M------兆字節

G------吉字節

查找大于10KB的文件

[root@zcwyou ~]# find . -type f -size +10k

查找小于30M的文件

[root@zcwyou ~]# find . -type f -size -30M

搜索等于55MB的文件

[root@zcwyou ~]# find . -type f -size 55M

2.8 查找后刪除

刪除當前目錄下所有.test文件

[root@zcwyou ~]# find . -type f -name "*.test" -delete

2.9 根據文件權限/所有權進行匹配

當前目錄下搜索出權限為755的文件

[root@zcwyou ~]# find . -type f -perm 755

找出當前目錄下權限不是600的php文件

[root@zcwyou ~]# find . -type f -name "*.php" ! -perm 600

找出當前目錄用戶zcwyou擁有的所有文件

[root@zcwyou ~]# find . -type f -user zcwyou

找出當前目錄用戶組zcwyou擁有的所有文件

[root@zcwyou ~]# find . -type f -group zcwyou

3. find結合其他工具

3.1 借助-exec選項與其他命令結合使用

找出當前目錄下所有root的文件,并把所有權更改為用戶zcwyou

[root@zcwyou ~]# find .-type f -user root -exec chown zcwyou {} ;

{} 用于與 -exec 選項結合使用來匹配所有文件,然后會被替換為相應的文件名。

找出自己家目錄下所有的.txt文件并刪除

[root@zcwyou ~]# find $HOME/. -name "*.txt" -ok rm {} ;

示例中的-ok 和 -exec 行為一樣,不過它會給出提示,是否執行相應的操作。

3.2 與xargs結合

在使用find命令的-exec選項處理匹配到的文件時, find命令將所有匹配到的文件一起傳遞給exec執行。但有些系統對能夠傳遞給exec的命令長度有限制,這樣在find命令運行幾分鐘之后,就會出現溢出錯誤。錯誤信息通常是“參數列太長”或“參數列溢出”。這就是xargs命令的用處所在,特別是與find命令一起使用。

find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取的一部分文件,然后是下一批,并如此繼續下去。

在有些系統中,使用-exec選項會為處理每一個匹配到的文件而發起一個相應的進程,并非將匹配到的文件全部作為參數一次執行;這樣在有些情況下就會出現進程過多,系統性能下降的問題,因而效率不高;

而使用xargs命令則只有一個進程。另外,在使用xargs命令時,究竟是一次獲取所有的參數,還是分批取得參數,以及每一次獲取參數的數目都會根據該命令的選項及系統內核中相應的可調參數來確定。

來看看xargs命令是如何同find命令一起使用的,并給出一些例子。

查找系統中的每一個普通文件,然后使用xargs命令來測試它們分別屬于哪類文件

[root@zcwyou ~]# find . -type f -print | xargs file

在整個系統中查找內存信息轉儲文件(core dump) ,然后把結果保存到/tmp/core.log 文件中:

[root@zcwyou ~]# find / -name "core" -print | xargs echo "" >/tmp/core.log

用grep命令在所有的普通文件中搜索hostname這個詞

[root@zcwyou ~]# find . -type f -print | xargs grep "hostname" 

刪除當前目錄下30天以前的所有東西

[root@zcwyou ~]# find . -ctime +30 -exec rm -rf {} ;

或者

[root@zcwyou ~]# find ./ -mtime +30 -print|xargs rm -f -r 

刪除文件大小為零的文件

[root@zcwyou ~]# find ./ -size 0 | xargs rm -f &

find命令配合使用exec和xargs可以使用戶對所匹配到的文件執行幾乎所有的命令。

4. locate命令

locate命令其實是“find -name”的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數據庫,CentOS7數據庫的位置在/var/lib/locatedb,CentOS6數據庫位置在/var/lib/mlocate/mlocate.db,這個數據庫中含有本地所有文件信息。Linux系統自動創建這個數據庫,默認情況下每天自動更新一次,所以使用locate命令查不到最新變動過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數據庫。

以CentOS7.5最小化安裝為例,默認情況下,系統并沒有集成該工具,需要手動安裝它:

安裝locate工具:

[root@zcwyou ~]# yum -y install mlocate

看到以下輸出表明安裝成功:

Total download size: 113 k

Installed size: 379 k

Downloading packages:

mlocate-0.26-8.el7.x86_64.rpm | 113 kB 00:00:01

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

Installing : mlocate-0.26-8.el7.x86_64 1/1

Verifying : mlocate-0.26-8.el7.x86_64 1/1

Installed:

mlocate.x86_64 0:0.26-8.el7

Complete!

更新數據庫,即把系統中所有文件信息寫入數據庫/var/lib/mlocate/mlocate.db

[root@zcwyou ~]# updatedb

查看以.txt結尾的文件:

[root@zcwyou ~]# locate *.txt

輸出結果:

/root/abc.txt

/root/cisco1.txt

/root/cisco2.txt

/root/compress.txt

/root/cp1.txt

/root/cp2.txt

/root/cut.txt

/root/cut2.txt

/root/diff1.txt

/root/diff2.txt

/root/test.txt

/root/zcwyou.txt

5. grep命令查找文本內容

5.1 根據內容查找

顯示所有以d開頭的文件中包含test的行。

[root@zcwyou ~]# grep 'test' d* 

顯示在aa,bb,cc文件中匹配test的行。

[root@zcwyou ~]# grep 'test' aa bb cc

顯示所有包含每行字符串至少有5個連續小寫字符的字符串的行

[root@zcwyou ~]# grep ‘[a-z]{5}’ aa

顯示/usr/src目錄下的文件(不含子目錄)包含test的行

[root@zcwyou ~]# grep test /usr/src

顯示/usr/src目錄下的文件(包含子目錄)包含test的行

[root@zcwyou ~]# grep -r test /usr/src

在zcwyou.txt文件中查找整個單詞,而不是字符串的一部分(如匹配’test’,而不是’tester123’),

[root@zcwyou ~]# grep -w test zcwyou.txt

不區分大小寫地搜索。默認情況區分大小寫

[root@zcwyou ~]# grep -i test zcwyou.txt

查找關鍵字test,列出包括test的文件名,在當前目錄找

[root@zcwyou ~]# grep -l test *.txt

查找關鍵字test,列出不包括test的文件名,在當前目錄找

[root@zcwyou ~]# grep -L test *.txt 

5.2 以遞歸的方式查找符合條件的文件

在/var/log及其子目錄里,查找帶有shutdown關鍵字的文件

[root@zcwyou ~]# grep -r shutdown /var/log

5.3 反向查找

通過"-v"參數可以打印出不符合條件行的內容。

查找文件名中包含 test 的文件中不包含test 的行,此時,使用的命令為:

[root@zcwyou ~]# grep -v test *test*

6. whereis命令

whereis命令只能用于程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。

whereis命令的使用實例:

查看pwd命令程序所有的位置以及說明文件所在的位置

[root@zcwyou ~]# whereis pwd

輸出結果:

pwd: /usr/bin/pwd /usr/share/man/man1/pwd.1.gz

7. which命令

which命令的作用是,在PATH變量指定的路徑中,搜索某個系統命令的位置,并且返回第一個搜索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。

[root@zcwyou ~]# which wget

輸出結果:

/usr/bin/wget

8. type命令

查找wget程序的位置

[root@zcwyou ~]# type wget

輸出結果:

wget is /usr/bin/wget

查找du程序的位置,使用選項-p,相當于which命令

[root@zcwyou ~]# type -p du

輸出結果

/usr/bin/du

查找cd程序的位置,顯示為builtin,即為Linux內置命令

[root@zcwyou ~]# type cd

輸出結果表明,cd命令為系統集成命令。

cd is a shell builtin

查找ll程序的位置

[root@zcwyou ~]# type ll

輸出結果表示,ll是ls -l的別名。

ll is aliased to `ls -l --color=auto'/

網頁標題:Linux查找文件6個高效工具
地址分享:http://m.kartarina.com/news35/98785.html

成都網站建設公司_創新互聯,為您提供品牌網站制作做網站App設計響應式網站微信小程序關鍵詞優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計
欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线
国产精品国产三级国产aⅴ入口| 99久久伊人精品| 亚洲国产精品人人做人人爽| 精品国产乱码91久久久久久网站| 欧美一级欧美三级| 欧美一区二区三区的| 欧美年轻男男videosbes| 欧美视频在线观看一区| 在线视频亚洲一区| 制服丝袜中文字幕亚洲| 欧美一区二区免费视频| 欧美一区二区三区在| 日韩女优毛片在线| 欧美电影免费观看高清完整版| 欧美成人video| 久久久久久久久伊人| 中文字幕亚洲一区二区av在线| 亚洲色图制服诱惑| 一区二区三区久久久| 亚洲国产美国国产综合一区二区| 午夜精品久久久久久久99水蜜桃| 日韩精品福利网| 国产一二精品视频| 成人h动漫精品一区二区| 色网站国产精品| 欧美一级日韩不卡播放免费| 精品国产乱码久久久久久久久| 国产午夜精品在线观看| 亚洲色图.com| 秋霞国产午夜精品免费视频| 国产福利一区二区三区视频| 91丨porny丨中文| 91精品国产高清一区二区三区蜜臀| 欧美精品一区二区三区很污很色的| 中文字幕一区在线观看视频| 亚洲国产精品麻豆| 国产精品99久久久久久有的能看| 色一情一伦一子一伦一区| 欧美一级日韩一级| 亚洲码国产岛国毛片在线| 日韩电影一区二区三区四区| 成人av在线网| 精品久久久久一区二区国产| 亚洲蜜臀av乱码久久精品| 久久精品国产精品青草| 日本精品视频一区二区| 久久这里只有精品首页| 亚洲国产视频在线| 99久久精品免费看国产免费软件| 欧美日韩情趣电影| 亚洲国产精品v| 看片的网站亚洲| 欧美日本一道本| 亚洲色欲色欲www| 国产成人精品亚洲777人妖| 欧美狂野另类xxxxoooo| 亚洲婷婷在线视频| 国产精选一区二区三区| 日韩欧美一二区| 亚洲午夜久久久久| av在线不卡电影| 国产午夜精品久久| 精品一区二区三区在线观看| 欧美精品一卡两卡| 亚洲一区二区偷拍精品| 99久久国产免费看| 中文一区二区在线观看| 韩国欧美国产一区| 欧美成人一区二区三区片免费 | 蜜桃av一区二区在线观看| 精品视频在线免费看| 亚洲精品视频一区二区| 白白色 亚洲乱淫| 国产精品久久久久久户外露出| 狠狠色综合播放一区二区| 欧美不卡在线视频| 奇米影视7777精品一区二区| 欧美精品久久天天躁| 午夜在线电影亚洲一区| 欧美日韩精品一区二区三区四区| 亚洲一线二线三线视频| 色悠久久久久综合欧美99| 亚洲综合在线免费观看| 欧美视频中文字幕| 日韩精品一卡二卡三卡四卡无卡| 欧美日韩一级视频| 蜜桃一区二区三区在线观看| 日韩精品专区在线影院重磅| 久久精品国产亚洲aⅴ| 日韩欧美国产不卡| 国产精品一区在线观看你懂的| 欧美精品一区二区蜜臀亚洲| 国产a视频精品免费观看| 国产日韩视频一区二区三区| 99久久免费国产| 五月开心婷婷久久| 欧美一级专区免费大片| 国产成人综合视频| 亚洲男人天堂av| 日韩欧美国产精品一区| 国产激情91久久精品导航| 中文字幕在线观看不卡视频| 欧美理论电影在线| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲成人在线免费| 欧美精品一卡两卡| 国产91色综合久久免费分享| 一区二区高清视频在线观看| 日韩一级在线观看| eeuss影院一区二区三区| 亚洲午夜私人影院| 国产拍欧美日韩视频二区| 色美美综合视频| 久久99国产精品麻豆| 中文字幕av一区二区三区免费看| 欧美午夜精品一区二区三区| 久久99精品一区二区三区三区| 国产精品免费丝袜| 欧美精三区欧美精三区| 成人动漫精品一区二区| 日本午夜一区二区| 亚洲日本在线天堂| 精品成人私密视频| 欧美色精品天天在线观看视频| 国产一区二区主播在线| 亚洲国产精品一区二区久久| 中文字幕av一区二区三区高| 欧美一级理论性理论a| 91搞黄在线观看| aaa亚洲精品一二三区| 久久99最新地址| 亚洲午夜三级在线| 亚洲人成伊人成综合网小说| 久久免费的精品国产v∧| 欧美精品乱码久久久久久按摩| 99riav久久精品riav| 成人免费视频一区二区| 国内精品免费**视频| 日韩高清一级片| 午夜精品福利一区二区三区蜜桃| 国产精品福利一区二区| 久久精品视频免费| 亚洲精品一区二区三区在线观看| 欧美精品v日韩精品v韩国精品v| 色综合天天狠狠| 97久久精品人人做人人爽50路| 国产精品资源站在线| 国内精品写真在线观看 | 欧美精品一区二区精品网| 欧美精品自拍偷拍| 5566中文字幕一区二区电影| 欧美性受xxxx黑人xyx性爽| 成人av电影在线观看| 成人av在线资源网站| 成人丝袜视频网| 波多野结衣中文字幕一区| 粉嫩欧美一区二区三区高清影视 | 国产在线国偷精品免费看| 裸体在线国模精品偷拍| 久久99久久精品欧美| 国产麻豆精品在线观看| 国产激情一区二区三区桃花岛亚洲| 国产91精品免费| 91亚洲国产成人精品一区二三| 91玉足脚交白嫩脚丫在线播放| 91麻豆免费在线观看| 91国产视频在线观看| 欧美卡1卡2卡| 精品国产成人在线影院| 中文字幕不卡的av| 亚洲一线二线三线视频| 婷婷激情综合网| 国产一区二区成人久久免费影院| 成人午夜电影小说| 欧美日韩精品福利| 精品美女被调教视频大全网站| 国产免费观看久久| 一区二区三区四区视频精品免费 | 欧美性xxxxxx少妇| 日韩视频免费直播| 欧美极品aⅴ影院| 亚洲激情中文1区| 久久99精品国产.久久久久| 国产宾馆实践打屁股91| 欧美伊人久久久久久午夜久久久久| 91精品久久久久久久91蜜桃| 中文字幕欧美日本乱码一线二线| 亚洲精品水蜜桃| 精品一二三四区| 色偷偷88欧美精品久久久| 欧美成人国产一区二区| 亚洲免费观看高清完整| 韩国精品一区二区| 在线观看亚洲a| 欧美经典一区二区| 日日夜夜免费精品视频| 成人国产精品免费观看动漫| 日韩三级电影网址| 一区二区三区在线看| 成人av在线电影|