find
目的:查找符合条件的文件
步骤:
1)在哪些目录中查找;
2)查找的内容;
格式:find 目录名 选项 查找条件
举例:
find /home/book/dira/ -name "text1.txt"
说明:
a):/work//home/book/dira/指明了查找路径;
b): -name 表明以名字为条件来查找;
c): “test.txt”查找名为的文件;
同理:
find /home/book/dira/ -name "*.txt"
查找指定目录下所有以.txt结尾的文件,*为通配符;
find /home/book/dira/ -name "dira"
查找指定目录下是否存在dira这个目录,dira是目录名。
注意:如果没有指定查找目录,则在当前目录下寻找:
find . -name "*txt",其中,“.”表示当前目录
find -name "*txt"
搜索结果一样
2)find 还有一些高级用法,如查找最近几天(几个小时)之内(之前)有变动的文件
find /home -mtime -2 查找/home目录下两天内有变动的文件。
grep
目的:使用grep查找文件中符合的字符串
格式:grep [选项] [查找模式] [文件名]
查找字符串时希望显示如下内容:
1):所在的文件名;
2):所在的行号;
grep -rn "字符串" 文件名
r(recursive):递归查找;
n(number):显示目标位置的行号:
字符串:要查找的字符串;
文件名:要查找的目标文件,如果是*则表示查找当前目标下所有文件和目录;
举例:
grep -n "abc" test1.txt 在test1.txt中查找字符串abc;
grep -rn "abc" *: 在当前目录递归查找字符串abc;
file
目的:识别文件类型
格式:file 文件名
linux下一切皆文件
举例:
file ~/.bashrc 为ASCII编码的text类型;
file ~/.vimrc 为UTF-8 Unicode 编码的text类型;
file ~/pictures/* 如图形文件JPEG/PNG/BMP格式;
file ~/100ask/ 为directory,表明是一个目录;
file /bin/pwd 出现ELF 64-bit LSB executable,即为ELF格式的可执行文件;
file /dev/* 出现character spectial(字符设备文件),block special(块设备文件)等;
which和whereis
目的:查找命令或应用程序的所在位置;
格式:which 命令名/应用程序名;
在终端上执行pwd实际上是执行/bin/pwd
举例:
which pwd 定位到bin/pwd;
which gcc 定位到/usr/bin/gcc;
whereis pwd 查找到可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/man1/pwd.1.gz
压缩
1.压缩的概念
1)压缩的目的
在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。
接收者接受文件后,解压即可。
2)压缩的类型
有损压缩,无损压缩。
a)有损压缩:
如mp4视频文件,即使在压缩过程中,减少了很多帧的数据,对观看者而言,也没有影响。
b)无损压缩:
如普通文件的压缩,为了暴走信息的正确传递;
不希望文件经过压缩或解压后,出现问题。
2.linux下常用的压缩命令
小结:单个文件的压缩(解压)使用gzip和bzip2;
多个文件和目录使用tar;
gzip的常用选项
-l(list) 列出压缩文件的内容。
-k(keep) 在压缩或解压时,保留输入文件。
-d(decompress) 将压缩文件进行解压缩。
1)查看
gzip -l 压缩文件名
比如: gzip -l pwd.1.gz
2)解压
gzip -kd 压缩文件名
比如:gzip -kd pwd.1.gz
该压缩文件是以.gz结尾的单个文件。
3)压缩
gzip -k 源文件名
比如:gzip -k mypwd.1
得到了一个.gz结尾的压缩文件
注意:
1):如果gzip不加任何选项,此时为压缩,压缩完该文件后会生成后缀为.gz的压缩文件,并删除源文件。
所以推荐使用gzip -k来压缩生成源文件。
2):相同的文件内容,如果文件名不同,压缩后大小也不同。
3)gzip只能压缩单个文件,不能压缩目录。
bzip2的常用选项
-k
-d
1)压缩
bzip2 -k 源文件名
比如bzip2 -k mypwd.1
得到一个.bz2的后缀的压缩文件
2)解压
bzip2 -k 源文件名
bzip2 -kd mypwd.1.bz2
注意:
1)如果有bzip2不加任何选项。此时为压缩,压缩完该文件后会生成后缀为.bz2的压缩文件。
并删除原有的文件。所以说,推荐使用bzip2 -k 来压缩原文件。
2)bzip2只能压缩单个文件,不能压缩目录。
1.tar打包,gzip压缩,
gzip,bizp2只能对单个文件压缩
而不能对多个文件和目录进行压缩。
所以需要tar对多个目录,文件进行打包和压缩。
tar常用选项
-c(create):表示创建用来生成文件包;
-x:表示提取,从文件包提取文件;
-t:可以查看压缩的文件;
-z:使用gzip方式进行处理,与"c结合表示压缩,与"x"结合表示解压缩;
-j:使用bzip2方式进行处理,与"c结合表示压缩,与"x"结合表示解压缩;
-v(verbose):详细报告tar处理的信息;
-f(file):表示文件,后面接文件名;
-c:<指定目录> 解压指定目录;
1.tar打包,gzip压缩
1)压缩
tar -czvf 压缩文件名 目录名
举例:
tar czvf dira.tar.gz dira
注意:
tar -czvf与tar czvf 是一样的效果,所以说,后面统一取消-;
2)查看
tar tvf 压缩文件名
举例:
tar tvf dira.tar.gz
3)解压
tar xzvf 压缩文件名
tar xzvf 压缩文件名 -C 指定目录
举例:
tar xzvf dira.tar.gz 解压到当前目录;
tar xzvf dira.tar.gz -C /home/book 解压到/home/book
2.tar打包,bzip2压缩
1)压缩
tar -cjvf 压缩文件名 目录名
举例:
tar cjvf dira.tar.bz2 dira
注意:
tar -cjvf与tar czvf 是一样的效果,所以说,后面统一取消-;
2)查看
tar tvf 压缩文件名
举例:
tar tvf dira.tar.bz2
3)解压
tar xjvf 压缩文件名
tar xjvf 压缩文件名 -C 指定目录
举例:
tar xjvf dira.tar.bz2 解压到当前目录;
tar xjvf dira.tar.bz2 -C /home/book 解压到/home/book.