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

Redhat Linux下文件查找及压缩解压

2011-02-14 17:53 357 查看
可执行文件的搜索

which :显示一个可执行文件的完整路径

# which ls //查看命令ls这个可执行文件的完整路径
alias ls='ls --color=tty'
/bin/ls

which 首先查找系统中别名记录(alias),然后查找系统路径($PATH)

# which pwd
/bin/pwd
# which halt
/sbin/halt
# which cal
/usr/bin/cal

whereis :用于显示查找文件的路径、该文件的帮助文件路径、该文件的相关原程序的路径,例如:

# whereis fstab
fstab: /etc/fstab /usr/include/fstab.h /usr/share/man/man5/fstab.5.gz
# whereis passwd
passwd: /usr/bin/passwd /etc/passwd.OLD /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz

find

find 是我们最常用的文件查找工具,语法:

find [路径] [参数] [表达式]
# find . -name "liusuping" //查找当前目录含有liusuping的文件
命令 路径 参数 表达式
./liusuping

find的常用find参数如下:

-user:根据文件拥有者寻找文件
-group:根据文件所属组寻找文件
-name:根据文件名寻找文件
-perm:根据文件权限寻找文件
-size:根据文件大小寻找文件
-type:根据文件类型寻找文件,参数对应c、b、l、f、d

# find . -user liusuping //查找文件的拥有者是liusuping的文件
./liusuping
./liusuping.com

# find . -group liusuping //查找文件的所属组是liusuping的文件
./liusuping
./liusuping.com

grep - 显示文件中匹配关键字的行

grep用来从一个文件中找出匹配指定关键字的那一行,并送到标准输出。 结合管道,我们通常用它来过滤搜索结果,用的超多!例如:

# ls -a |grep bash //列出含有bash的文件
.bash_history
.bash_logout
.bash_profile
.bashrc

# ls -a |grep liusuping //列出含有liusuping的文件
liusuping
liusuping.com

常用的文件操作指令

diff - 报告文本差异内容

# echo "liusuping">file1 //将“liusuping”添加到file1中
# cat file1
liusuping
# echo "liusuping">file2
# diff file1 file2
1c1
< liusuping
---
> liusuping

uniq - 去除文件中重复的行

-u参数可以只显示那些没有被重复过的行;-d显示有被重复过的行。

# cat liusuping
this is liusuping
this is liusuping
this is liusuping
this is liusuping
this is liusuping.com //观察到只有this is liusuping重复4次

# uniq -d liusuping //显示有被重复过的行this is liusuping
this is liusuping

# uniq -u liusuping//显示没有被重复过的行this is liusuping.com
this is liusuping.com

压缩和打包

在Linux系统中,常用的打包文件是.tar,压缩文件有tar.gz和.zip。可以使用tar命令将文件打包或者压缩成.tar.gz文件,处理.zip文件的命令有zip和unzip

tar命令

语法: tar 主选项 文件或目录
说明:用于对多个文件或目录打包,但不压缩,同时可以用于解包。
常用选项说明:
-c 创建一个打包文件
-v 详细报告tar处理的文件信息
-f 使用打包文件或设备时是必选选项
-x 解除打包文件的内容
-z 用gzip来压缩/解压缩文件,加上这个选项后可以对打包文件进行压缩,同时还原时也一定要使用该选项来进行解压缩

# tar -cvf liusuping.tar liusuping //将liusuping文件打包成liusuping.tar
liusuping
# ll liusuping.tar
-rw-r--r-- 1 root root 10240 Sep 27 02:56 liusuping.tar

# tar -czvf liusuping.com.tar.gz liusuping.com //将liusuping.com打包并且用gzip进行压缩成liusuping.com.tar.gz
liusuping.com
# ll liusuping.com.tar.gz
-rw-r--r-- 1 root root 136 Sep 27 02:58 liusuping.com.tar.gz

# tar xvf liusuping.tar -C / //解包liusuping.tar到根目录
liusuping
# cd / //切换到根目录
[root@localhost /]# ll liusuping
-rwSr-Sr-- 1 liusuping liusuping 74 Sep 27 02:22 liusuping

gzip命令

语法:gzip 选项 压缩(解压缩)的文件名
说明:用于对系统文件进行压缩和解压缩,压缩后系统自动在源文件后加.gz扩展名

常用选项说明:

-d 将压缩文件解压
-t 测试,检查压缩文件是否完整

不加任何选项直接压缩

# gzip liusuping //压缩liusuping文件成liusuping.gz
# ll liusuping.gz
-rw-r-Sr-- 1 liusuping liusuping 46 Sep 27 02:22 liusuping.gz
# ll liusuping //发现源文件liusuping没了,被压缩了
ls: liusuping: No such file or directory
# gzip -t liusuping.gz //检查压缩文件是否完整
# gzip -d liusuping.gz //解压liusuping.gz
# ll liusuping
-rw-r-Sr-- 1 liusuping liusuping 74 Sep 27 02:22 liusuping

对于用gzip压缩的文件,有一系列以z为开头的文件,可以在不经解压的情况下,直接操作文件

# gzip liusuping
# cat liusuping.gz
……乱码报错.....
# zcat liusuping.gz
this is liusuping
this is liusuping
this is liusuping
this is liusuping
this is liusuping.com

bzip2命令

语法:bzip2 选项 压缩文件

说明:用于对文件或目录进行压缩或解压缩,压缩文件的扩展名默认为.bz2

-d 将压缩文件解压
-t 测试,检查压缩文件是否完整

不加任何选项直接压缩

# bzip2 liusuping //压缩liusuping文件成liusuping.bz2
# ll liusuping.bz2
-rw-r-Sr-- 1 liusuping liusuping 67 Sep 27 02:22 liusuping.bz2
# ll liusuping //发现源文件liusuping没了,被压缩了
ls: liusuping: No such file or directory
# bzip2 -t liusuping.bz2 //检查压缩文件是否完整
# bzip2 -d liusuping.bz2 //解压liusuping.bz2
# ll liusuping
-rw-r-Sr-- 1 liusuping liusuping 74 Sep 27 02:22 liusuping
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: