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

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

一,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与管道的结合运用

相关文章
|
1天前
|
Unix Linux Windows
Linux 系统目录结构
这篇文章详细解释了Linux系统目录结构,重点介绍了/etc目录存放系统配置文件,/root为管理员主目录,/usr存放应用程序和共享资源,/var存放日志等变动文件,以及/home、/boot等目录的作用。
Linux 系统目录结构
|
6天前
|
运维 Ubuntu Linux
Linux系统之ncdu命令的基本使用
【8月更文挑战第8天】Linux系统之ncdu命令的基本使用
14 2
Linux系统之ncdu命令的基本使用
|
1天前
|
Linux 程序员 开发者
源社区的兴起:从“代码隐士”到Linux引领的“全球编程嘉年华”
在编程的古老森林中,曾有“代码隐士”默默耕耘,惧怕智慧外泄。直到“开源”春风拂过,源社区如全球编程嘉年华盛开!开源文化颠覆了“独门秘籍”的传统,像“武林秘籍共享”般在网络上公开,鼓励知识传播与智慧碰撞。程序员组队开发,分享代码,提升科技实力。Linux则从“首席大厨”变身为“总导演”,以强大内核调制出诱人应用,引领潮流并推动技术创新。加入这场没有血腥厮杀,只有知识盛宴的“编程版《饥饿游戏》”吧!与全球开发者共享编程的乐趣与成就感!别忘了带上你的“独门秘籍”,可能下一个改变世界的创意就在其中!
17 7
|
1天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
1天前
|
Ubuntu Java Linux
查看Linux系统中日志文件
查看Linux系统中日志文件
|
1天前
|
Linux
Linux源码阅读笔记17-资源分配及总线系统
Linux源码阅读笔记17-资源分配及总线系统
|
2天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
1天前
|
关系型数据库 MySQL Linux
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
这篇文章提供了在Linux系统中使用Docker安装Mysql 5.7版本的详细过程和图解,包括安装指定版本、创建实例、启动、使用Navicat连接测试、文件挂载与端口映射、进入容器、配置文件修改以及重新启动容器等步骤。
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
|
8天前
|
存储 安全 Unix
揭秘Linux配置之谜:为何重启成常态?动态刷新配置竟成奢望?一场关于系统稳定性与灵活性的较量!
【8月更文挑战第12天】Linux以其卓越性能在各领域广泛应用,但配置更新需重启而非动态刷新。这源于系统架构的静态设计、配置管理机制的局限、安全考量及性能优化需求。配置文件存储于磁盘,改动不自动反映至内存;服务管理依赖systemd等初始化系统,启动时加载配置而不主动监测变更;动态刷新可能引入安全风险;频繁更新配置亦影响性能。开发者可通过信号或IPC机制实现在特定信号下重新加载配置。
22 4
|
5天前
|
存储 NoSQL Java
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
该博客文章展示了如何在Linux虚拟机上使用Redis和Jedis客户端实现手机验证码的验证功能,包括验证码的生成、存储、验证以及限制每天发送次数的逻辑,并提供了测试结果截图。
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)