可执行文件的搜索
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 fstabfstab: /etc/fstab /usr/include/fstab.h /usr/share/man/man5/fstab.5.gz# whereis passwdpasswd: /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的文件liusupingliusuping.com
常用的文件操作指令
diff - 报告文本差异内容
# echo "liusuping">file1 //将“liusuping”添加到file1中# cat file1liusuping# echo "liusuping">file2# diff file1 file21c1< liusuping---> liusuping
uniq - 去除文件中重复的行
-u参数可以只显示那些没有被重复过的行;-d显示有被重复过的行。
# cat liusupingthis is liusupingthis is liusupingthis is liusupingthis is liusupingthis is liusuping.com //观察到只有this is liusuping重复4次
# uniq -d liusuping //显示有被重复过的行this is liusupingthis is liusuping
# uniq -u liusuping//显示没有被重复过的行this is liusuping.comthis 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.tarliusuping# 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.gzliusuping.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.gzthis is liusupingthis is liusupingthis is liusupingthis is liusupingthis 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