Linux常用指令------上
Linux常用指令------中
Linux系列
文章目录
- Linux系列
- 前言
- 一、more指令
- 二、less指令
- 三、head指令和tail指令
- 四、grep指令
- 五、zip指令和unzip指令
- 六、tar指令
- 1、打包压缩
- 2. 预览
- 3. 解压解包
前言
在上一篇博客中,我給大家介绍了cat指令(将文件信息全部显示在屏幕),但是在我们做一个项目时,往往文件内容比较多,这时再使用cat指令就不太合适了。
一、more指令
这个指令可以帮助我们分页查看指定文件。
首先我们先整一个存有大量数据的文件,方便我们讲解。
语法:more [选项][文件]
功能:more命令,功能类似 cat
这样我们就将一万行数据,存入了test.txt文件,这时如果我们使用cat指令它就会将这一万行数据全部打印在屏幕,这对我们查看文件中的内容是非常部友好的,下面为截取的部分数据:
这时我们就可以使用more指令代替cat指令操作,它不像cat指令直接将文件内容全部打印出来,
它是,每次显示一屏幕内容:
它有一些简单的交互操作。比如按空格键可以显示下一屏内容,按回车键可以逐行显示下一行内容。如果想退出查看,按 q 键即可。这些功能不方便展示,大家在电脑上自己操作吧。
常用选项:
- q 退出more
当我们不想再向下查找内容时,可以直接点击q对出该指令。
二、less指令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup][pagedown](键盘上的上下键) 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件
功能:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
选项:
- -i 忽略搜索时的大小写
- -N 显示每行的行号
- /字符串:向下搜索“字符串”的功能
- ?字符串:向上搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- q:退出指令
使用
显示行号打印
向上搜索字符串
这样它就将包含222这个字符串的数据打印出来了。
这里的向上、向下查找,是相对于我们当前输入位置来定义的可以看到当它找到第一个含有目标字符串的数据,就会停止。
向下查找和这里使用方法类似,剩下的选项大家可以下去自己尝试。
三、head指令和tail指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出(屏幕)中,而 tail 想当然尔就是看档案的结尾。
语法: head [参数]… [文件]…
功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
使用:
默认显示文件前十行数据输入到标准输出中(屏幕)。
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
使用:
不指定文件:
tail指令默认将文件最后十行数据输入到标准输出中。
当然head指令和tail指令都可以获取文件的指定多行:
所以它们都具备-n<行数> 显示行数常用选项。
head指令和tail指令可以和管道文件配合,用于截取某一部分数据。
管道文件:
它就像一个管道,一个进程向管道写入数据,另一个进程从管道读取数据。当一个程序将数据输出到管道文件的一端,另一个程序就可以从管道文件的另一端读取这些数据进行处理,数据是按照写入的顺序依次被读取的,这就是“先进先出”的体现。管道文件在数据处理流程中起到了衔接不同程序模块的作用,让数据能够在多个程序之间有序地传递。
管道文件展现形式:‘|’
理论总是比较难懂的,接下来我们看如何使用管道文件配合head指令和tail指令对文件内容进行截取:
首先我们将test.txt文件中的前3001行输入到管道(管道文件),然后再用tail指令将管道文件中的最后20行打印到标准输出,当然我们也可以使用输出重定向,将截取的数据,输入到其他文件中,相信大家在看过前两篇文章后,很容易理解这里。
管道文件的还有很多,大家可以结合我们介绍的指令再自己探索一下。
四、grep指令
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行全部打印出来
使用:
常用选项:
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
为了大家更好的理解,我将test.txt文件的数据更行为下面:
-i选项,不再区分大小写。
-v反向选择,即只打印不含有目标字符串的行文本。
接着我再向文件中输入几个空行
-n将行号一起显示
五、zip指令和unzip指令
zip/unzip指令是Linux下的一种压缩和解压缩的指令
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
使用:
对单个文件的压缩、解压:
这里我们将liang文件压缩为一个名为liang.zip的压缩文件。(这个压缩文件的名字是由我们自己绝定的,一般为了方便查看我们都将它同源文件保持一致)
对压缩后的文件进行解压。
对目录文件进行压缩、解压:
对dr目录文件进行递归压缩。
这个指令相对来说比较简单,而我们在压缩文件时一般不使用它。
六、tar指令
tar指令的功能是非常强大的。tar指令也是Linux中压缩和解压缩的一种指令,但是它与zip/unzip指令还是有所不同的,下面我们先来看一下它的用法tar指令的相关变形和作用有很多,我们主要记住下面三个就行。
1、打包压缩
对于当前路径下的,下列文件,我们可以将他们,全部打包、压缩为一个文件中。
tar caf 压缩包名 文件名(可以是多个文件)
.tar 是tar指令压缩而来的意思,.gz 是压缩文件的意思,我们也可以把这个后缀简写成 .tgz
2. 预览
Linux下的预览文件就像我们在Windows下对压缩包双击查看一样。
tar tzf 压缩包名
3. 解压解包
tar xzf 压缩包名
首先我们在当前路径下创建一个新的下级目录,并将压缩包移至新目录下。
进入到压缩包所在路径下,对他进行解压:
解压结果:
可以看到文件成功解压。当然我们也可以直接指定路径解压,这个就留给大家自己尝试吧。