生活随笔
收集整理的這篇文章主要介紹了
文件查找和打包压缩
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、文件查找工具
1)locate命令
locate
1.作用:對文件索引數據庫中的內容進行搜索
2.新建系統,/var/lib/mlocate/下沒有mlocate.db文件:1)等一段時間,系統會自動生成此文件2)updatedb命令創建文件索引數據庫文件
3.updatedb對應的配置文件/etc/updatedb.conf,定義了創建mlocate.db目錄索引的工作范圍
4.參數:
-i 不區分大小寫搜索
-r 使用基本的正則表達式
--regex 使用擴展正則表達式
-b 只匹配基名,默認匹配全路徑
-c 顯示匹配文件的數量
-l 限制輸出的條目
5.適用范圍:適合搜索相對靜態不常變化的文件
[root@szb ~
]
147[root@szb ~
]
/apps/nginx/conf/fastcgi.conf
/apps/nginx/conf/nginx.conf
/etc/GeoIP.conf
2)find命令
find
1.作用:在指定路徑直接實時遞歸查找文件,效率不高
2.語法格式:find 查找選項 [查找路徑范圍] [表達式]表達式:默認輸出查找的內容到控制臺,可以是查找條件選項或者處理動作等
3.查找條件選項:-maxdepth 最大搜索遍歷深度-mindepth 最小搜索遍歷深度-name 指定文件名,支持通配符-iname 忽略文件名稱大小寫-type 根據文件類型查找(f/d/l/s/b/c/p)-size 根據文件大小進行匹配-inum 根據inode編號查找,ls -i查看-empty 查找空目錄或空文件-samefile 可以找到和文件相同inode的文件-links 查找鏈接數-regex 正則匹配-user 根據文件數組-uid 根據UID進行匹配-group/-gid 根據屬組的名或id進行匹配-nouser 文件屬主不存在的-nogroup 文件屬組不存在的-perm 根據文件權限,666,必須都是;/666只要有一個權限是;-666都必須包含以天為單位:-atime 根據訪問時間查找-mtime 根據修改時間查找-ctime 根據創建時間查找以分鐘為單位:-amin/-mmin/-cmin
4.動作:-ls 功能類似于ls -l-print0 查找的文件全路徑輸出,并用空字符null代替換行符進行分界-delete 刪除查找出來的文件-ok 配合{} \;一起使用,{}表示查找到的文件,;代表ok語法結束符號,需要交互-exec 等價于-ok,但是不需要交互確認
5.多條件的邏輯組合-a 與-o 或-not/! 非
注意:復雜場景需要()將優先級括起來
示例1:
[root@szb test
]
./diff.log示例2:
[root@szb test
]
1053045 4 -rw-rw-r--
1 root root
13 Jun
21 14:36 ./file
[root@szb test
]
/root/test/file2/root/test/file3/root/test/file4.bak/示例3:
[root@szb test
]
[root@szb test
]
1053045 4 -rw-rw-r--
1 root root
13 Jun
21 14:36 ./file示例4:
[root@szb test
]示例5:
[root@szb test
]示例6:
[root@szb test
]
3)xargs命令
xargs
1.作用:有些命令不接受標準輸入,如ls;此命令接收標準輸入,將其傳遞到正確的位置上
2.參數:
-n 將每#個空格替換成行,從而將一行轉換成多行
-d 輸入指定一個定制的定界符
-0 將null字符代替空格作為分界符,作用等同于find的-print0
示例1:
[root@szb test
]
hellp
world
hellp world 示例2:
[root@szb test
]
1 2 3 4示例3:
[root@szb test
]
1 2 3
4 5 6
7 8 9
10示例4:
[root@szb test
]
123 1232
1213 123示例5:
[root@szb test
]
[root@szb test
]
2、文件壓縮工具
1)compress命令
compress/uncompress
1.作用:壓縮和解壓縮
2.軟件包:ncompress
3.壓縮后文件后綴:.Z
4.參數:
-c 不會刪除原文件,會將壓縮的內容輸出至控制臺
-d 解壓縮或uncompress
示例:
[root@szb test
]
2)gzip命令
gzip/gunzip
1.作用:壓縮和解壓縮,壓縮率比compress高
2.軟件包:gzip
3.壓縮后文件后綴:.gz
4.壓縮率:1-9,默認6,指定壓縮級別:gzip -9
5.參數:
-c 不會刪除原文件,會將壓縮的內容輸出至控制臺
-d 解壓縮或gunzip
6.如果需要保留壓縮包,可以用gzip包的zcat命令:
eg:zcat file.gz > file
示例:
[root@szb test
]
3)bzip2命令
bzip2/bunzip2
1.作用:壓縮和解壓縮,壓縮率比gzip還有好點
2.軟件包:bzip2
3.壓縮后文件后綴:.bz2
4.壓縮率:1-9,默認9
5.參數:
-k 保留源文件
-d 解壓縮或bunzip2
4)xz命令
xz/unxz
1.作用:壓縮和解壓縮,壓縮率更高
2.軟件包:xz
3.壓縮后文件后綴:.xz
4.壓縮率:1-9,默認9
5.參數:
-k 保留源文件
-d 解壓縮或unxz
5)zip命令
zip/unzip
1.作用:壓縮和解壓縮,壓縮率更高
2.軟件包:zip,unzip
3.壓縮后文件后綴:.zip
4.格式:zip file.zip file
5.參數:
-k 保留源文件
-d 解壓縮或unzip
-r 壓縮某個目錄下的所有文件
[root@szb test
]
[root@szb test
]
3、打包工具
1) tar命令
tar
1.作用:磁帶歸檔,用于將多個打包存放在磁帶或磁盤歸檔文件中
2.參數:
常用選項:壓縮:-zcvf;解壓縮:-xvf
-c:創建存檔文件
-t:列出存檔文件內容
-x:將存檔文件解包
-z:指定gzip壓縮格式
-v:顯示詳細信息
-f:指定存檔文件
-j:指定bzip2壓縮格式
-J:指定xz壓縮格式 # xz的壓縮率相對高一點
-p:保留權限
-r:追加文件
-C:指定目錄-T:指定處理的文件
-X:排除指定文件的內容
3.格式:tar -zcvf file.tar file
4.后綴名:.tar.gz或者.tar.bz2或者.tar.xz
[root@szb test
]
tar-1.26-35.el7.x86_64
[root@szb test
]
[root@szb test
][root@szb test
]
[root@szb test
][root@szb test
]
2)splite命令
splite
1.作用:文件切割
2.參數:
-b 指定切割的單位大小
-d 切割后的后綴名通過數值進行區分00-99,默認字母:aa到zz
3.分割后的文件通過cat和重定向>合并一起
[root@szb szb
]
[root@szb szb
]
total
184
-rw-r--r--
1 root root
92669 May
10 21:15 access_log
-rw-r--r--
1 root root
40960 Jun
22 00:34 file00
-rw-r--r--
1 root root
40960 Jun
22 00:34 file01
-rw-r--r--
1 root root
10749 Jun
22 00:34 file02
[root@szb szb
]
3)cpio命令
cpio
1.作用:非常古老的歸檔工具,包管理命令,復制文件到歸檔包
2.三種運行模式:copy-out:-o,歸檔或打包模式copy-in:-i,提取或解包模式copy-pass:-p,透傳或目錄拷貝模式
3.參數:
-t 列出標準輸入的歸檔文件中文件列表
-O 輸出到指定的歸檔文件名
-d 自動生成目錄
[root@szb szb
]
cpio-2.11-28.el7.x86_64
[root@szb szb
]
[root@szb szb
]
[root@szb szb
]
4、案例
示例1:
查找file文件命令
[root@szb szb
]示例2:
刪除/data/files目錄下1周前修改過的且大于10MB的文件
[root@szb szb
]示例3:
查找/data目錄下用戶szb的以a開頭的文件
[root@szb szb
]示例4:
查找file文件命令
[root@szb szb
]示例5:
查找file文件命令
[root@szb szb
]
總結
以上是生活随笔為你收集整理的文件查找和打包压缩的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。