【linux】linux的基本指令之date 时间戳 cal find grep zip/unzip tar bc unname 常用热键 shutdown 指令运行的原理

小编个人主页详情<—请点击
小编个人gitee代码仓库<—请点击
linux系列专栏<—请点击
倘若命中无此运,孤身亦可登昆仑,送给屏幕面前的读者朋友们和小编自己!
在这里插入图片描述



前言

【linux】linux的基本指令echo man cp mv cat more less head tail以及重定向操作符 > >> < 和管道 | 的简单介绍书接上文 详情请点击
本文由小编为大家介绍linux的基本指令之date 时间戳 cal find grep zip/unzip tar bc unname 常用热键 shutdown 指令运行的原理


一、date指令

程序运行到每一个关键时刻,都需要自己打印日志并保存到日志文件中,日志包括时间(以时间戳的形式保存),日志等级,日志具体信息,其它信息等,日志是以行的形式进行保存

  1. date 可以直接显示日期时间,但是格式不太符合我们的阅读习惯
  2. date +%Y-%m-%d 更改日期显示默认格式,显示年月日,其中的分隔符我们自由定义,这里小编采用-
  3. date +%Y-%m-%d_%H:%M:%S 更改日期显示默认格式,显示年月日和具体时间,其中的分隔符我们自由定义,这里小编采用-分隔日期和:分隔时间
    在这里插入图片描述

二、时间戳指令

时间戳的是从1970年1月1日开始所经过的秒数
互联网的范围是全世界,全世界由于时差地方时的不同,如果进行传输则会出现时间不同步的情况,为了保证时间都有一个统一的界定,故而有了时间戳,有了时间戳可以使用指令的选项进行换算为日期

  1. date +%s 获取时间戳
  2. date -d@输入刚刚获取的时间戳,转化为日期
  3. date -d@1743862156 +%Y-%m-%d_%H:%M:%S 将时间戳转换为日期并且按照我们想要显示的格式进行显示
    在这里插入图片描述

三、cal指令

cal指令是进行显示日历的,日历默认显示阳历

  1. cal 显示当月日历
  2. cal -3 显示3个月的日历,即当月,前一月,下一月的日历
  3. cal -y 2005 指定显示2005年的12个月份的日历
  4. cal -j 从1月1日开始进行计算,算出当前天在当年中处于第几天

在这里插入图片描述
在这里插入图片描述

四、查找指令(find which whereis)

find

  1. find 路径 -name 文件名 可以在指定路径下搜索指定文件,注意~是家目录,查找后缀名可以使用*后缀名的方式
    在这里插入图片描述

which

  1. which 指令文件名 在指令路径下 /usr/bin 搜索指令文件
    在这里插入图片描述

whereis

  1. whereis 文件名 在系统指令路径下查找,可以找到可执行程序,指令文件,手册,压缩包,安装包等
    在这里插入图片描述

五、grep指令

cnt=0; while [ $cnt -le 10000 ]; do echo “hello linux $cnt”; let cnt++;done > test.txt
这是一个脚本,可以创建出一个10000行含有的内容为hello linux的字符串,并且将这些内容输出重定向到test.txt文件中

  1. grep是行文本过滤工具
  2. grep 999 test.txt 使用grep查找行号中含有连续999的那一行字符串并打印到屏幕上

在这里插入图片描述

  1. grep hello test1.txt 可以查找文件中字符串中含有hello的并将字符串显示在屏幕上
  2. grep hello test1.txt -n 可以查找文件中字符串中含有hello的并将字符串显示在屏幕上并显示字符串在原文件中的行号
  3. grep hello test1.txt -i 不区分大小写的进行查找文件中字符串中含有hello的并将字符串显示在屏幕上
  4. grep hello test1.txt -v 查找不含有hello的字符串并且显示到屏幕上
    在这里插入图片描述

六、zip/unzip指令

linux也需要进行打包压缩,当linux充当服务器的时候,需要各种网络应用场景,满足网络通讯的要求,进行通讯就需要传输文件,所以linux也需要打包压缩

  1. 打包压缩要用到zip,解压解包要用到unzip,所以通常来讲这两个指令都是成对出现的
  2. 为什么要进行打包压缩,1. 打包压缩可以将多个文件化为一个整体,一个文件,在传输过程中不容易丢失 2. 打包压缩可以让有限的文件的体积变的更小,可以让有限的空间容纳更多的文件,文件小了,存储占用的空间就变小,所以进行传输接收的下载速度就变快了
  3. 通常进行打包压缩的工具是zip/unzip tar
  1. zip 打包压缩后的文件名.zip为后缀 需要打包的文件名 通产是对单个空目录和文件进行打包压缩
  2. zip -r 打包压缩后的文件名.zip为后缀 需要打包的文件名,通常需要打包的文件中目录有多个子目录或文件就需要以递归的形式进行打包压缩,以递归的形式将文件打包到压缩包文件中,递归打包的选项是-r
  3. unzip 需要解压解包的压缩包名,使用unzip不带选项直接对需要压缩包进行解压解包,unzip默认是将压缩包解压解包到当前目录下
    在这里插入图片描述
  4. unzip 需要解压解包的压缩包名 -d 指定路径,使用unzip带选项- d 对压缩包进行解压解包到指定路径下
    在这里插入图片描述

