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

news/2024/10/23 22:30:02/

目录

一,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


5,sort指令

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


6,uniq指令

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

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

常用选项:

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

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

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

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

uniq的运用图如下:

uniq与uniq -u的使用

uniq -d与uniq -c的运用

uniq与管道的结合运用


http://www.ppmy.cn/news/1172406.html

相关文章

数字化转型“黑话”知多少?一文让你不仅听得懂、还会落地执行

何为OEE?如何提升OEE? 从上图可知,客户是机加工行业的,而机加工行业属于重资产行业,主要以设备生产为主,管好设备、提升设备的综合效率(OEE)。效率高了,毛利率自然也会增…

Proteus仿真--量程自动切换数字电压表(仿真+程序)

本文主要介绍基于51单片机的量程自动切换数字电压表Proteus仿真设计(完整仿真源文件及代码见文末链接) 简介 硬件电路主要分为单片机主控模块、AD转换模块、量程选择模块以及数码管显示模块 (1)单片机主控模块:单片…

YOLO V8训练自己的数据集并测试

目录 1 YOLOV8部署 2 标注软件labelme安装 3 将labelme转化为YOLOV8支持的数据格式 4 开始训练 5 利用训练结果进行测试 1 YOLOV8部署 我的一篇博客已经提到,这里不再赘述: YOLO V8语义分割模型部署-CSDN博客YOLO V8语义分割模型部署https://blog.cs…

全局下载报错怎么办

举个例子,当你要全局下载create-react-app,报如下图所示的错 这个时候,关闭掉git base,再以管理员身份运行 你再次下载,ok了

Redis为什么变慢了

一、Redis为什么变慢了 1.Redis真的变慢了吗? 对 Redis 进行基准性能测试 例如,我的机器配置比较低,当延迟为 2ms 时,我就认为 Redis 变慢了,但是如果你的硬件配置比较高,那么在你的运行环境下,可能延迟是 0.5ms 时就可以认为 Redis 变慢了。 所以,你只有了解了你的…

62 最小路径和

最小路径和 题解1 DP 给定一个包含非负整数的 m x n 网格 grid ,请找出一条 从左上角到右下角的路径,使得路径上的 数字总和为最小。 说明:每次只能向下或者向右移动一步。 题解1 DP class Solution { public:int minPathSum(vector&l…

C++数据结构X篇_20_选择排序

文章目录 1. 选择排序原理2. 选择排序原理核心代码3. 选择排序时间消耗 1. 选择排序原理 选择排序:相对于冒泡排序,减少了交换次数,下图展示了选择排序的原理,具体仍需要结合代码分析。 2. 选择排序原理核心代码 //选择排序 v…

elasticsearch完整学习

文章目录 elasticsearch一、概念二、ELK集群部署三、图形化界面 elasticsearch 一、概念 1、ELKStack简介(都是java架构,需要jdk底层) 什么是ELK?通俗来讲,ELK是由Elasticsearch、Logstash、Kibana 三个开源软件组成的…