前言:Linux基本指令学到这里也快接近尾声了,如果对前面内容还有不清楚建议回顾这两篇文章 。
Linux基本指令(上) 和Linux基本指令(中)
接前两篇,接下来让我们再深入学习一下最后几个Linux指令,Linux基本指令将在本篇完结。
在此前,已经学习了很多常用指令,今天我们来学习一些新的指令。
在开始之前,我们来补充一个用来获取电脑和操作系统的相关信息的指令
指令:
uname
常用选项
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
Linux基本指令
- 1. 文本编辑
- 1.1 统计行数 wc
- 1.2 相邻去重 uniq
- 1.3 文本排序 sort
- 2. 获取头尾数据
- 2.1 head
- 2.2 tail
- 2.3 取中间元素
- 方法一:创建临时文件
- 方法二:管道`|`
- 3. 时间
- 3.1 date
- 3.2 时间戳
- 3.3 Cal
- 4. 搜索
- 4.1 find
- 4.2 which
- 4.3 alias
- 4.4 grep
- 5. 压缩/解压文件或目录
- 5.1 压缩
- 5.2 解压
- 5.3 tar指令
- 6. 总结以及拓展
1. 文本编辑
1.1 统计行数 wc
在Linux中,如果我们想要知道文本的字符数或者行数,我们可以用wc来统计
指令:
wc 文本名
用wc -l
来统计将会只显示行数和文本名称。
1.2 相邻去重 uniq
如果我们在查看文本内容时,出现了很多重复的信息,我们可以使用uniq
来进行压缩去重
注意:
uniq
只能处理相邻行数重复的内容!!!
指令:
uniq 文本名
此时相邻元素去重成功
当相邻元素内容不同时,去重失败
如果重复内容不相邻我们可以配合sort
指令来一起使用
1.3 文本排序 sort
如果相对一个文件中所有重复的内容进行去重,我们可以先使用sort
进行排序后在使用uniq
去重
指令:
sort 文本名
这里我们就去重成功。
注意:
|
是管道,可以将指令串联,后面我们会介绍,现在我们只要知道怎么用。
2. 获取头尾数据
在前几篇文章中我们讲过more,less,cat指令可以读取文件的内容并且打印在屏幕上,但是并不能精确查找,如果我只要前几行或者后几行的内容就不方便。
因为tail指令和head指令在用法上是差不多的,我们简单讲下用法!
2.1 head
当我们只需要读取文本前几行的内容时,我们可以:
指令:
head -n 文本名
-n:
- -n的n代表想读取的前/后n行
- -n可以缺省,默认读取前/后十行
2.2 tail
当我们只需要读取文本最后几行的内容时,我们可以:
指令:
tail -n 文本名
-n:
- -n的n代表想读取的前/后n行
- -n可以缺省,默认读取前/后十行
2.3 取中间元素
在上面提到了head
和tail
可以获取头尾内容,那我们如果想获取中间的内容该怎么办呢?
直接单独使用
head
或tail
肯定是不能获取的,所以我们将二者结合起来。
方法一:创建临时文件
这样我们取中间数据的任务就完成了,除了这种方法,我们还可以用上面提到的管道|
来解决
方法二:管道|
在之前我们提到过管道可以起到串联指令的作用,我们就可以跳过中间创建临时文件这一步,直接打印在屏幕上
用此方法一样可以达到目的,而且更加简洁方便。
3. 时间
在Linux中也有与时间有关的指令,这里我们简单了解一下就可以了
3.1 date
指令:
date +选项
以下是比较常用的选项:
%H : 小时(00…23)
%M : 分钟(00…59)
%S : 秒(00…61)
%X : 相当于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相当于 %Y-%m-%d
3.2 时间戳
时间戳是指 : 从1970年1月1日到现在经过的秒数
如果想在Linux下查看时间戳:
指令:
date +%s
时间戳提供了一种精确到秒甚至毫秒级别的时间记录方式,能够准确地标识事件发生的时间点。时间戳可以应用在许多地方。时间戳的用途远不止与此。这里就不补充了
3.3 Cal
用来查阅日历
指令:cal [选项][月份][年份]
cal常见选项 :
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
4. 搜索
4.1 find
如果我们想查找一个文件或目录的路径:
指令:
find -name 文件名/目录名
例如我们想查找一下目录 d3
find
会把所有包含d3名字的文件/目录的路径打印在屏幕上!
4.2 which
如果我们想用于查看一个指令的所在路径:
指令:
which 指令名
which
命令可以帮助我们直接打印出指令所在的路径
4.3 alias
当一些指令需要频繁使用时,我们可以自定义一个简单的名称。alias
给指令取别名是个很好用的方法!
指令:
alias 别名=指令名
当我们指令所在路径时,也会告诉我们null
是which
的别名
4.4 grep
grep
命令可以在文件中搜索字符串,将找到的行打印出来
指令:
grep 搜索内容 文本名
文本中所有包含 ‘1’ 的内容都会被打印到屏幕上
grep的常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
5. 压缩/解压文件或目录
5.1 压缩
当我们需要压缩一个文件或目录时:
指令:
zip 目标文件名.tar 源文件
再压缩完成后,目录会多出一个.zip后缀的文件
如果我们想要压缩一整个目录下的文件时:
指令:
zip -r 目标文件名.tar 源文件
之前提到过 -r 就表示递归的意思,这里递归完目录的所有文件
5.2 解压
当我们需要解压一个文件或目录时:
指令:
unzip 需解压文件
或unzip 需解压文件 -d 指定路径
注意:如果直接使用指令默认解压到当前路径!!!
5.3 tar指令
Linux中压缩/解压缩的指令有很多,常见的压缩文件后缀也有很多,让我们来看看几个最常见的
指令:
tar [-cxtzjvf] 文件与目录 .... 参数
cxtzjvfC是不同的参数 :
-c :建立一个压缩文件的参数指令
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?
-j :是否同时具有 bzip2 的属性?
-v :压缩的过程中显示文件!!
-f :使用档名,f后不能再跟任何参数
-C : 解压到指定目录
压缩一个文件的常见选项:czf
解压缩一个文件常见选项:xzf
压缩:
解压:
注意:此处指定路径的 -C 是大写!!!
**一般在使用tar
进行压缩/解压时,一般使用的都是cz
或者xz
! ! ! **
6. 总结以及拓展
Linux热键拓展:
[TAB]键:可补全指令
[CTRL]+c: 终止当前程序
[CTRL]+d: 相当于exit
[CTRL]+r: 进入历史搜索
注意:[TAB]键可以帮你补齐指令,当时大部分指令开头可能相同,系统将会把所有以这个开头的指令打印在屏幕上
Linux下的常见指令已经全部介绍完毕,还是那句话,Linux中的指令“成千上万”,我们不可能全部学完,后面我们就要更进一步学习Linux知识咯!谢谢大家支持!!!