• 【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,管道

            管道符号:"|"。

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

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


    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

    具体运用实例如下:

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

    语法:

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

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

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


    2,cal日历指令

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

    语法:

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

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


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

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

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


    3-2,find指令

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

    语法:

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

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


    3-3,whereis直接查找指令

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

    语法:

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


    4,grep指令

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

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

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

    常用选项:

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

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

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

    不用选项的命令图

    加入选项的命令图

    运用管道的grep

            grep也可通过管道来查找目录下指定名称的文件,如下:


    5,sort指令

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


    6,uniq指令

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

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

    常用选项:

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

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

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

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

    uniq的运用图如下:

    uniq与uniq -u的使用

    uniq -d与uniq -c的运用

    uniq与管道的结合运用

  • 相关阅读:
    掌握可扩展和可维护应用程序:12-Factor应用程序开发的全面指南
    线程池的简单理解
    Unity团结引擎使用总结
    【动手学深度学习】基础优化算法
    SM5101 SOP-8 充电+触摸+发执丝控制多合一IC触摸打火机专用IC
    PostgreSQL简介及安装步骤
    【笔试强训】Day 5
    ORACLE11g Dataguard物理Standby-日常巡检操作手册
    【优雅】Java List转二维Map
    Css 美化滚动条
  • 原文地址:https://blog.csdn.net/m0_74246469/article/details/133920047