欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
精通 Linux 上的文件搜索

編譯自: https://www.networkworld.com/article/3227075/linux/mastering-file-searches-on-linux.html

作者: Sandra Henry-stocker

譯者: jessie-pang

在 Linux 系統上搜索文件的方法有很多,有的命令很簡(jiǎn)單,有的很詳細。我們的目標是:縮小搜索范圍,找到您正在尋找的文件,又不受其他文件的干擾。在今天的文章中,我們將研究一些對文件搜索最有用的命令和選項。我們將涉及:

  • 快速搜索

  • 更復雜的搜索條件

  • 組合條件

  • 反轉條件

  • 簡(jiǎn)單和詳細的回應

  • 尋找重復的文件

有很多有用的命令可以搜索文件,find 命令可能是其中最有名的,但它不是唯一的命令,也不一定總是找到目標文件的最快方法。

快速搜索命令:which 和 locate

搜索文件的最簡(jiǎn)單的命令可能就是 which 和 locate 了,但二者都有一些局限性。which 命令只會(huì )在系統定義的搜索路徑中,查找可執行的文件,通常用于識別命令。如果您對輸入 which 時(shí)會(huì )運行哪個(gè)命令感到好奇,您可以使用命令 which which,它會(huì )指出對應的可執行文件。

$ which which

/usr/bin/which

which 命令會(huì )顯示它找到的第一個(gè)以相應名稱(chēng)命名的可執行文件(也就是使用該命令時(shí)將運行的那個(gè)文件),然后停止。

locate 命令更大方一點(diǎn),它可以查找任意數量的文件,但它也有一個(gè)限制:僅當文件名被包含在由 updatedb 命令構建的數據庫時(shí)才有效。該文件可能會(huì )存儲在某個(gè)位置,如 /var/lib/mlocate/mlocate.db,但不能用 locate 以外的任何命令讀取。這個(gè)文件的更新通常是通過(guò)每天通過(guò) cron 運行的 updatedb 進(jìn)行的。

簡(jiǎn)單的 find 命令沒(méi)有太多限制,不過(guò)它需要指定搜索的起點(diǎn)和搜索條件。最簡(jiǎn)單的 find 命令:按文件名搜索文件。如下所示:

$ find . -name runme

./bin/runme

如上所示,通過(guò)文件名搜索文件系統的當前位置將會(huì )搜索所有子目錄,除非您指定了搜索深度。

不僅僅是文件名

find 命令允許您搜索除文件名以外的多種條件,包括文件所有者、組、權限、大小、修改時(shí)間、缺少所有者或組,和文件類(lèi)型等。除了查找文件外,您還可以刪除文件、對其進(jìn)行重命名、更改所有者、更改權限和對找到的文件運行幾乎任何命令。

下面兩條命令會(huì )查找:在當前目錄中 root 用戶(hù)擁有的文件,以及不被指定用戶(hù)(在本例中為 shs)所擁有的文件。在這個(gè)例子中,兩個(gè)輸出是一樣的,但并不總是如此。

$ find . -user root -ls

396926 0 lrwxrwxrwx 1 root root 21 Sep 21 09:03 ./xyz -> /home/peanut/xyz

$ find . ! -user shs -ls

396926 0 lrwxrwxrwx 1 root root 21 Sep 21 09:03 ./xyz -> /home/peanut/xyz

感嘆號 ! 字符代表“非”:反轉跟隨其后的條件。

下面的命令將查找具有特定權限的文件:

$ find . -perm 750 -ls

397176 4 -rwxr-x--- 1 shs shs 115 Sep 14 13:52 ./ll

398209 4 -rwxr-x--- 1 shs shs 117 Sep 21 08:55 ./get-updates

397145 4 drwxr-x--- 2 shs shs 4096 Sep 14 15:42 ./newdir

接下來(lái)的命令顯示具有 777 權限的非符號鏈接文件:

$ sudo find /home -perm 777 ! -type l -ls

397132 4 -rwxrwxrwx 1 shs shs 18 Sep 15 16:06 /home/shs/bin/runme

396949 4 -rwxrwxrwx 1 root root 558 Sep 21 11:21 /home/oops

以下命令將查找大小超過(guò)千兆字節的文件。請注意,我們找到了一個(gè)非常有趣的文件。它以 ELF core 文件格式表示了該系統的物理內存。

$ sudo find / -size +1G -ls

4026531994 0 -r-------- 1 root root 140737477881856 Sep 21 11:23 /proc/kcore

1444722 15332 -rw-rw-r-- 1 shs shs 1609039872 Sep 13 15:55 /home/shs/Downloads/ubuntu-17.04-desktop-amd64.iso

只要您知道 find 命令是如何描述文件類(lèi)型的,就可以通過(guò)文件類(lèi)型來(lái)查找文件。

b = 塊設備文件

c = 字符設備文件

d = 目錄

p = 命名管道

f = 常規文件

l = 符號鏈接

s = 套接字

D = 門(mén)(僅限 Solaris)

在下面的命令中,我們要尋找符號鏈接和套接字:

