小鳥chacha初學linux 文件查找、歸檔、壓縮

文件查找
1.which
用於顯示命令的完全路徑
[root@localhost ~]# which ls
alias ls='ls --color=tty'
        /bin/ls                               //命令的完全路徑是/bin/ls
[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
[root@localhost ~]# which cd
/usr/bin/which: no cd in (/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin)
which 查找命令的路徑是環境變量規定的路徑

2.whereis 用於查找命令的的路徑、該文件的幫助文件、該文件的相關程序的路徑
[root@localhost ~]# whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz

3.locate
所有包含關鍵字段的文件和目錄都會顯示。locate是搜索一個數據庫,數據庫裏包括當前目錄。
[root@localhost ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/etc/security/opasswd
/lib/security/pam_passwdqc.so
/lib/security/pam_unix_passwd.so
……
新建立的文件的目錄無法自動寫入數據庫,需手動更新數據庫
[root@localhost ~]# touch Loveyouforever
[root@localhost ~]# locate Loveyouforever//無法找到文件目錄
[root@localhost ~]# updatedb//手動更新數據庫
[root@localhost ~]# locate Loveyouforever
/root/Loveyouforever//找到文件目錄

4.find
非常強大的查找命令,現對花費時間會很長,非常消耗資源。很常用
格式
find [目錄] [選項] [條件表達式] [-exec,-ok……]指令 {} \;
find    /etc    -name    passwd            -exec                ls -l   {}  \;
在目錄/etc下查找name是passwd                     放在{}給ls -l執行     執行結束
選項:
-user:查找文件擁有者符合條件的文件
-nouser :沒有擁有者的文件
[root@localhost ~]# su - zhx
[zhx@localhost ~]$ find ./ -user zhx -exec ls -l {}  \;
總計 8
drwxrwxr-x 2 zhx zhx 4096 01-19 00:44 zhx
-rw-r--r-- 1 zhx zhx 124 01-19 00:43 ./.bashrc
-rw-r--r-- 1 zhx zhx 515 01-19 00:43 ./.emacs
總計 16
drwxr-xr-x 2 zhx zhx 4096 01-19 00:43 extensions
drwxr-xr-x 2 zhx zhx 4096 01-19 00:43 plugins
總計 0
總計 0
-rw------- 1 zhx zhx 56 01-19 00:45 ./.bash_history
-rw-r--r-- 1 zhx zhx 176 01-19 00:43 ./.bash_profile
總計 0
-rw-r--r-- 1 zhx zhx 33 01-19 00:43 ./.bash_logout
總計 8
drwxr-xr-x 2 zhx zhx 4096 01-19 00:43 Autostart
總計 0
-rw-r--r-- 1 zhx zhx 381 01-19 00:43 ./.kde/Autostart/.directory
-rw-r--r-- 1 zhx zhx 658 01-19 00:43 ./.zshrc
[root@localhost ~]# userdel zhx//刪除用戶
[root@localhost ~]# find /home/zhx -nouser -exec ls -l {} \;在/home/zhx 查找孤兒文件,因爲zhx已被刪除 zhx家目錄下的所有文件都屬於孤兒文件
總計 8
drwxrwxr-x 2 500 500 4096 01-19 00:44 zhx
-rw-r--r-- 1 500 500 124 01-19 00:43 /home/zhx/.bashrc
-rw-r--r-- 1 500 500 515 01-19 00:43 /home/zhx/.emacs
總計 16
drwxr-xr-x 2 500 500 4096 01-19 00:43 extensions
drwxr-xr-x 2 500 500 4096 01-19 00:43 plugins
總計 0
總計 0
-rw------- 1 500 500 98 01-19 00:46 /home/zhx/.bash_history
-rw-r--r-- 1 500 500 176 01-19 00:43 /home/zhx/.bash_profile
總計 0
-rw-r--r-- 1 500 500 33 01-19 00:43 /home/zhx/.bash_logout
總計 8
drwxr-xr-x 2 500 500 4096 01-19 00:43 Autostart
總計 0
-rw-r--r-- 1 500 500 381 01-19 00:43 /home/zhx/.kde/Autostart/.directory
-rw-r--r-- 1 500 500 658 01-19 00:43 /home/zhx/.zshrc
[root@localhost ~]#

 
-group -nogroup找屬組滿足條件的文件  用法同-user -nouser


-perm 查找權限滿足條件的文件
find -perm num  查找權限是num的文件
       -perm -num 查找權限全部包括num的文件
       -perm +num 查找權限部分包括num的文件

[root@localhost ~]# find / -perm 777 -ok ls -l {} \;|more
< ls ... /bin/sh > ? < ls ... /bin/traceroute6 > ? < ls ... /bin/egrep > ? lrwxrwxrwx 1 root root 10 01-15 04:51 /bin/traceroute6 -> traceroute


-size 查找文件大小滿足條件的文件
-size +num (單位)  大於num(單位)的文件
-size -num(單位)     小於num(單位)的文件
[root@localhost ~]# dd if=/dev/zero of=/root/hello bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 1.01237 seconds, 207 MB/s
[root@localhost ~]# find ./ -size +100M -exec ls -l {} \;
-rw-r--r-- 1 root root 209715200 01-19 01:05 ./hello

-type查找某一類型的文件,主要有以下幾種
條件
b 塊設備文件
d  目錄
c 字符設備文件
p 管道文件
l 鏈接文件
f 普通文件

find -mtime -n +n
-n n天之內
+n n天以爲
n n天以前的 24時小時以內


打包歸檔及壓縮
1.unzip,zip
-l列出壓縮文件多包含的內容
-v顯示詳細的壓縮過程
[root@localhost ~]# zip -lv cc.zip cc//壓縮cc 爲cc.zip
  adding: cc/   (in=0) (out=0) (stored 0%)
total bytes=0, compressed=0 -> 0% savings
[root@localhost ~]# ls
anaconda-ks.cfg  cc.zip   install.log         Loveyouforever
cc               Desktop  install.log.syslog  小鳥chacha初學linux.ncd

2.gzip和zcat
-#:壓縮等級。-1最快,壓縮比最差;-9最慢,壓縮比最小
[root@localhost ~]# gzip -9 Loveyouforever
[root@localhost ~]# ls
anaconda-ks.cfg  Desktop      install.log.syslog  小鳥chacha初學linux.ncd
cc               install.log  Loveyouforever.gz
[root@localhost temp]# zcat redhat.txt.gz
what do you want to do?
shut up

3.tar
-c 建立壓縮文件
-x解壓文件
-v顯示壓縮 解壓過程
-f 緊跟壓縮文件名稱
-t 查看壓縮文件
[root@localhost /]# tar -cvf root.tar /root   cvf壓縮的常用組合
tar: 從成員名中刪除開頭的“/”
/root/
/root/小鳥chacha初學linux.ncd
/root/.metacity/
/root/.metacity/sessions/
/root/.metacity/sessions/1326903016-2435-745770735.ms
/root/.metacity/sessions/1326578140-2447-2422197700.ms
/root/.metacity/sessions/1326653136-2469-468411399.ms
/root/.metacity/sessions/1326575460-2584-1184827547.ms
/root/.metacity/sessions/1326744477-2478-3945392455.ms
/root/.config/
/root/.config/gtk-2.0/
/root/.config/gtk-2.0/gtkfilechooser
/root/.nautilus/
/root/.nautilus/metafiles/
……
[root@localhost /]# tar -tvf root.tar //查看tar文件中的內容
drwxr-x--- root/root         0 2012-01-19 02:34:28 root/
-rw------- root/root     22215 2012-01-19 02:34:28 root/小鳥chacha初學linux.ncd
drwx------ root/root         0 2012-01-15 05:11:00 root/.metacity/
drwx------ root/root         0 2012-01-19 00:10:16 root/.metacity/sessions/
-rw-r--r-- root/root       355 2012-01-19 00:10:16 root/.metacity/sessions/1326903016-2435-745770735.ms
-rw-r--r-- root/root       355 2012-01-15 05:55:40 root/.metacity/sessions/1326578140-2447-2422197700.ms
-rw-r--r-- root/root       355 2012-01-16 02:45:36 root/.metacity/sessions/1326653136-2469-468411399.ms
-rw-r--r-- root/root        82 2012-01-15 05:11:00 root/.metacity/sessions/1326575460-2584-1184827547.ms
-rw-r--r-- root/root        82 2012-01-17 04:07:57 root/.metacity/sessions/1326744477-2478-3945392455.ms
[root@localhost /]# tar --exclude root.tar -cvf root1.tar /root//排除 root.tar 進行壓縮
tar: 從成員名中刪除開頭的“/”
/root/
/root/小鳥chacha初學linux.ncd
/root/.metacity/
/root/.metacity/sessions/
/root/.metacity/sessions/1326903016-2435-745770735.ms
/root/.metacity/sessions/1326578140-2447-2422197700.ms
/root/.metacity/sessions/1326653136-2469-468411399.ms
/root/.metacity/sessions/1326575460-2584-1184827547.ms
/root/.metacity/sessions/1326744477-2478-3945392455.ms
[root@localhost /]# tar -xvf root.tar//解壓
root/
root/小鳥chacha初學linux.ncd
root/.metacity/
root/.metacity/sessions/
root/.metacity/sessions/1326903016-2435-745770735.ms
root/.metacity/sessions/1326578140-2447-2422197700.ms
root/.metacity/sessions/1326653136-2469-468411399.ms
root/.metacity/sessions/1326575460-2584-1184827547.ms
root/.metacity/sessions/1326744477-2478-3945392455.ms
root/.config/
root/.config/gtk-2.0/
root/.config/gtk-2.0/gtkfilechooser
root/.nautilus/
[root@localhost /]# tar -xvf root.tar
root/
root/小鳥chacha初學linux.ncd
root/.metacity/
root/.metacity/sessions/
root/.metacity/sessions/1326903016-2435-745770735.ms
root/.metacity/sessions/1326578140-2447-2422197700.ms
root/.metacity/sessions/1326653136-2469-468411399.ms
root/.metacity/sessions/1326575460-2584-1184827547.ms
root/.metacity/sessions/1326744477-2478-3945392455.ms
root/.config/
root/.config/gtk-2.0/
root/.config/gtk-2.0/gtkfilechooser
root/.nautilus/
[root@localhost ~]# tar -zcvf root.tar.gz ./ //打包並且以gzip的方式壓縮文件,bzip2只需要改爲-jcvf
./
./小鳥chacha初學linux.ncd
./.metacity/
./.metacity/sessions/
./.metacity/sessions/1326903016-2435-745770735.ms
./.metacity/sessions/1326578140-2447-2422197700.ms
./.metacity/sessions/1326653136-2469-468411399.ms
./.metacity/sessions/1326575460-2584-1184827547.ms
./.metacity/sessions/1326744477-2478-3945392455.ms
./.config/
./.config/gtk-2.0/
./.config/gtk-2.0/gtkfilechooser
./.nautilus/
./.nautilus/metafiles/
./.nautilus/metafiles/computer:%2F%2F%2F.xml
./.nautilus/metafiles/file:%2F%2F%2F.xml
./.nautilus/metafiles/file:%2F%2F%2Fmedia.xml
./.nautilus/metafiles/file:%2F%2F%2Froot%2FDesktop.xml
./.nautilus/metafiles/x-nautilus-desktop:%2F%2F%2F.xml
./.nautilus/metafiles/file:%2F%2F%2Froot.xml
./.nautilus/saved2WNYv0
./.eggcups/
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章