七、tar指令

  1. tar 跟选项可以进行打包压缩,解压解包的操作
  2. tar -czf 打包压缩后的文件名.tgz为后缀 需要行打包压缩的文件名 对目录或文件进行打包压缩 ,这里的.tgz其实是.tar.gz的缩写,为了便利进行缩写为.tgz
  3. 对于-czf 其中-c是creat有创建的意思,-z是以gzip的形式进行压缩,-f是对压缩包文件进行命名
  4. tar -tzf 压缩包文件名 对压缩包中的文件进行预览 ,其中-t是查看预览的意思
  5. tar -xzf 压缩包文件名 对压缩包进行解压解包,默认解压解包到当前路径下,其中-x是解开压缩文件的参数指令
  6. tar -xzf 压缩包文件名 -C 指定路径 对压缩包进行解压解包到指定路径下
    在这里插入图片描述

八、bc指令

  1. bc 是linux中的计算器,可以进行整数和浮点数的计算
  2. 使用完成后按下ctrl+d进行退出

在这里插入图片描述
在这里插入图片描述

  1. 这里的bc指令还可以衔接管道进行使用在这里插入图片描述

九、uname指令

  1. uname 可以用来获取linux主机的所使用的操作系统的版本,硬件名称等的相关信息
  2. uname -a 可以详细输出所有信息,前三个红色框内依次表示内核名称,主机名,内核版本号
  3. uname -r 可以查看体系结构
    在这里插入图片描述

十、常用热键(Tab ctrl+c ctrl+r ctrl+d)

Tab键

  1. Tab键可以自动补齐指令,并且会在我们的指令后面加入空格进行分隔

在这里插入图片描述
在这里插入图片描述
3. 同时当我们的输入文字存在多个指令可以匹配,连续按两次tab键,可以将可以进行匹配的指令显示在我们屏幕上供我们进行选择
在这里插入图片描述

ctrl+c键

  1. ctrl+c 可以将当前运行正常或异常的程序终止退出
    在这里插入图片描述

ctrl+r键

  1. ctrl+r 可以搜索用户历史输入的指令
  2. 同时我们应该知道既然可以进行搜索用户历史输入的指令,那么就意味着在系统特定路径下必然存储着用户输入的历史指令,并且默认存储的历史指令条数为1000行,默认存储的历史指令条数可修改
    在这里插入图片描述

ctrl+d键

  1. ctrl+d 意味着键盘输入结束,同时也可以替代exit进行结束退出程序

在这里插入图片描述
在这里插入图片描述

十一、shutdown指令

我们的linux操作系统运行起来后还可以进行关机,但是通常来讲我们的linux操作系统一旦运行起来就不再关机

  1. 同时还应该注意,只有root用户才可以运行shutdown指令
  1. shutdown -h 系统服务停掉后立即关机
  2. shutdown -r 系统服务停掉后进行重新启动
  3. shutdown -t 秒 设置多少秒后关机

十二、指令运行的原理

linux严格意义上来说是一个操作系统(OS),称之为核心kernel,但是OS的使用难度十分之高,我们用户不能直接对OS进行操作下达命令,但是用户可以通过命令行解释器(shell)对操作系统间接操作下达命令

  1. 命令行解释器shell是一个统称,在不同的操作系统中会有具体的命令行解释器的名称,例如在linux中就称作bush命令行解释器
  1. 下面四个部分组成了linux操作系统中的bush命令行,我们可以在这一行输入指令,输入指令实际上就是输入字符串
  2. 指令在系统特定的路径下进行存放,指令本质是编译器编译好的程序和脚本
    在这里插入图片描述
  3. 命令行解释器在用户和操作系统之间担任着沟通者的身份,其将用户输入的指令翻译给核心kernel进行处理,同时将核心处理的结果翻译给用户
  4. 命令解释器存在的意义,对指令进行翻译,同时对于用户的非法请求进行直接拦截,避免非法指令伤害内核kernel,也间接的保护了核心kernel

总结

以上就是今天的博客内容啦,希望对读者朋友们有帮助
水滴石穿,坚持就是胜利,读者朋友们可以点个关注
点赞收藏加关注,找到小编不迷路!