$ find . -type l -ls

396926 0 lrwxrwxrwx 1 root root 21 Sep 21 09:03 ./whatever -> /home/peanut/whatever

$ find . -type s -ls

395256 0 srwxrwxr-x 1 shs shs 0 Sep 21 08:50 ./.gnupg/S.gpg-agent

您還可以根據 inode 號來(lái)搜索文件:

$ find . -inum 397132 -ls

397132 4 -rwx------ 1 shs shs 18 Sep 15 16:06 ./bin/runme

另一種通過(guò) inode 搜索文件的方法是使用 debugfs 命令。在大的文件系統上,這個(gè)命令可能比 find 快得多,您可能需要安裝 icheck。

$ sudo debugfs -R 'ncheck 397132' /dev/sda1

debugfs 1.42.13 (17-May-2015)

Inode Pathname

397132 /home/shs/bin/runme

在下面的命令中,我們從主目錄(~)開(kāi)始,限制搜索的深度(即我們將搜索子目錄的層數),并只查看在最近一天內創(chuàng )建或修改的文件(mtime 設置)。

$ find ~ -maxdepth 2 -mtime -1 -ls

407928 4 drwxr-xr-x 21 shs shs 4096 Sep 21 12:03 /home/shs

394006 8 -rw------- 1 shs shs 5909 Sep 21 08:18 /home/shs/.bash_history

399612 4 -rw------- 1 shs shs 53 Sep 21 08:50 /home/shs/.Xauthority

399615 4 drwxr-xr-x 2 shs shs 4096 Sep 21 09:32 /home/shs/Downloads

不僅僅是列出文件

使用 -exec 選項,在您使用 find 命令找到文件后可以以某種方式更改文件。您只需參照 -exec 選項即可運行相應的命令。

$ find . -name runme -exec chmod 700 {} \;

$ find . -name runme -ls

397132 4 -rwx------ 1 shs shs 18 Sep 15 16:06 ./bin/runme

在這條命令中,{} 代表文件名。此命令將更改當前目錄和子目錄中任何名為 runme 的文件的權限。

把您想運行的任何命令放在 -exec 選項之后,并使用類(lèi)似于上面命令的語(yǔ)法即可。

其他搜索條件

如上面的例子所示,您還可以通過(guò)其他條件進(jìn)行搜索:文件的修改時(shí)間、所有者、權限等。以下是一些示例。

根據用戶(hù)查找文件

$ sudo find /home -user peanut

/home/peanut

/home/peanut/.bashrc

/home/peanut/.bash_logout

/home/peanut/.profile

/home/peanut/examples.desktop

根據權限查找文件

$ sudo find /home -perm 777

/home/shs/whatever

/home/oops

根據修改時(shí)間查找文件

$ sudo find /home -mtime +100

/home/shs/.mozilla/firefox/krsw3giq.default/gmp-gmpopenh264/1.6/gmpopenh264.info

/home/shs/.mozilla/firefox/krsw3giq.default/gmp-gmpopenh264/1.6/libgmpopenh264.so

通過(guò)比較修改時(shí)間查找文件

像這樣的命令可以讓您找到修改時(shí)間較近的文件。

$ sudo find /var/log -newer /var/log/syslog

/var/log/auth.log

尋找重復的文件

如果您正在清理磁盤(pán)空間,則可能需要刪除較大的重復文件。確定文件是否真正重復的最好方法是使用 fdupes 命令。此命令使用 md5 校驗和來(lái)確定文件是否具有相同的內容。使用 -r(遞歸)選項,fdupes 將在一個(gè)目錄下并查找具有相同校驗和而被確定為內容相同的文件。

如果以 root 身份運行這樣的命令,您可能會(huì )發(fā)現很多重復的文件,但是很多文件都是創(chuàng )建時(shí)被添加到主目錄的啟動(dòng)文件。

# fdupes -rn /home > /tmp/dups.txt

# more /tmp/dups.txt

/home/jdoe/.profile

/home/tsmith/.profile

/home/peanut/.profile

/home/rocket/.profile

/home/jdoe/.bashrc

/home/tsmith/.bashrc

/home/peanut/.bashrc

/home/rocket/.bashrc

同樣,您可能會(huì )在 /usr 中發(fā)現很多重復的但不該刪除的配置文件。所以,請謹慎利用 fdupes 的輸出。

fdupes 命令并不總是很快,但是要記住,它正在對許多文件運行校驗和來(lái)做比較,你可能會(huì )意識到它是多么有效。

總結

有很多方法可以在 Linux 系統上查找文件。如果您可以描述清楚您正在尋找什么,上面的命令將幫助您找到目標。


via: https://www.networkworld.com/article/3227075/linux/mastering-file-searches-on-linux.html

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
把 Linux 上的文件列表和排序玩出花來(lái) | Linux 中國
linux 系統 chown設置文件權限
常用Linux命令及其作用(超詳細,帶演示)
對 Linux 新手非常有用的20個(gè)命令
Linux系統Web網(wǎng)站目錄和文件安全權限設置
linux之sodu與tar命令
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久