写在前面
上一篇文章,我们学习了Linux的一些常用指令,
学习了如何理解Linux系统,介绍了对Linux系统的理解:Linux下一切皆文件
介绍了重定向还有管道相关的知识。这里是上一篇博客的链接:http://t.csdn.cn/2d6fc
接下来我会对Linux常用指令进行收尾,并谈一谈如何理解指令。
目录
写在前面
1. date
描述:
用法:
例子:
例1:
例2:
例3:
例4:
2. cal
描述:
用法:
例子:
例1:
例2:
3. find(重要)
描述:
用法:
例子:
例1:
例2:
例3:
4. grep(非常重要)
描述:
用法:
例子:
例1:
例2:
例3:
例4:
5. zip/unzip
描述:
用法:
例子:
例1:
例2:
例3:
6. tar
描述:
用法:
例子:
例1:
例2:
例3:
7. bc
描述:
用法:
例子:
例1:
例2:
8. uname
描述:
用法:
例子:
例1:
例2:
9. 常用快捷键介绍
tab 补齐功能
Ctrl d
Ctrl r 查找历史命令
上下键查找最近使用过的命令
history
10. shutdown
指令原理的理解
指令的运行原理:
解析:
总结:
写在最后:
1. date
描述:
date指令可以用来查看时间。
用法:
date
选项:有很多,我待会儿会实操介绍
例子:
例1:
直接使用date指令:
例2:
携带选项,自己设置格式:
Y代表年,m代表月,d代表日,H代表小时,M代表分钟,C代表秒。
例3:
查看时间戳:
补充:
什么是时间戳?
时间戳是从1970年1月1日开始计算到现在的秒数。
我们为什么需要时间戳?
就程序员而言,以后我们工作,写代码都会需要携带日志信息,
而日志信息包括了时间信息,而使用我们现在的时间并不太准确,
为什么呢?因为世界各地之间是有时差的。
所以日志信息包括的时间是使用这个统一的时间戳。
例4:
如何将时间戳转换成具体时间:
在date后面加上 -d @时间戳 即可,我这里前面携带了自定义的格式。
2. cal
描述:
查看日历(西历)
用法:
cal 查看本月日历
cal + 年份 查看该年的日历
例子:
例1:
直接用cal。
例2:
cal + 年份
3. find(重要)
描述:
查找文件
用法:
find + 路径 + -name + 文件名
例子:
例1:
比如说,查找根目录下所有叫 test 的文件:
操作系统就递归搜索了所有叫 test 的文件。
例2:
查找指定地址下的 ls 命令
(注:我们之前有讲过,其实指令就是一个可执行程序,所以我们能在指定目录下找到他们)
例3:
奇怪的现象:
我们在 /usr 目录下面查找 ls 指令的时候,出现了 Permission denied 这样的提示,
其实是在查找的过程中出现了一些不允许进入的区域,就是有些地方被禁止(用户)访问了。
4. grep(非常重要)
描述:
查找文件内容。
用法:
选项:
-i 无视大小写
-n 顺便输出行号
-v 反向选择(就是显示出你没搜索的内容)
例子:
例1:
我用 shell 脚本写了一些东西进 log.txt 文件中
脚本提供:cnt=0; while [ $cnt -le 100 ]; do echo "hello linux $cnt"; let cnt++; done > log.txt
使用 grep 查找所有带有 9 的内容:
例2:
测试 -n
测试 -v
不难观察出,我们看不到 9。
例3:
我们还能通过 grep 指令批量查找文件内容:
再创建一个文件:(并输入99)
通过 grep 查找当前目录下所有文件的 99 都在哪里:
(注:* 是通配符)
例4:
通过 grep 查找根目录下所有文件的main函数在哪一行:
grep -nR "int main() " ~
为了不让它刷屏啊,我就中途停止了,
我们可以看到他确实能将所有包含int main()的信息查找出来。
(注:~ 就是根目录的意思(之前的文章有提到过))
其实grep之后还有很多应用的场景,我们以后还会经常见到它。
5. zip/unzip
描述:
压缩和解压的指令。
用法:
zip + 压缩后的文件名 + 被压缩文件名
选项:
-r 递归压缩
-d 指定目录
例子:
例1:
首先我想补充一些内容,我们为什么要压缩文件,
1. 我们将文件打包压缩到一起,可以很方便我们发送给其他人,就算丢失,也是全部都丢了;
如果我们一下子传输一堆文件,容易出现有一些文件丢失了,那就非常难受,不知道丢了那个文件
2. 压缩后的文件比较小,更容易传输
那废话不多说,现在开始:
使用 zip 打包目录和文件:
我们先创建一些文件:
打包压缩:
解压:
我们把这个压缩文件在上级目录解压,发现确实解压出来了。
结果一查看,d1里面什么都没有,这是为什么呢?
(注:如果你的Linux里面没有zip,下载指令:yum install -y unzip zip(要在root用户下载))
例2:
对于目录,我们需要递归打包压缩:
我们还是一样的操作,在上级目录解压该文件:
查看:
例3:
解包解压到指定目录:
解包到 test 目录下面了。