指令
接着上一次结束的内容,接着讲解更多的Linux基础指令
date指令
date指令用于显示时间,可以跟的选项非常多,只讲用的多的几个
date +%Y-%m-%d可以显示年月日(注意Y要大写,其中的-分隔符可以自己定义)
date +%H:%M:%S可以显示小时 分钟 秒,中间的分隔符同样可以自己定义
以上两条指令均可以拼接在一起使用
date +%s(小写)可以用时间戳的形式显示时间
date -d @时间戳 可以将时间戳转换为年月日几小时几分钟几秒
cal指令
作用是查看日历(公历)
单独输入指令会显示这个月的日历
cal [年份]查看固定年份的日历
cal -3查看近三个月的日历
find,which,whereis指令
三个都是查找的命令,不过使用的场景不一样
find [从哪里开始找] [找什么]可以在我们的计算机里查找任意的文件,除非无法访问
他是递归进行搜索,直到将指定的目录中的所有内容找完为止
which 在/usr/bin目录下查找指定的指令,并找到关联的alias
whereis 用于寻找库中关联的内容,比如ls,比如stdio,比如printf
常用的热键
Tab键可以用于补全指令,如果输入一个字符串,与之匹配的指令就一个,点击Tab键就能够将命令补全,如果匹配的指令不止一个,按下两次Tab键会将所有关联的指令都输出

ctrl c可以中断命令,如果你想让正在循行的命令行指令停下来,可以使用
ctrl d是非阻塞式检查,之后会讲解,可以用它关闭窗口
ctrl r打印出历史指令,默认存储最新的1000条
grep命令
这个命令可以将它理解成是一种按行的文本过滤工具
grep [过滤出来的内容的特征][要过滤的文件]
这个操作可以和管道结合使用,例如
cat text.txt | grep 999
grep 999 text.txt
两种写法效果是一样的
grep -n可以标出过滤出的内容出现在源文件的第几行
grep -v可以将过滤剩下的内容打印出来,可以理解为reverse
grep -i可以忽略大小写进行过滤
grep -R可以递归式的将所有文件中包含关键字的打印出来
这个操作可以用来搜索项目文件的特定函数
uname指令
可以用来查询系统机构
uname -a可以查询操作系统的类型,版本很多信息

el7表示是centOS7
x86_64 = x64
使用uname -r是查询操作系统地体系结构
zip和unzip
我们都见过Windows里面的zip压缩包
这两条指令就是用来压缩和解压缩的
如果我们的机器中没有这个命令,使用sudo yum install zip unzip下载即可
但是讲解之前我们应该线了解一下打包和压缩的意义:
1.将多个文件合并成一个文件,不容易造成文件丢失,设想一下如果我们直接传输所有的文件,如果里面的一两个文件发生丢失,需要很长时间去排查,但是如果我们打包压缩成一个整体,要丢失就全部丢失,我们只需要重新传一遍就可以了。
2.减少传输的体积,增快传输的速度
好的这就是打包压缩的意义,接下来接着将使用方法
zip -r [压缩包名称.zip] [压缩的东西]递归式地压缩文件,如果我们要压缩地是一个有内容的文件夹,就需要加上该选项(一般都需要加),不然的话就只能压缩一个空目录,没什么作用
unzip [压缩包名称] [解压的路径]会将压缩包解压到固定的路径中去
tar命令
tar也是用于打包压缩的工具,不过它的使用会更加地灵活
tar czf []打包压缩(c表示create,z表示使用zip方式压缩,f表示文件)
tar tzf 预览压缩包
tar xzf 解压缩
压缩方式有很多种,如果以后遇到不会地压缩解压缩方式,直接上网搜索即可
bc命令
呼出计算器,和windows里面的计算没有区别,只不过一个是命令行,一个有图形化界面
可以使用管道和其他指令结合在一起使用,比如
echo "1+2+3" | bc
就可以直接显示结果
shutdown关机指令
-h 将系统的指令停掉后立刻关机
-t [秒数]设置关机时间
-r重启
权限
我们已经知道指令的本质就是可执行文件,我们输入指令就是在调用可执行文件,但是这个操作并不是在操作操作系统
在Linux中我们使用命令对电脑进行操作,命令被命令行解释器解释之后传给操作系统,这种命令行解释器叫做shell(命令行解释器可以将用户的指令解释给OS,也可以将OS运行的结果翻译给用户),那么为什么要这样设计呢
1.OS直接使用难度太高,所以我们需要命令行解释器这个媒介来进行操作,翻译我们的行为
2.命令行是对操作系统的保护,对于用户的非法操作可以直接中断