【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

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

6,uniq指令
功能:删除文件中相邻行重复的数据。
语法; uniq [选项] [文件]
常用选项:
-d:将文件中相邻重复行的数据显示出来,有多行重复时只显示一行。
-c:打印每行数据出现的次数,注意,这也是只针对相邻非空数据
-u:此选项的作用与uniq没有选项的作用基本相同,与uniq普通使用的区别很细微,对此我们可忽略不计。
因为此命令删除重复行的数据有缺陷,所以,当要删除文件中所有行中重复的数据时要先用sort指令进行排序,此时重复行的数据将相邻,再用此命令进行删除,即可删除文件中所有重复行的数据。
uniq的运用图如下:
uniq与uniq -u的使用

uniq -d与uniq -c的运用

uniq与管道的结合运用

相关文章:
【Linux系统编程】命令模式2
目录 一,Linux下的初阶认识 1,管道 2,时间戳 二,Liunx系统命令操作 1,date时间指令 2,cal日历指令 3,which和find查找指令 3-1,which指令: 3-2,find…...
【Leetcode】【中等】1726.同积元组
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/tuple-with-same-product/ 给你…...
Git教程
文章目录 Git 介绍GIt历史Git 安装环境配置工作区、缓存区和仓库区(版本库)工作区(工作目录)暂存区仓库区git工作目录下文件的装填 Git 生成公钥及添加到gitlab或Gerrit上Git常用命令git stautsgit statu -sgit addgit commitgit reset1. git reset --ha…...
使用序列化技术保存数据 改进 IO流完成项目实战水果库存系统
上一节内容是 使用IO流完成项目实战水果库存系统https://blog.csdn.net/m0_65152767/article/details/133999972?spm1001.2014.3001.5501 package com.csdn.fruit.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java…...
0基础学习PyFlink——使用PyFlink的Sink将结果输出到外部系统
在《0基础学习PyFlink——使用PyFlink的SQL进行字数统计》一文中,我们直接执行了Select查询操作,在终端中直接看到了查询结果。 select word, count(1) as count from source group by word; ------------------------------------------------------ |…...
会声会影2024旗舰版详细功能介绍
随着网络视频的蓬勃发展,越来越多的人开始涉足视频剪辑领域,毕竟技多不压身嘛。在众多剪辑软件中,剪映和会声会影是备受新手青睐的两种。那么,会声会影和剪映哪个好呢?在它们之间,哪一个更适合初学者呢接&a…...
QtCreator 查看类帮助文档,快捷键操作:按两次F1 全屏帮助,Esc取消全屏
如何查看类帮助文档 选择类,按F1查看类帮助文档。 示例: #include <QLabel> // 将光标放在QLabel上,按F1右侧弹出的类帮助手册可视宽度很小,如果按两次 F1 键,帮助文档将会以全屏模式显示,以便更清…...
C语言文件操作(1)
C语言文件操作(1) 文章目录 C语言文件操作(1)一、理解文件1.概述2.分类①.正常角度②.文本文件和二进制文件 二、文件的打开和关闭1.流和标准流2.文件类型指针3.文件的打开和关闭以及使用类型 三、文件缓冲区 一、理解文件 1.概述…...
adb 操作命令(adb调试QT项目使用到的命令)
1.adb连接串口 获取root权限 adb root && adb remount && adb shell2.测试串口命令 stty -F /dev/ttyS4 cs8 -parenb -cstopb -echoecho "12345\n" > /dev/ttyS8cat /dev/ttyS4 &3.软件在安卓系统上的名字已经活动名称(下面是示…...
mysql下载和安装,使用
先下载安装 官方下载 已下载备份软件 安装,一路下一步设置环境变量 4. 打开一个cmd,输入mysql -u root -p...
Redis底层核心数据结构详解
文章目录 一、深入String(SDS)1. 字符串简介2. SDS存在的意义3. SDS结构设计4. SDS与C字符串的区别4.1 常数复杂度获取字符串长度4.2 杜绝缓冲区溢出4.3 二进制安全4.4 SDS API 5 小结 二、深入List (QuickList)1. 链表节点结构设计2. Redis的链表实现的…...
如何学会从产品经理角度去思考问题?
如何学会从产品经理角度去思考问题? 从产品经理的角度思考问题意味着你需要关注产品从构思到上市全过程中的各个方面,包括用户需求、市场趋势、设计、开发、测试、上市后的用户反馈等。以下是一些策略和方法,帮助你培养从产品经理角度思考问…...
正则表达式的神奇世界:表达、匹配和提取
正则表达式的神奇世界:表达、匹配和提取 前言第一: 什么是正则表达式?第二: 字符匹配和量词:1. 字符匹配:2. 量词:3. 贪婪和非贪婪匹配: 第三:字符类和元字符1. 字符类&a…...
密码登录虽安全,但有时很麻烦!如何禁用或删除Windows 11中的密码登录
如果你想在Windows 11上自动登录,在本指南中,我们将向你展示如何删除你的帐户密码。 在Windows 11上,你可以至少通过三种方式从帐户中删除登录密码。在你的帐户上使用密码有助于保护你的计算机和文件免受来自internet或本地的未经授权的访问。然而,在某些情况下,密码可能…...
Python实现的快速排序代码
Python实现的快速排序代码 def bubble_sort(arr): n len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j1]: arr[j], arr[j1] arr[j1], arr[j] return arr 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,…...
【USRP】通信基带物理层历史
无线通信的基带物理层开发历史涵盖了从早期无线技术到当前复杂的移动通信标准的各种进步。以下是关于无线通信基带物理层开发的简要历史概述: 无线电初期:20世纪初,Guglielmo Marconi等人通过无线电进行了早期的无线通信尝试。这些早期的尝试…...
依靠继承与聚合,实现maven搭建分布式项目
简介聚合 对于复杂的Maven项目,一般建议采用多模块的方式来设计开发,便于后期维护管理。但是构建项目时,如果每次都需要按模块一个一个进行构建会十分麻烦,而Maven的聚合功能就可以很好的解决这个问题,当用户对聚合模…...
华为OD 叠积木(100分)【java】A卷+B卷
华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…...
vue重修之自定义项目、ESLint和代码规范修复
文章目录 VueCli 自定义创建项目ESlint代码规范及手动修复代码规范错误 VueCli 自定义创建项目 安装脚手架 (已安装) npm i vue/cli -g创建项目 vue create xxx选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) …...
华为OD 完全二叉树非叶子部分后序遍历(200分)【java】A卷+B卷
华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应往年部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为OD…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
链式法则中 复合函数的推导路径 多变量“信息传递路径”
非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y)) 来全面说明。我们会展示其全微分形式(偏导…...
32位寻址与64位寻址
32位寻址与64位寻址 32位寻址是什么? 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元(地址),其核心含义与能力如下: 1. 核心定义 地址位宽:CPU或内存控制器用32位…...
MeshGPT 笔记
[2311.15475] MeshGPT: Generating Triangle Meshes with Decoder-Only Transformers https://library.scholarcy.com/try 真正意义上的AI生成三维模型MESHGPT来袭!_哔哩哔哩_bilibili GitHub - lucidrains/meshgpt-pytorch: Implementation of MeshGPT, SOTA Me…...
