linux查找文件或字符串的命令
1. linux下面用于查到的命令有哪些?
是不是有很多呀,這個我還沒做過統計和調查,不過這篇博客只介紹grep與find的最基本應用。
grep和find功能都是相當的強大,這里也只是介紹這兩個命令的九牛一毛而已。
?
2. grep的簡單小應用?
(1)如果在給定的文件中搜索某個字符串,直接grep “main” ./main.c即可;
(2)如果你要搜索某個特定的字符串,而不確定這個字符串可能會在哪個文件中出現,
那只能在某個大的目錄下遞歸搜索:grep -r "main" ./;
(3)如果只指定-r來搜索,有時候可能會打印出很多無用的錯誤的信息,這會嚴重干擾你在
搜索結果中查找你想要的信息。所以我們要用grep -rs "main" ./,使用-s選項可以幫助我們
將這些因為文件不存在或者文件不可讀而打印出來的錯誤信息統統去除掉;
(4)如果你想知道字符串所在的行號,那一定要指定-n選項:grep -nrs "main" ./;
(5)可是很多時候你按照上面指定的條件進行搜索,在搜索結果中可能仍然有很多不是你想要的。
比如你要搜索的字符串是"main",而要搜索結果中你可能會看到很多諸如"main_function",
"mainly"等等這些包含"main"的更長的字符串。此時我們就需要借助于-w這個命令選項來過濾。
grep -nrws "main" ./。
?
3. find的簡單小應用?
目前我遇到的應用就是在整個系統成千上萬的文件中去找某個特定的文件。
find ./ -name "libtest.so"
這樣find命令就會在指定的path下遞歸查找某個特定的文件。
當然find的實際功能是非常非常大的,比如:
find ./ -perm 777
用來在當前path下遞歸查找所有權限為777的文件。
?
4. find與grep無敵組合?
如果你查找一個字符串要把整個系統的所有文件都過濾一遍,效率是不是太低了點?
我們可以用類似于如下的命令來提高效率:
find ./ -name "*.c" | xargs grep "main"
這樣做的目的就是在指定path下先縮寫范圍到所有的.c文件,然后在.c文件中查找
特定的字符串。
?
以上純屬個人的一點小小心得之總結。如有雷同,純屬巧合。
轉載于:https://www.cnblogs.com/pangblog/p/3304041.html
總結
以上是生活随笔為你收集整理的linux查找文件或字符串的命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恭送功臣
- 下一篇: step by step设置postgr