Linux
在 RHEL(Gnu/Linux)上掃描/搜尋文件中的單詞的正確方法是什麼
我們想在我們的 Gnu/Linux 機器上掃描單詞。一個簡單的方法是例如
grep
grep -r "some_word" /var
但是,如果我們要掃描整個文件系統,那麼我們不能只做
grep -r "some_word" /
,因為它是掃描 , 中的文件/proc
(這些應該是排除的)。因此我想知道是否有一些有用的工具可以為此目的進行掃描?我知道在 gnu 中
grep
- 我們可以選擇--exclude-dir
,但我仍然想知道在 Gnu/Linux 文件系統上搜尋單詞的更好方法。
find / -path /sys -prune -o -path /proc -prune -o -type f -exec grep -r "some_word" {} \;
我相信這就是你想要的
如果您將其與選項一起使用,則可以使該
find
實用程序保留在單個文件系統中。-xdev
這意味著命令find / -xdev -type f -exec grep -w -F 'word' {} +
… 將留在根文件系統中,而不是進入
/sys
or/proc
。在根文件系統中,它會傳遞成批的文件路徑名
grep
來查找單詞word
.如果您還安裝了其他要搜尋的文件系統,則只需將它們列為頂級搜尋路徑。例如,如果
/home
和/tank
是單獨掛載的分區,並且您要搜尋它們,find / /home /tank -xdev -type f -exec grep -w -F 'word' {} +
謂詞是標準的
-xdev
,應該可用於大多數(如果不是全部)find
.