【Linux系统编程】命令模式2

目录

一,Linux下的初阶认识

1,管道

2,时间戳

二,Liunx系统命令操作

1,date时间指令

2,cal日历指令

3,which和find查找指令

3-1,which指令:

3-2,find指令

3-3,whereis直接查找指令

4,grep指令

5,sort指令

6,uniq指令


一,Linux下的初阶认识

1,管道

        管道符号:"|"。

        管道是把一个程序的输出直接连接到另一个程序的输入,通常用来连接两个进程,它是一种抽象的感念,我们可将其想象为一种普通的管道,先从一端流入,然后再从一端输出,即将前面的命令作为流水流入后面的指令。同理,在计算机中,先将一种"流"从管道的一端流入,然后再流入另一端,作为输入,这里我们先了解这么多即可,后面的文章会详细介绍。

接下来我来用实例跟大家演示一下:

【Linux系统编程】命令模式2_第1张图片


2,时间戳

        时间戳是一种时间的感念,是从1970年1月1日上午8点开始所经过的时间,其中不考虑闰秒。

        由于世界各处的时间都不太统一,在运用时也会很大误差,所以,时间戳是我们所用的同一时间概念,而且,由以上感念可知,时间戳随时随地都在不断变化,我们可利用其特点来进行设置数据或查看系统有关的时间感念。此概念非常重要,后面将会不断运用。



二,Liunx系统命令操作

        要提醒的是以下的实操我用的系统版本是CentOS 7.9 64位,不同版本的系统有极少命令可能有些不同,但原理和大多数命令都相同。


1,date时间指令

用法:

        date   ——显示当前自己机器的时间 

        date 指定格式显示时间: date +%Y:%m:%d ——显示当前的"年:月:日"。 

        注意:在显示格式方面,使用者可以设定想要设定的格式,格式设定为一个加号"+"后多个标记的内容,其中常用的时间标记有以下:

        %H:小时

        %M:分钟

        %S:秒

        %X:相当于%H:%M:%S

        %d:日

        %m:月份

        %Y:完整的年份

        %F:相当于%Y-%m-%d

具体运用实例如下:

【Linux系统编程】命令模式2_第2张图片

        data指令不光可以显示自己当前机器的时间,还可以用来显示时间戳。

语法:

        date +%s ——显示当前的时间戳

        date -d @n ——显示时间戳为n时对应当下的时间。例:当n = 0时显示时间戳的起始时间,即1970年1月1日上午8点。

        date [格式] -d @n 或 date -d @n [格式] ——按照指定格式来显示时间戳为n时对应当下的时间。

【Linux系统编程】命令模式2_第3张图片


2,cal日历指令

        cal指令于date不同,cal用于查看日历,当我们要查看具体的时间时要用date,要查看日历时用cal。

语法:

        cal ——显示当前月份的日历

        cal [年份] ——将指定年份的全部日历

【Linux系统编程】命令模式2_第4张图片


3,which和find查找指令
3-1,which指令:

        which 指令较为简单,它是用来查找指令所在的途径(每个命令都在指定的目录中)

        语法:which [指令] ——直接显示指令所在的路径和此命令的命名操作,当指令没有命名操作时只会显示所在的路径。

【Linux系统编程】命令模式2_第5张图片


3-2,find指令

        find指令用来查找指定目录下的指定文件的路径,与which不同的是find可以查找所有文件的途径,而which只能用来查找指令文件的途径。

语法:

        find [目录] -name 文件 ——查找该目录下所有指定文件的所有途径(因为文件名在不同目录下可以重复)

【Linux系统编程】命令模式2_第6张图片

        这里要说明的是find是在硬盘上遍历查找,而硬盘上的文件巨多,因此查找起来非常消耗硬盘上的资源,效率也非常低,因此要慎重运用find查找文件。


3-3,whereis直接查找指令

        whereis也是用于查找文件路径,与find不同的是,wherels是从系统下的数据库中查找文件路径,因此,whereis查找文件的速度要比find更快。但是系统的数据库也不是实时更新,不在数据库中的文件我们是查找不到的,所以,wherels查找文件路径也有缺陷。

语法:

        wherels 文件    ——从数据库中查找文件的路径

【Linux系统编程】命令模式2_第7张图片


4,grep指令

功能:在指定文件中搜索字符串,将找到指定字符串的行打印出来

例如:grep 'A' test.txt ——查找文件test.txt的每一行,将每一行含有字符'A'的显示出来。

语法:grep  [选项]  要搜索指定的字符串  文件

常用选项:

        -i  ——忽略字符串的大小写,将大小写视为相同

        -n ——在搜索的基础上顺便输出行号

        -v ——反向选择,即显示出没有"搜索字符串"内容的那一行

不用选项的命令图

【Linux系统编程】命令模式2_第8张图片

加入选项的命令图

【Linux系统编程】命令模式2_第9张图片

运用管道的grep

【Linux系统编程】命令模式2_第10张图片


5,sort指令

        这个指令我们只需初步了解作用即可。sort是将文件中的行内容按照ASCII码值的大小进行排序,然后一行一行的显示出来。其中,默认排升序。

【Linux系统编程】命令模式2_第11张图片


6,uniq指令

功能:删除文件中相邻行重复的数据。

语法; uniq [选项] [文件]

常用选项:

        -d:将文件中相邻重复行的数据显示出来,有多行重复时只显示一行。

        -c:打印每行数据出现的次数,注意,这也是只针对相邻非空数据

        -u:此选项的作用与uniq没有选项的作用基本相同,与uniq普通使用的区别很细微,对此我们可忽略不计。

        因为此命令删除重复行的数据有缺陷,所以,当要删除文件中所有行中重复的数据时要先用sort指令进行排序,此时重复行的数据将相邻,再用此命令进行删除,即可删除文件中所有重复行的数据。

uniq的运用图如下:

uniq与uniq -u的使用

【Linux系统编程】命令模式2_第12张图片

uniq -d与uniq -c的运用

【Linux系统编程】命令模式2_第13张图片

uniq与管道的结合运用

【Linux系统编程】命令模式2_第14张图片

你可能感兴趣的:(linux,命令模式,运维)