一.Linux指令
1.时间相关的指令
1.date指定格式显示时间
date +%Y-%m-%d_%H:%M:%S(年月日时分秒) 注意:这里的大小写必须严格这样写,而分隔符(例如:- _ :)则无所谓
2.时间戳
以格林威治的时间作为标准时间,类似于我国普遍使用北京时间
又因为不同国家不同地域存在时差,所以使用时间戳通过这种时差的计算把时间换算出来
换算成统一的世界时间,方便各国通信往来,跨国贸易等等
3.补充内容-日志
在软件开发中,
当一个线上的服务挂掉之后,我们比较关心的是三个问题:
1.什么时候挂掉的?
2.因为什么原因挂掉的?
3.我们接下来该怎么修正?
所以说日志的核心作用:辅助程序员进行问题排查
而日志中有一个非常重要的概念:时间
我们一般带两种时间
date +%Y-%m-%d_%H:%M:%S date +%s
其中:
第一种:很明显很直观
第二种:因为时间戳是严格递增的,所以具有比较好的唯一性,也可以更好的进行范围查找
(比方说我要查找昨天晚上7点到8点的时间段的某个文件,就可以用7点和8点的时间戳,通过比较大小的方式来查找到对应的文件)
我们还可以把时间戳转换为时间
比方说我们想将0秒的时间戳的这个数据转换成对应的时间
同时我们还可以加上格式
至于这里为什么显示的是8点而不是0点,是因为地域关系,我国与格林威治存在一定的时差,这是转换之后的
我们还可以从网上查时间戳转换工具
3.Cal
这个-y可加可不加
2.find
因为find命令后面可以跟的选项太多了,所以我们在这里只介绍一种
-name
比方说我现在想查找普通用户wzs的家目录下一共创建了多少个test.c文件
find命令不仅可以查找文件
还可以查找命令,库文件等等
第一次可能查的比较慢,因为find命令是真的会在文件系统这个多叉树下进行遍历查找
不过第二次第三次会明显加快,因为有些查找过的目录结构已经提前缓存起来了
请注意:find命令在查找的时候需要指定路径
补充
1.which
which只用于查找指令,而且查找的时候不需要指定路径
其中这个alias是重命名的意思
2.whereis
我们可以使用whereis查找
1.一些曾经安装过的文档
2.系统安装过的库头文件
3.指令
whereis也适用于*通配符
3.uname
-a
uname -a (显示Linux系统的详细信息) • 1
[root@VM-16-10-centos lesson01]# uname -a Linux VM-16-10-centos 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux • 1 • 2
其中:
VM-16-10-centos :服务器的名称
3.10.0-1160.88.1.el7.x86_64 :采用的内核的版本
1 SMP Tue Mar 7 15:41:52 UTC 2023:系统安装时间
x86_64 x86_64 x86_64 GNU/Linux:体系结构
什么是体系结构呢?
狭义上讲:CPU的架构
广义上讲:整个操作系统加上计算机硬件的宏观上的各种各样的结构
-r
[root@VM-16-10-centos lesson01]# uname -r 3.10.0-1160.88.1.el7.x86_64
技术发行版:3.10.0-1160.88.1
商业化发行版:el7
芯片架构:x86_64
显示我们用的是哪个商业化发行版本的系统
查看cpu的信息
查看内存的使用信息
4.重要的几个热键
Tab快按两下
下面分别查询以a开头和以b开头的指令
5.关机命令
不过请注意:云服务器永远不关机
跟windows不一样
二.grep
为了接下来方便操作我们先创建一个目录10.8
然后nano一个文件test.txt
然后我们查找包含’A’的行
查找’ads’
查找’a’
-i选项
查找’A’和’a’的结果不同,说明grep默认是大小写敏感的
而我们可以通过-i选项来让它不敏感
(i:ignore:忽略的意思)
-n选项
我们在这里匹配的是空串
因此所有行都能被匹配上
grep的选项也可以连起来,例如-ni
-v选项
-v:把不包含该关键字信息的行显示出来