1. 程式人生 > >shell文件查找和壓縮命令

shell文件查找和壓縮命令

data 指定 文件查找 回車 查找文件 正則表達 IT 合並壓縮 默認

locate命令

1.locate filename
模糊匹配 只要文件名中包含關鍵字即可
非實時查找,速度比find快.
依靠索引數據庫 /var/lib/mlocate/mlocate.db
每天自動運行一次來更新數據庫.
updatedb 更新索引數據庫
2.適合搜索變化不太頻繁的文件.對系統的資源消耗不大.

3.實例

1. locate -r "^/etc/.*\.conf$"

find命令

實時查找工具,通過遍歷指定路徑來完成文件查找

查找出來的文件名稱必須是filename而不是包含filename

find / -name "*filename" 模糊匹配查找

實例:

1.find /etc -maxdepth 3 -mindepth 1 -name passwd

2.find -samefile file 查找file的硬鏈接文件

3.find /etc -regex ".*\.conf$" 正則表達式查找

4.find /etc " *.sh" 通配符查找 find /etc -name "*.sh" -ls

5. find /etc -iname sos.conf

6.find /data -size 1024c 查找文件大小範圍在(1023,1024] 1023是開區間表示不包含1023,1024是閉區間表示包含1024.總體表示為大於1023小於等於1024字節

7.find /data -size 1k 查找文件大小範圍在(1-1,1]這個範圍內,表示查找文件大小大於0k,小於等於1k的所有文件.

8.find /data -size -1024 查找的文件大小範圍在 [0,1024-1]的所有文件

9.find /data -size +1023 表示(1023,無窮大]的文件 不包含1023

10. find /mnt -size +10M -exec mv {} /data/ \; 找到mnt目錄下大於10M的文件並且移動到/data目錄下. {}表示搜索出來的文件名本身

xargs命令

默認是把前面命令的輸出信息用空格隔開,但是可以添加選項使用特定符號來代替空格符號

有時候用空格分隔輸出信息同樣實現不了相應的效果

echo f{1..10} | xargs -n2 echo -n 以空格回車符進行分割前面命令的輸出信息

技術分享圖片

壓縮和打包

1.壓縮只能對單個文件進行壓縮,如果需要同時對多個文件進行壓縮,就必須先打包然後再進行壓縮

2.tar 可以對目錄進行打包成一個文件,然後可以使用壓縮命令對這個打包文件進行壓縮

3.創建歸檔文件

tar -cpvf data.tar /data

4.查看歸檔文件tar包下面的所有文件

tar tvf data.tar

5.解壓縮tar包文件

tar xvf data.tar

6.同時進行打包和壓縮

tar -zcpvf data.tar.gz /data

tar xvf data.tar.gz

7.切割和合並壓縮文件

split -b 10M -d data.tar.xz a.tar 把data.tar.xz壓縮包切割成10M一個包

cat a.tar0* > newdata.tar.xz 把分割後的文件合並成一個壓縮包

shell文件查找和壓縮命令