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