【Linux探索学习】第三弹——Linux的基础指令(下)——开启新篇章的大门

时间:2024-10-07 16:26:31

Linux基础指令(上):

【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇-****博客

Linux基础指令(中):

【Linux探索学习】第二弹——Linux的基础指令(中)——夯实基础第二篇-****博客

前言:

在前面我们已经讲了有十几个Linux的基础指令及相关的知识了,今天我们再补充几个重点的基础指令,给基础指令收个尾,为下面的内容做准备

目录

一、date指令

1. 时间显示

2. 设定时间

3. 时间戳

二、cal指令

三、find指令

1. find指令

2. which指令

3. whereis指令

四、grep指令

五、zip/unzip指令

六、tar指令

1. 打包压缩

2. 预览

3. 解压缩包

4. tar指令与zip/unzip指令的使用场景

七、bc指令

八、uname指令

九、总结


在正式讲解今天的内容之前,建议大家先去看一下我前两篇的内容,看看是否有还未掌握的内容,确认没有后,再返回查看今天内容,确保知识连贯性

一、date指令

在我们平时工作学习中,会经常接触日志的概念,它有利于帮助我们记录工程的进度,并且出错也能帮助我们查找问题的所在,日志中关键的一部分内容就是时间的记录,在Linux中与时间记录有关的指令主要就是date指令,date指令可以帮助我们记录时间

date指令的作用主要体现在三个方面:

1. 时间显示

我们可以用date指令来显示当前时间,具体做法就是 date +几个标记,标记可以是以下这些:

%H : 小时(00..23) 
%M : 分钟(00..59) 
%S : 秒(00..61) 
%X : 相当于 %H:%M:%S 
%d : 日 (01..31) 
%m : 月份 (01..12) 
%Y : 完整年份 (0000..9999) 
%F : 相当于 %Y-%m-%d

比如下面这个例子:

2. 设定时间

date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00

date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间

date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间

date -s “20080523 01:01:01″ //这样可以设置全部时间

3. 时间戳

时间戳是一个很有意思的概念,因为每个地方时间都不一样,计算机为了同一时间,就把1970年午夜作为一个起点,之后每过一秒加1,一直持续到现在

查看当前时间对应的时间戳的方法:date +%s

查看一个时间戳所对应的时间的方法:date -d@数字

二、cal指令

cal指令是与日历(阳历)有关的指令,它可以帮助我们查看日历相关的信息

cal指令不加任何选项默认的是查看当前年份当前月份的日历:

cal指令有以下几个选项:

-3 显示系统前一个月,当前月,下一个月的月历
-j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天      数)
-y  显示当前年份的日历

各自的用法如下:

-3选项:

-j选项:

-y选项:

三、find指令

1. find指令

Linux中find指令是非常重要的,它能帮助我们在指定路径下查找文件,Linux下find命令提供了非常多的查找条件,功能非常强大,所以它对应的有许多选项,今天我们就先记住它最基本的用法,就是在指定路径下查找文件

比如在家目录下查找test.c文件

在前面我们讲过Linux下文件的存放形式是类似树状的,而我们普通用户的家目录也只是树上的一个分支,当我们以普通用户的身份查找文件时,我们只能查找我们这个家目录下的文件,其它文件我们是无权查看的,比如下面这种:

我们发现我们找到的有些路径下的文件后面有:Permission denied,这就是我们没有权限的意思,如果想要查看这种文件我们可以切换到root身份下进行

2. which指令

在前面时我们也学过一个有关查找的指令——which指令,这里我们来对比一下,which指令的功能是在搜索指令,一般都是在/usr/bin中,如下:

3. whereis指令

除了上面两种查找指令外,其实还有一个whereis指令,这个指令的功能是在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册、安装包、压缩包等

比如我们查找ls指令

我们可以发现我们除了找到ls指令外,还找到了在man手册中与ls相关的一个压缩包

四、grep指令

grep指令的功能就是在文件中搜索字符串,并将找到的行打印出来

具体的用法我们结合下面的示例来讲

当我们在一个比较大的文本文件中查找指定内容的所在行时,比如这样一个文件,文件中包含以下内容:

