您的位置:首页 > 运维架构 > Linux

小鸟chacha初学linux 文件查找、归档、压缩

2012-01-23 17:33 645 查看
文件查找

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/

本文出自 “初学linux” 博客,请务必保留此出处http://zhxchacha.blog.51cto.com/4277964/767226
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: