日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件查找和打包压缩

發布時間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件查找和打包压缩 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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 ~]# locate -c sysconfig 147[root@szb ~]# locate -l 3 -r "\.conf$" /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]# find -inum 1053064 ./diff.log示例2: [root@szb test]# find -name file -ls # -ls動作 1053045 4 -rw-rw-r-- 1 root root 13 Jun 21 14:36 ./file [root@szb test]# find /root/test/ -type f -print0 /root/test/file2/root/test/file3/root/test/file4.bak/示例3: [root@szb test]# find -name file -fls info # -fls選項將ls顯示內容保存到文件中 [root@szb test]# cat info 1053045 4 -rw-rw-r-- 1 root root 13 Jun 21 14:36 ./file示例4: [root@szb test]# find /etc/ -regex ".*.conf"示例5: [root@szb test]# find -name file --delete示例6: [root@szb test]# find -perm 644 -exec rm -rf {} \;

3)xargs命令

xargs 1.作用:有些命令不接受標準輸入,如ls;此命令接收標準輸入,將其傳遞到正確的位置上 2.參數: -n 將每#個空格替換成行,從而將一行轉換成多行 -d 輸入指定一個定制的定界符 -0 將null字符代替空格作為分界符,作用等同于find的-print0 示例1: [root@szb test]# xargs hellp world hellp world # ctrl + d 會顯示此行結果示例2: [root@szb test]# seq 4| xargs 1 2 3 4示例3: [root@szb test]# echo {1..10} | xargs -n3 1 2 3 4 5 6 7 8 9 10示例4: [root@szb test]# echo -n "123s1232s1213s123" | xargs -d s -n2 123 1232 1213 123示例5: [root@szb test]# find /data -type f -ls # 按字母次序排序 [root@szb test]# find /data -type f | xargs ls -lS # 從大到小文件排序

2、文件壓縮工具

1)compress命令

compress/uncompress 1.作用:壓縮和解壓縮 2.軟件包:ncompress 3.壓縮后文件后綴:.Z 4.參數: -c 不會刪除原文件,會將壓縮的內容輸出至控制臺 -d 解壓縮或uncompress 示例: [root@szb test]# compress -c file > file.Z

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]# dmesg | gzip > dmesg.log.gz # 配合管道符,將輸入信息進行壓縮

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]# cat file | zip file.zip - # 使用管道進行壓縮 [root@szb test]# unzip -p file.zip > file # 使用-p配合重定向進行解壓

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]# rpm -q tar # tar包已安裝 tar-1.26-35.el7.x86_64[root@szb test]# tar -zcvf file.tar.gz file # 壓縮 [root@szb test]# tar -xvf file.tar.gz # 解壓[root@szb test]# tar -xvf file.tar.gz -C szb/ # 指定具體目錄 [root@szb test]# tar -t -f file.tar.gz # 查看tar包內容[root@szb test]# tar -cvfp file.tar -T file1 -X file2 # file1存放打包的路徑,file2存放不想打包的文件路徑

2)splite命令

splite 1.作用:文件切割 2.參數: -b 指定切割的單位大小 -d 切割后的后綴名通過數值進行區分00-99,默認字母:aa到zz 3.分割后的文件通過cat和重定向>合并一起 [root@szb szb]# split -b 40k -d access_log file [root@szb szb]# ll 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]# cat file* > access.log # 合并

3)cpio命令

cpio 1.作用:非常古老的歸檔工具,包管理命令,復制文件到歸檔包 2.三種運行模式:copy-out:-o,歸檔或打包模式copy-in:-i,提取或解包模式copy-pass:-p,透傳或目錄拷貝模式 3.參數: -t 列出標準輸入的歸檔文件中文件列表 -O 輸出到指定的歸檔文件名 -d 自動生成目錄 [root@szb szb]# rpm -q cpio cpio-2.11-28.el7.x86_64[root@szb szb]# ls | cpio -ov > file.cpio # 將多個文件打包成一個文件 [root@szb szb]# cpio -tv < file.cpio # 查看包內容 [root@szb szb]# cpio -idv < file.cpio # 解包文件

4、案例

示例1: 查找file文件命令 [root@szb szb]# find -name file示例2: 刪除/data/files目錄下1周前修改過的且大于10MB的文件 [root@szb szb]# find /data/files -type f -mtime +7 -size +10M -exec rm {} \;示例3: 查找/data目錄下用戶szb的以a開頭的文件 [root@szb szb]# find /data/ -type f -a -user szb -a -name "a*"示例4: 查找file文件命令 [root@szb szb]# find -name file示例5: 查找file文件命令 [root@szb szb]# find -name file

總結

以上是生活随笔為你收集整理的文件查找和打包压缩的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。