对于这样一个文件,我们想查找其中的有些特定行时,就需要借助grep来筛选

假设上面的内容是存放在log.txt文件中,我们要找到所有含 9999 的行

上面的就是grep最基础的用法

grep也有几个常用的选项:

-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

我们可以选择这样一个文件,文件中包含以下内容:

-n选项的用法:

找到包含 ‘world’ 的行,并把它的行号打印出来

-v选项的用法:

把不包含 world 的行打印出来

-i选项的用法:

忽略大小写,只要是字母一样且顺序一样就找出来

五、zip/unzip指令

打包和压缩对于我们来说应该并不陌生,我们在平时学习提交作业等东西的时候,就经常需要将一个或几个相关联的文件打包压缩在一起,这样即可以防止这些文件中发生部分丢失,也可以节省内存

zip/unzip指令是Linux下的一种压缩和解压缩的指令,下面我们来看一下它们两个是如何对文件或目录进行压缩和解压缩

起初我们有这样一个文件夹:

我们把test.c进行压缩:

压缩后我们就可以发现目录下多了一个test.c的压缩文件,我们把原来的test.c删除掉

删除掉原来的test.c之后我们对这个.zip文件放入106目录下,并且进行解压缩

我们可以发现此时.zip文件就已经在106目录下,且解压缩形成的新文件test.c也在

显示test.c文件中的内容:

可以看到与原来的test.c文件中的内容一样,所有整个压缩和解压缩的过程没有问题

zip指令也有一个常用的选型:

-r 递 归处理,将指定目录下的所有文件和子目录一并处理

这个选项跟前面有些指令的递归选项使用场景一致,就不再赘述了

六、tar指令

tar指令也是Linux中压缩和解压缩的一种指令,但是它与zip/unzip指令还是有所不同的,下面我们先来看一下它的用法

tar指令的相关变形和作用有很多,我们主要记住下面三个就行

1. 打包压缩

tar指令与打包压缩有关的是:tar caf 压缩包名 文件名(可以是多个文件)

用法如下:

比如这样一个文件夹:

里面有三个目录和一个文件,我们可以把它们打包在一起

此时就有一个压缩包dir.tar.gz,里面就压缩的这三个 目录和一个文件,同时我们还可以观察到这个压缩包的后缀 .tar.gz ,这个后缀之所以这样命名是有意而为之的,其中 .tar 是tar指令压缩而来的意思,.gz 是压缩文件的意思,我们也可以把这个后缀简写成 .tgz

2. 预览

tar指令还可以直接对压缩包里面的内容进行预览,这有点像windows下的压缩包预览功能(就是一个压缩包,我们可以点进去看一下里面的文件的文件名和基本信息)

tar指令与预览相关的是:tar tzf 压缩包名

用法如下:

就比如上面的那个压缩文件,我们就可以对它进行预览

我们可以看到即使我们没解压,但是我们也可以预览里面的文件都有哪些

3. 解压缩包

tar指令与解压缩包有关的:tar xzf 压缩包名

我们可以把上面的原来的文件先删掉,只留下压缩包文件

然后对压缩包进行解压

解压后我们就可以发现里面的文件都解压出来了,且与原来的文件一样

上面的是解压到同一个路径,我们也可以把它解压到指定路径下,

方法是:tar xzf 压缩包名 -C 指定路径

4. tar指令与zip/unzip指令的使用场景

一般在纯Linux环境下使用我们更建议使用tar指令,如果是希望我们打包和压缩的文件在windows下也可以很方便的互通,那么我们更建议zip/unzip指令

七、bc指令

bc指令就是Linux环境下的计算器,可以帮助我们很好的进行浮点数计算

比如这个例子中,我们进行了加法和乘法的运算,在执行完相关的运算后,敲击quit退出

八、uname指令

uname指令是用来帮助我们查看我们当前使用的Linux的内核版本的,这个暂时先不深入,只做了解

uname -a指令:查体系结构和内核系统

uname -r指令:只查体系结构

九、总结

结合之前讲的两篇,我们讲的指令总共也有二三十个了,这些就是Linux中的一些非常常用并且比较基础的指令,当然,仅仅靠这些指令是不够的,剩下的指令我们后面用到了再进行学习

感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!