历史上的今天
返回首页

历史上的今天

今天是:2025年03月17日(星期一)

正在发生

2020年03月17日 | 第005课 linux进阶命令(文件查找,文件解压操作详解)

2020-03-17 来源:eefocus

001节_Linux进阶命令__find命令

我们在Windows中搜索文件,一般查找文件需要传入两个条件:


1)在那些目录中查找;


2)查找的内容;


在Linux中,查找文件的也需要这两个条件,不同于Windows使用搜索框查找,Linux中使用 find 命令查找文件。


find 命令: 

*目的:查找符合条件的文件 

*格式: find 目录名 选项 查找条件


举例1:


 find /work/001_linux_basic/dira/  -name "test1.txt"


说明:


a)/work/001_linux_basic/dira/指明了查找的路径


b)-name表明以名字来查找文件


c)"test1.txt"就指明查找名为test1.txt的文件


举例2:


 find /work/001_linux_basic/dira/  -name "*.txt"    


说明:


a)查找指定目录下面所以以.txt结尾的文件,其中*是通配符。


举例3:


 find /work/001_linux_basic  -name "dira"


说明:


a)查找指定目录下面是否存在dira这个目录,dira是目录名。


注意:


1)如果没有指定查找目录,则为当前目录。


find . -name "*.txt" 其中.代表当前路径


find -name "*.txt" 没加路径,默认是当前路径下查找


2)find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件


find /home -mtime -2 查找/home目录下两天内有变动的文件


002节_Linux进阶命令__grep命令

grep 命令:


目的:使用grep命令来查找文件中符合条件的字符串


 格式:grep  [选项]  [查找模式]  [文件名]


假设dira目录的test1.txt 和 dirb目录的test1.txt都含有如下内容:


 aaa

 AAAAAA

 abc

 abcabcabc

 cbacbacba 

 match_pattern

 nand->erase


通过查找字符串,希望显示如下内容:


所在的文件名—-grep查找时默认已经显示目标文件名

所在的行号——使用-n选项

可以使用以下命令:


grep -rn “字符串” 文件名


r(recursive):递归查找


n(number):显示目标位置的行号


字符串:要查找的字符串


文件名:要查找的目标文件,如果是*则表示查找当前目录下的所有文件和目录


举例:


grep -n "abc" test1.txt 在test1.txt中查找字符串abc


grep -rn "abc" * 在当前目录递归查找字符串abc


注意:


1)可以加入-w全字匹配。


003节_Linux进阶命令__file命令

file 命令:


目的:识别文件类型

格式: file 文件名

在Linux中有一个非常重要的观点:”’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(块设备文件)等


004节_Linux进阶命令__which命令和whereis命令

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


005节_Linux进阶命令__gzip命令和bzip2命令

压缩的概念

压缩的目的: 

在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。接受者接受文件后,解压即可。


压缩的类型


有损压缩、无损压缩。


a)有损压缩: 如mp4视频文件,即使压缩过程中,减少了很多帧的数据, 对观看者而言,也没有影响。当然mp3音乐文件也是有损压缩。 b)无损压缩: 如普通文件的压缩,为了保证信息的正确传递, 不希望文件经过压缩或解压后,出现问题。 后面讲解的都是无损压缩。

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不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件, 

并删除原有的文件,所以说,推荐使用bzip2 -k来压缩源文件。


2)bzip2只能压缩单个文件,不能压缩目录。


*单个文件的压缩使用gzip或bzip2


压缩有两个参数:


1)压缩时间


2)压缩比


一般情况下,”’小文件使用gzip来压缩,大文件使用bzip2来压缩”’。


比如:


mypwd.1源大小是1477字节,


gzip压缩后mypwd.1.gz是877字节,


bzip2压缩后mypwd.1.bz2是939字节。


myls.1源文件大小7664字节,


gzip压缩后myls.1.gz是3144字节,


bzip2压缩后myls.1.bz2是3070字节。


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


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

推荐阅读

史海拾趣

上海国芯(Gcore)公司的发展小趣事
检查电路中的电阻、电容、晶体管等元件是否连接正确,有无断路或短路现象。
Eagle Plastic Devices公司的发展小趣事

随着技术创新的不断推进,Eagle Plastic Devices公司开始积极拓展国内外市场。公司通过参加国际电子展会、与知名电子制造商建立战略合作关系等方式,不断提高品牌知名度和市场份额。同时,公司还注重产品质量的提升和售后服务的完善,赢得了客户的信任和好评。在短短几年内,Eagle Plastic Devices公司便成为了电子行业内知名的塑料电子部件供应商。

