0
点赞
收藏
分享

微信扫一扫

Linux-基本指令3

上篇文章,我们认识了很多指令,比如man指令,当我们不记得函数怎么用时,可以用man手册来进行查找。比如echo指令,它会把它后面跟着的字符,当成字符串,打印到显示屏中。比如cat指令,用于查看文本文件中的内容。与它功能类似的指令还有less指令和more指令,less指令,它的功能最强,在查看文本文件内容时,可以随意上下移动查看。而more指令,它的功能相对于less指令的功能就稍微弱一点。在查看文本文件时,只能向下查看,而不能向上查看。cat指令主要用于查看文本内容较小的文件,而less指令和more指令,主要用于查看较大的文本文件。除此之外,我们还认识了用于文件拷贝的cp指令,用来移动文件的mv指令,查看指令所在路径的which指令,给指令取别名的alias指令,以及查看文本文件头尾几行内容的head指令和tail指令。

下面,我们接着认识一些常用的指令,并认识一些与权限相关的一些知识。本次内容涵盖date,cal,find,grep,zip/unzip,tar,bc,uname,[Tab],[Ctrl]-c,[Ctrl]-d,以及shutdown等指令,还有权限部分相关的知识。

首先,我们先来认识date指令。

date指令

date指令,它的功能是用来查看当前的日期。

Linux-基本指令3_后缀

图中为,date指令,在什么选项都不加的情况下的默认日期时间打印形式。

如果我们想将日期时间打印的格式,进行修改,需要带上特定的选项。

Linux-基本指令3_Linux常用指令_02

我们就以我们电脑右下角的时间格式来演示以下使用的方式。

Linux-基本指令3_后缀_03

通过显示结果,我们成功把默认的日期时间格式改成了,我们习惯的日期时间显示格式。

日期时间可以通过date来查看,那日历可不可以通过相应的指令查看呢?这需要用到cal指令。

cal指令

cal指令,它的功能是用来查看日历。

Linux-基本指令3_Linux常用指令_04

cal指令,在不带任何选项使用时,它默认显示当前年份月份的日历。

如果我们想查看其他年份的日历,可以在cal指令后面带上相应的年份。

Linux-基本指令3_Linux常用指令_05

如果我们想查看指定年份指定月份的日历。需要在相应年份的前面加上月份,而不是后,这是根据外国人的习惯设计的。

Linux-基本指令3_后缀_06

在使用计算机的过程中,我们避免不了创建很多的文件,有些文件,我们知道它的名字,却不记得它在那个路径下了。这该怎么办?我们可以使用find指令来查找。

find指令(十分常用)

find指令,它的功能是用来查找一个文件所在的路径。

下面我来演示以下:

Linux-基本指令3_压缩包_07

从图中看,我们能清晰的看到find指令的一个查找过程,逐层逐个的递归式查询。这个和我们之前学习的什么有点类似?是不是和遍历整棵树的算法有点类似,这是不是侧面证明了,目录其实是一个树状结构。

从查询的结果看,明明存在一个与我们要查文件名相同的文件,为什么,它却显示不存在这样一个文件呢?这是因为find指令默认在当前目录查找,而当前目录确实不存在这样一个文件,所以,它当然显示不存在这个文件呀。也就是说,最后一行显示结果,说的是当前目录不存在这样一个文件。

关于find的还有很多值得学习的选项,在这里,我们就不展开讲了。

whereis指令,它的功能与find类似,不过,whereis是在系统特定的路径下查找,而find指令是在用户指定的路径下,查找。

Linux-基本指令3_Linux常用指令_08

当我们到了工作岗位上时,会认识到一个概念,叫日志。

grep指令

grep指令,它的功能用来查找文本文件中的某一些特定的内容。

在今后,我们入职,会遇到一个概念,叫日志。日志,类似我们小学写的日记,记录生活日常。不过,我们在工作中,所接触的日志,记录的不是我们的日常,而是程序运行的日常,今天这个程序在那个时候,做了哪些事。

那日志有什么用呢?忽然有一天程序崩了,我们就可以通过查找日志,原来是新来的实习生写了错误代码,造成了程序的崩溃。

