一、时间查看指令date
1.1时间显示的格式
1> 默认格式,直接输入:
date
回车
会直接展示出来,如:
![](https://i-blog.csdnimg.cn/direct/c95972cfcc9f494eb8f44d1c9a03c043.png)
2> 常用格式:年-月-日 时:分:秒
这种格式更加贴近于我们的习惯,但需要单独进行格式的组织
如:
date +%Y-%m-%d\ %H:%M:%S
年 月 日 时 分 秒
(空格需要加上转义字符)
效果图:
![](https://i-blog.csdnimg.cn/direct/5f1abb381904453ab884ed3c90f6a04d.png)
1.2Linux系统中的时间戳及其转化
在Linux系统中,时间是一个十分常用的概念,但是世界各地时间计数都不相同,为了能够通用地比较它的大小,引入了时间戳的概念
时间戳:自1970年午夜12点的格林威治时间到现在所经历的秒数(即北京时间1970年上午八点整到现在)
可以使用如下指令开查看当前的时间戳:
date +%s
回车
但是当我们需要根据时间戳确定时间的时候是非常困难的,可不可以直接设置来显示呢?
当然可以,-d选项可以帮助我们转化:
date +%Y-%m-%d\ %H:%M:%S -d @+[当前时间戳]
回车
效果图:
![](https://i-blog.csdnimg.cn/direct/6b7ecc17e92d4b1997a54ac5e267b355.png)
二、日历显示指令cal
可以用来显示对应年份或月份的日历,如
cal+[年份]
回车
即可显示对应年份的日历
如
cal -3
回车
可显示当前月份以及前后共三个月的日历
![](https://i-blog.csdnimg.cn/direct/f222de2cb81b494188d526cf183f935d.png)
三、查找指令find
3.1路径+名字查找(-name选项)
使用规范如
find+[路径] -name+[名字]
回车
例如:find /home/my_normal -name test.c
回车
可以查找对应路径及其子目录下所有的名为test.c的文件
效果图:
![](https://i-blog.csdnimg.cn/direct/698c10237c0d4b4ea5d7cb2d4a16fa54.png)
3.2一次性查找多个名字
可以使用-o选项
意思是or,可以用来连接多个搜索需求,如:
find /root -name test.c -o -name test.cpp
![](https://i-blog.csdnimg.cn/direct/d0198a09abdc4aa59f09886544848efc.png)
对应的,有or就会有and,对应选项是-a,可以搜索同时符合两个名字的文件,但不常用
四、which指令
4.1which的作用及其效果展示
which的作用是在Linux系统中搜索指定指令的位置并显示
如which touch
回车
效果如
![](https://i-blog.csdnimg.cn/direct/2e2afd5b503143aebbe16489bf1ff911.png)
⭐⭐4.2在Linux中,指令的本质就是可执行程序
实际是,指令的本质就是可执行程序,就是一种文件
所以说,指令,可执行程序,命令其实是一回事
结合在4.1中观察到的结果,例如在执行指令touch test.c的时候,实际上就是去bin目录下寻找touch这个可执行程序并运行,然后返回结果
既然如此,我们可不可以自己创建命令呢?
当然是可以的,例如我们自建一个test.c,写完编译出来一个test_2_4.exe
![](https://i-blog.csdnimg.cn/direct/3c1dc42b10a64e64844974e533fa7bf5.png)
完成后把它拷贝到/bin目录下(这种拷贝其实就是通常意义上的安装)
![](https://i-blog.csdnimg.cn/direct/d951241b3b7340f9b4ac96e22b85f24d.png)
此时, test_2_4就成为了一个新的指令,如果不用可以从/bin目录下直接删除(这种删除其实就是通常意义上的卸载)
![](https://i-blog.csdnimg.cn/direct/d6d2b7e2d9a84251be60acc990c67aa1.png)
综上:这就是为什么在运行可执行程序的时候必须要加上./,因为不加的话会视其为命令,去bin目录下查找
4.3指令实际上是一种缩写
其实在写一句指令"touch test.c"的时候,本质上是"/usr/bin.touch test.c"
只不过为了简便书写,默认省略了/usr/bin.这一部分而已
⭐4.4指令中的别名机制
在4.1中我们观察ls的时候,有一行多出来的
![](https://i-blog.csdnimg.cn/direct/24043891101740fda6f4d4033139d5d7.png)
其实这就是一行别名的情况展示
alias代表"别名",他本身也是一种指令
例如:
alias test1="ls -l -a"
回车
可以实现让test1这个指令代替ls -l -a的效果
效果展示:
![](https://i-blog.csdnimg.cn/direct/7df89a04b8634cf0aa01b1546f628926.png)
4.4补: 别名是不能直接用/bin/+[别名]调用的
如:
![](https://i-blog.csdnimg.cn/direct/ede8b6ef29a44164a87db2810461b91d.png)
那么为什么ls也是别名,就可以调用呢?
其实在bin中有一个ls,而ls起的别名是为了让它加上颜色,所以在bin下调用和直接调用ls效果是不一样的
![](https://i-blog.csdnimg.cn/direct/a51349bd5daa49f8b207f5f5cedfdb01.png)
⭐4.5 ls与ll的区别是什么
ll实际上是一个别名,是"ls -l --color=auto"的别名
![](https://i-blog.csdnimg.cn/direct/91c9c3df579d4c6585fcd4e5fce994c0.png)
ls本身也是别名,是"ls --color=auto"
4.5补:实际上,alias是内存级的起名机制
刚刚我们设置的test1别名,在断开连接再重新启动后会自动删除,因此
如ll等别名在++每次重新登陆后都会自动新建++
五、字符串查找指令grep
5.1基本作用与使用规范
基本作用是++按行搜索字符串并进行显示++(只要一行里有指定字符串就保留该行)
使用规范:
grep+[字符串]+[文件名]
回车
其中,字符串部分按规则需要用单引号' '括起来(单引号可省略)
如下图:
![](https://i-blog.csdnimg.cn/direct/642437c2d42f4434bfeb922ed6399dbb.png)
5.2几个常用功能选项
①-i选项
grep的搜索默认区分大小写,加上-i选项可以让其不区分大小写
②-v选项
让grep搜索保留没有字符串的行
③-n选项
为文件加行号以后再搜索
5.补:打印系统进程指令ps/top(类似任务管理器)
可以用
ps -axj
回车
展示当前的静态任务管理器 :
![](https://i-blog.csdnimg.cn/direct/0353ac0b52b64408a350ecf7e467711f.png)
也可以用
top
回车
展示每隔两秒刷新的动态任务管理器:
![](https://i-blog.csdnimg.cn/direct/1999c76081984b66a95e696eeb3297d0.png)
如果我们希望搜索任务管理器中的内容该怎么做呢?
可以利用管道:
如ps -axj | grep 'mysql'
六、解压缩指令zip/unzip(需安装)
6.1使用规范及基本效果(含安装指令介绍)
++安装指令++ :yum install -y zip unzip
使用规范:
zip+[压缩后的压缩包名]+[带压缩的文件/目录名]
回车
例如
zip mydir.zip mydir
效果:
![](https://i-blog.csdnimg.cn/direct/a8b13ee2ac8e4e82b0067fc6ca0f2a93.png)
解压的使用规范:
unzip+[压缩包名]
回车
效果:
(先移动到show1文件夹下)
![](https://i-blog.csdnimg.cn/direct/245ff328f446456fa647f4fa8a91b556.png)
(再进行解压)
![](https://i-blog.csdnimg.cn/direct/d7b627069d1346e18fa058b565f6d718.png)
这样以后,我们就可以成功将压缩包解压到当前目录了,
只是此时查看解压后的目录,会发现其中并没有内容
6.2包含目录内容的压缩:-r选项
6.1中提到的情况该如何解决呢?
可以使用-r选项,来实现递归压缩所有目录内容
6.3解压到指定目录下
正常使用unzip只能将文件解压到当前目录下,如是希望解压到其他目录,可以通过-d选项来完成
如
unzip+[压缩包名] -d+[指定路径]
回车
例:unzip ./show1/me.zip -d ./test_11