Deutsch公司的发展小趣事

为了进一步扩大市场份额,Deutsch公司开始积极寻求国际合作和市场扩张的机会。公司首先通过市场调研,确定了目标市场,并制定了详细的市场拓展计划。随后,通过与当地合作伙伴建立合作关系,Deutsch公司成功进入了新兴市场。在国际市场上,公司凭借其高品质的产品和优质的客户服务,赢得了客户的信任和认可。这些努力使得Deutsch公司的市场份额逐年上升,成为电子行业的领军企业之一。

Caddock公司的发展小趣事

Caddock公司的发展可以追溯到1962年,当时公司推出了Micronox电阻系统。这一创新技术使电阻器在极端操作条件和恶劣环境下实现了高水平的稳定性和可靠性。这一重大突破为Caddock公司赢得了市场的广泛认可,并为后续的电阻材料技术发展奠定了坚实的基础。

Advanced Analog公司的发展小趣事

随着技术的不断进步和市场需求的多样化,Advanced Analog的产品逐渐应用于更广泛的领域。从最初的TFT-LCD面板,到后来的数字相机、手持装置、网络通讯装置等领域,Advanced Analog都提供了完整的解决方案和优质的服务。通过与各行业合作伙伴的紧密合作,Advanced Analog的产品助力众多电子设备实现了更高效、更稳定的性能,推动了整个电子行业的发展。

CANDD公司的发展小趣事

为了进一步提升品牌影响力和市场份额,CANDD公司开始实施国际化战略。公司首先在欧洲市场设立了分公司,并成功打开了欧洲市场的大门。随后,公司又进军亚洲市场,通过与当地企业的合作,逐渐在亚洲市场站稳了脚跟。随着国际化战略的深入实施,CANDD公司的品牌知名度和市场份额不断攀升。

问答坊 | AI 解惑

WWAYM 推出 NWRCFil低通滤波器

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 继Windows版本之后,WWAYM此次又推出了这款OS X版NWRCFil低通滤波器VST效果器。   作为一款建立在以经典大方、音质温暖而著称的经典硬件滤波器基础上的VST效果器,NWRCFil采用的是WWAYM.独家 ...…

查看全部问答>

好书推荐:《FPGA设计指南——器件、工具和流程》

FPGA方面的书籍有很多,而且几乎每一本的头几章都会对FPGA做一个概念性的介绍,那有没有一本书不涉及具体的技术而是专门介绍有关FPGA的概念性的问题呢?答案当然是有啦,而且还写得相当不错,这就是《FPGA设计指南——器件、工具和流程》(英文原版 ...…

查看全部问答>

谁用过VS2005下编码ARM汇编代码?

在WM下编译使用SIMD的汇编?…

查看全部问答>

wince 平台 音频 采样率??

设计一个WinCE平台的声音采集程序 但是发现居然不能把采样率设置为44.1K?! 最高只能是22.05K?! 这个采样率下测试一个频率大点的正弦波都看不清楚。 模拟器下不行,下到板子上还是不行 ...... 采样率可以提高到44.1K吗??和程序有关系吗? ...…

查看全部问答>

100分转发一个我也想知道的问题:WINCE 虚拟地址向物理地址转换

网上只看到这个问题,没看到问题的答案,有高手就回答一下吧,谢了 在WinCE的驱动中,那个函数可以实现虚拟地址向物理地址转换呢? 各位大侠,在WinCE驱动中通过物理地址,映射虚拟地址的函数很多。象MmMapIoSpace等,但如果我通过malloc函数得 ...…

查看全部问答>

请推荐几本ARM入门教程!!

本人想学学ARM 请各位高手推荐几本ARM入门教程!多谢!!…

查看全部问答>

STM32相关讨论帖子汇总(销售与市场篇)

代理 样品【重发】如何通过ST代理渠道申请ST MCU样品◆◆NOTICE!!!◆◆刚才发现的套件申请和样片申请自己做个广告:如何通过ST代理渠道申请ST MCU样品哪里可以买到STM32的芯片?IC北京微芯力科-大量ST-STM现货到仓武 ...…

查看全部问答>

求助

如果表具和抄表器都是430的芯片,抄表器的信号输入,控制口要加上拉电阻吗???…

查看全部问答>