日志,会以文本的形式写到文本文件中,来进行存储。程序每天都在运行,日志的内容越来越多。假设有一个异常偶有发生了,被记录到日志中了。由于这个异常并不会导致程序崩掉,所以,直到今天用户反馈,我们才得知。现在,我们要找到与这个异常相关的日志。怎么找?这么多。

这时候就需要用到我们的grep指令了。

grep的用法是:grep指令+要查找的关键字+要查的文本文件。下面,我们以10为关键字查找text.txt文件。

Linux-基本指令3_文本文件_09

从运行结果看,含有10的哪一行内容都被打印出来了。

grep在使用时,还可以-v,-n和-i这三个选项。

-v选项,表示反向选择,打印没有所在关键字的行的内容。

下面,我们带上-v选项,来运行一下程序。

Linux-基本指令3_文本文件_10

带上-v选项后,除了含有关键字10的那行,其他的行都被打印出来了。

-i选项,表示关键字不区分大小写。我们以关键字h为例。

下面,我们带上-i选项,来进行筛选text.txt文本中的内容。

Linux-基本指令3_后缀_11

从结果看,只要是含有关键字h的行,都被打印出来了。

-n选项,表示顺便打印内容在文本中所对应的行号。

同样的,我们带上-n选项,来筛选文本text.txt中的内容。

Linux-基本指令3_文本文件_12

带上-n选项后,我们得到了与关键字10相关的文本行。与此同时,知道了对应内容所在的行数。

在未来,我们入职后,避免不了同事之间进行资料的交互,也就是文件的收发。当我们只发送一个文件时,很容易就能确认是否发送接受成功。可当我们发送接受的文件多了,就很难确认是否发送接受成功。于是,就有了打包压缩,把要发送的多个文件打包压缩成一个压缩包,也就是一个文件。发送接受,要么成功,要么失败。

在windowns下,我们有各种各样的工具,来实现压缩文件。比较典型的就是360压缩文件了。

那Linux环境下,我们如何去进行压缩文件呢?下面,我们来认识两个新的指令,zip指令和unzip指令。

zip指令和unzip指令

zip指令,它的功能是用来压缩文件,而unzip指令,它的功能是用来解压压缩文件。

下面,我们来使用一下这两个指令。

Linux-基本指令3_文本文件_13

首先,我们先使用ls指令查看我们当前所在路径下文件,有一个目录文件dd,和3个文本文件。紧接着,我们分别cat指令查看这些3个文本文件有什么内容。通过查看,我们发现只有t1.txt文本文件含有hello Linux的内容。现在,我们按照zip指令的使用格式:zip+压缩包的名字+要压缩的文件,使用zip指令,将这三个文本文件,压缩到一个文件中,我们取名为all。

当我们再次使用ls指令查看当前路径下所含文件时,发现多了一个文件all.zip。

Linux-基本指令3_Linux常用指令_14

那我们怎么知道,这个压缩包里面是否存放了我们要压缩的文件呢?

下面,我们按照unzip的使用格式:unzip+要解压的文件,使用unzip指令,进行解压。

Linux-基本指令3_Linux常用指令_15

这里,我是先用mv指令把all压缩包移动到目录dd中,在进行解压。

通过ls指令查看,我们发现我们通过解压得到了三个文本文件,并且通过cat指令对文本内容的查看。我们可以验证这三个文件就是我们前面进行压缩测试,使用的文件。

如果你懒得移动压缩包,想直接将文件解压到别路径下,需要按照unzip指令的使用格式:unzip+要解压的压缩包+-d+要解压的路径。

Linux-基本指令3_文本文件_16

目前,目录文件dir中什么文件都没有。现在,我们将all压缩包的内容解压到目录文件dir中。

Linux-基本指令3_后缀_17

通过tree查看目录dir,我们发现,我们已经成功将压缩包中的内容解压到了目录dir中。

与压缩有关,且常用的指令还一个tar指令。

tar指令

tar指令,它具有用来压缩文件,解压压缩包以及预览压缩包功能。

Linux-基本指令3_Linux常用指令_18

从上图中,我们可以清晰的看到,tar指令的选项有很多,对应的打包压缩的方案也有很多。在这里,我们只介绍一种。

tar+czf+压缩包的名字+要压缩的文件----打包压缩

