Linux的进阶命令
find
目的:查找符合条件的文件
1)在那些目录中查找
2)查找的内容
格式: find 目录名 选项 查找条件
举例:
1)find / work / 001_linux_ basic / dira / -name "test1.txt"
说明:
a)/ work / 001_linux_basic /dira / 指明了查找的路径
b) -name表明以名字来查找文件
c)“test1 .txt ”,就指明查找名为test1 .txt的文件
同理:
find / work / 001_linux_basic / dira/ -name "* .txt"
查找指定目录下面所有以 .txt 结尾的文件,其中 * 是通配符。
find / work / 001_linux_basic -name "dira"
查找指定目录下面是否存在dira这个目录,dira是目录名。
注意:
1)如果没有指定查找目录,则为当前目录。
find . -name “ * . txt” 其中 . 代表当前路径
find -name “ * . txt”
都是一样的功能
2)find 还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件
find / home -mtime -2 查找 /home 目录下两天内有变动的文件
grep
目的:使用 grep 命令来查找文件中符合条件的字符串
格式: grep 【选项】 【查找模式】 【文件名】
将dira目录的test1.txt 和dirb目录的test1.txt都含有如下内容
aaa
AAAAAA
abc
abcabcabc
match_pattern
nand->erase
查找字符串时希望显示如下内容:
1)所在的文件名
2)所在的行号
grep -rn “字符串” 文件名
r(recursive):递归查找
n(number):现实目标位置的行号
字符串:是要查找的字符串
文件名:要查找的目标文件,如果是 * 则表示查找当前目录下的所有文件和目录
举例:
grep -n “abc” test1.txt 在test1.txt 中查找字符串abc
grep -rn “abc” * 在当前目录 递归查找字符串abc
注意:
1)可以加入 -w 全字匹配。
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 special (字符设备文件)、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 视频文件,即使压缩过程中,减少了很多帧的数据,
对观看者而言,也没有影响。当然 mp3 音乐文件也是有损压缩。
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 只能压缩单个文件,不能压缩目录。
提示:
man pwd会解压 /usr /share /man/ man1/pwd.1.gz 这个文件,
然后读取该文件中固定的格式的一些信息,然后显示到终端中。
bzip2来压缩单个文件
bzip2 的常用选项
-k(keep) 在压缩或解压时,保留输入文件。
-d(decompress) 将文件进行解压缩
1)压缩
bzip2 -k 源文件名
比如:bzip2 -k mypwd.1
得到一个 。bz2 后缀的压缩文件
2)解压
bzip2 -kd 压缩文件名
bzip2 -kd mypwd.1.bz2
注意:
1)如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为 .gz 的压缩文件,
并删除原有的文件,所以说,推荐使用gzip2 -k 来压缩源文件
2)bzip2 只能压缩单个文件,不能压缩目录。
gzip、bzip2 只能对一个文件进行压缩,而不能对多个文件和目录进行压缩。
所以需要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
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
欢迎加入作者的小圈子
扫描下方左边二维码加入QQ交流群,扫描下方右边二维码关注个人微信公众号并,获取更多隐藏干货,QQ交流群:859800032 微信公众号:Crystal软件学堂
作者:Liu_Jing bilibili视频教程地址:https://space.bilibili.com/5782182 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章页面给出原文连接。 如果你觉得文章对你有所帮助,烦请点个推荐,你的支持是我更文的动力。 文中若有错误,请您务必指出,感谢给予我建议并让我提高的你。 |