一、find
用來查詢特定檔案,在linux下一切皆是檔案,因此十分有用。
基本格式:find path expression [-exec command {} \;]
會預設遍歷到子目錄。
1、find /home/work/ -name "*.cpp"
查詢/home/work/目錄下,所有檔名以.cpp結尾的檔案,當然目錄也會匹配出來。
2、find /home/work/ -name -type f "*.cpp"
查詢/home/work/目錄下,所有檔名以.cpp結尾的普通檔案。
3、find /home/work/ -iname "*.cpp"
-iname 表示忽略大小寫,-name表示不忽略大小寫,精確匹配。
4、find /home/work/ /etc/ /usr -name "*.cpp"
查詢多個目錄下的.cpp檔案
擴充套件 : find /home/work/ /etc/ /usr -name "[ab].cpp" 查詢a.cpp或者b.cpp檔案
find /home/work/ /etc/ /usr -name "?.cpp" "?"表示任意乙個字元
5、 find /home/work/ -size +20m
查詢大於20m的檔案,-20m表示小於20m
6、find /home/work -atime -5
查詢5天內訪問過的檔案, +5 表示5天內沒有訪問過的檔案。
擴充套件:用stat命令可以獲得相關的時間戳。atime表示最近一次訪問的時間,mtime表示最近一次內容修改的時間,ctime表示最近一次屬性修改的時間,單位是天。amin, mmin,cmin單位是分鐘。
7、find /home/work -atime -5 -a -size -1m
查詢5天訪問過的並且大小小於1m的檔案。
-a 與連線 , -o 或連線, -not 條件取反
二、grep
用來匹配特定的文字行,全稱是global regular expression print。
基本格式: grep [options] pattern [file...]
1、grep "hello" ./*遍歷當前目錄下的所有檔案,把含有"hello"的文字行的列印出來。
grep -r "hello" ./* 會遍歷子目錄。
2、其他引數控制
-i 匹配時,忽略大小寫
-n 顯示行號
-c 只顯示匹配到的文字行總數
-l 只顯示匹配到文字行的檔名
-v 顯示沒有匹配到的文字行,相當於取反操作。
三、wc
文字統計工具,全城word count。使用方法很簡單。能將檔案的行數、字數、位元組數列印出來。
1、wc -l test.txt
統計test.txt中文字的行數。
2、wc -c test.txt
統計位元組數
3、wc -w test.txt
統計字數,我所理解的字就是乙個單詞,單詞都是又空格、tab鍵、換行符來分割的。
4、wc -m test.txt
統計字元數。這和位元組數是有區別的,因為乙個中文字元會佔3個位元組。
四、例項操作
1、統計/home/work/目錄下所有以.txt結尾的檔案個數(不包括目錄)
find /home/work/ -type f -name "*.txt" | wc -l
2、刪除/home/work/目錄下所有以.txt結尾的檔案
find /home/work/ -type f -name "*.txt" -exec rm -f {} \;
-exec 後面跟著執行動作,就是乙個操作命令,即每查詢到乙個檔案就執行rm -f 動作,{}就代表查詢到的檔案,\; 表示命令的結束。
注意,{}和\之間有空格。
也可以這樣做:
find /home/work/ -type f -name "*.txt" | xargs rm -f
3、查詢目錄、檔案
find /home -type d -name 'quejinlong*' //從/home開始查詢目錄名包含quejinlong的目錄
find /home -type f -name 'quejinlong*' //從/home開始查詢檔名包含quejinlong的檔案
4、改變當前目錄下所有檔案的所有權
find . -exec chown owner.[group] {} /; (solaris平台)
find . -exec chown -r owner.[group] {} /; (linux平台)
5、查詢當前目錄下,包含有3306字串的檔案
find . -type f -name "*.xml" |xargs grep "3306"
6、查詢當前目錄一天之前到此時之間修改的檔案,也就是過去的24小時內修改的檔案find -mtime 0
理想0750
清除命令:find . -type f -name "*.html" -print |xargsxargs perl -pi -e 's///g'
清除命令:find . -type f -name "*.html" -print |xargs perl -pi -e 's/window.open.*\)//g'
8、查詢最近24小時內有修改的php檔案並顯示出來
find /usr/local/apache/htdocs/ -type f -name "*.php" -mtime 0 -exec ls -l {} \;
find /usr/local/apache/htdocs/ -type f -name "*.php" -mtime 0 -exec cp {} /opt/muma/ \;
find /usr/local/apache/htdocs/ -type f -name "*.php" -mtime 0 -exec cp {} /opt/muma/ \;
9、批量刪除所有子目錄,保留當前目錄下的檔案
find . -maxdepth 1 -type d -exec ls -t {} \;
find . -maxdepth 1 -type d -exec cp -r {} /opt/temp/ \;
更多:
pythonpip使用方法 pip使用方法整理
匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...
使用方法 離型劑使用方法
1 使用離型劑前必須確保模具乾淨,無粉塵 蠟垢 樹脂垢 油汙等殘留物質。可以使用專用的模具潔模劑進行清洗,不可用其他液體清洗,以免清洗不乾淨或損壞模具。另外,如果您的模具是新的,在清洗乾淨後,務必要對模具進行初步處理,用離型劑在模具表面噴 刷塗5 6次,之後方可正常投入生產。2 使用離型劑時,首先要...
使用方法 卡丁車輪胎使用方法
輪胎的使用方法很重要 卡丁車輪胎是卡丁車場日常執行中的主要易損件,但是輪胎的使用方法很重要。哪些情況下會縮短輪胎的使用壽命呢?一 跑道地面粗糙 有的跑道在鋪瀝青時,或者選錯了瀝青中石子的規格,或者碾壓得不夠平整,導致路面粗糙。有的跑道使用現成的水泥地,但表面粗糙或不平整。有的室內跑道,為了提高輪胎的...