tar+tzf+压缩包的名字----压缩包预览(也就相当于,我们在windowns系统下,我们可以预览压缩包里面有什么文件)

tar+xzf+压缩包的名字----解压压缩包

下面,我们按照上面的格式,使用以下tar指令。

Linux-基本指令3_后缀_19

通过tar+czf,我们得到了一个压缩包。这个压缩包里面有什么呢?我们使用tar指令+tzf来预览一下。

Linux-基本指令3_Linux常用指令_20

很显然,里面的内容就是我们刚刚要压缩的3个文本文件。我们用tar指令+xzf进行解压看看,是否如出一辙。

Linux-基本指令3_后缀_21

首先,我们先把压缩包移动到目录文件dd中,然后,解压,得到了里面的压缩包中的文件,和我们预览时看到的,相同。

我们来看看下面这种tar指令的压缩使用。

Linux-基本指令3_Linux常用指令_22

它和我们刚刚使用的有什么不同。细心的同学,马上老师,这个压缩包是红色的。除了这个变化外,主要的区别是这个压缩包的命名方式多了一个后缀。

Linux-基本指令3_Linux常用指令_23

这个后缀是什么意思呢?

首先,我们来认识两个后缀。一个是.tar,这个后缀是打包后缀,表示这个文件是别的文件的打包。另一个是.gz,这个后缀是压缩后缀,表示这个件经过了压缩。

我们要得到一个压缩包,需要经过两到工序,一打包,二压缩。如此下来,就得到我们需要得压缩包了。根据上面得工序,我们的压缩包的后缀就应该为XXX.tar.gz,简写成XXX.tgz。

好,你说.tgz的后缀表示压缩包。可为什么,我们前面的all文件,也可以进行压缩包的相关操作呢?这是因为在Linux系统下,文件名的后缀是没有实际意义的。在Linux操作系统看来,它们都是文件。

在Linux操作系统下,有一个结论,叫一切皆文件。这个怎么去理解?我们后面揭晓。

我们来总结一下tar指令。

Linux-基本指令3_Linux常用指令_24

计算器,基本上,很多的设备都配备有。Linux操作系统,也配备了这么一个计算器。它就是bc指令。

bc指令

bc指令,它的功能就是类似计算器,进行计算。

Linux-基本指令3_压缩包_25

这个指令,很简单,没什么可讲的,就是输入bc,回车后,就相当于计算器了,再输入要计算的式子,按下回车,就能的出结果了。Ctrl+c,中止退出。

下一个,我们要认识的指令叫uname指令。

uname指令

uname指令,它的功能是获取电脑和操作系统相关的信息。

Linux-基本指令3_Linux常用指令_26

如果单独使用uname指令,它只会显示当前使用的是什么操作系统。

当带上-a选项,就会详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

我们在windowns操作系统下,会有一些快捷键,便于我们快速进行操作。比如复制粘贴。

在Linux操作系统下,也有一些快捷键。

重要的几个快捷键[Tab],[ctrl]-c, [ctrl]-d

[Tab]按键---具有『命令补全』和『档案补齐』的功能

[Ctrl]-c按键---让当前的程序『停掉』

[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 或 End OfInput)』的意思;另外,他也可以用来取代exit。

关机,这一操作。我们除了可以手动进行关机,还可以通过shutdown指令来进行关机。

shutdown指令

shutdown指令,它的功能就是关闭服务器。

带上-h选项:就是将系统的服务停掉后,立即关机。

带上-r选项:就是在将系统的服务停掉之后就重新启动。

带式-t选项,在-t后面加秒数,亦即『过几秒后关机』的意思。

这个指令,不太方便演示,我们在这里就不做测试了。

认识完shutdown指令,基本指令这一块,我们也就讲得差不多了。不知道我有没有说明白,给予你一点点收获。如果你有所收获,别忘了给我点个赞,这是对我最好的回馈,当然你也可以在评论发表一下你的收获和心得,亦或者指出我的不足之处。下一篇文章,我会和大家分享与权限相关的知识。

好了,到这里,我们本次的分享就到此结束了,如果喜欢我的分享,别忘了给我点点关注噢。

举报

相关推荐

0 条评论