Linux常见的指令及shell外壳程序的理解
文章内容
1:date指令及时间戳的概念
2:find/which/whereis指令
3:grep指令(行文本过滤工具)
4:head与tail指令
5:shell外壳程序
1:date指令
date:以英文的方式打印出日期与时间
date +%Y:%m:%d-%H:%M:%S 格式化的打印出日期与时间,中间的:可以改变.
时间戳:从1970年1月1日0:00(格林威治时间)开始到现在累计的秒数.(在Linux下可能还会有时区的不同).时间戳是递增的。
时间戳转时间-----> date -d @时间戳 这样就能转化成现在的时间(英文) ,可以加上格式化打印时间。
date +%Y:%m:%d-%H:%M:%S -d @时间戳.
2:find/which/whereis指令
首先这三条指令都是用来在Linux系统中进行查找的指令,只不过具体查找类型不同
find path -name 查找名字 用于在一个路径(path)中按照name进行查找内容。
which :一般用于查找指令(在环境变量中查找) , which 指令的名称
whereis :用于查找安装包/及相关的包文件,将相关的文件都查找出来
3:grep指令(用来对文本进行过滤的指令)
常规用法:grep 过滤内容 查找的文件
假设我们自己写了一个普通的文件,现在我们来对这个文件进行过滤出含有v的行
我们可以使用 grep v 1.txt -n (-n显示出内容在哪一行)
grep的选项: -i(忽略大小写 )
行文本过滤出含有A与a的行
-v :反向选择 不包含含有该查询内容的行号
grep的特殊用法:可以从|(管道)进行过滤
4:head与tail指令
默认情况下
head:提取文件中前10行内容
tail:提取文件中后面10行内容
head -n :提取文件前n行内容
tail -n :提取文件后n行内容
我们可以用这两个指令在大型文件中进行查找文件的任意行的内容。比如
1个100000行中我们查询:50000-50010的内容
首先我们使用shell脚本命令创建一个大文件
然后我们进行提取:对于50000-500010的内容我们可以分两步走
1:先提取出前50010的内容
2:在提取出后10行的内容
当然我们可以先将50010的内容写入到一个临时文件中,也可以利用|管道来进行一步合成
同时也可以使用less查看大文件的内容。/xxxx 可以查xxxx行的内容。
5:shell 外壳程序
1:是什么: 首先shell外壳也是一个运行起来的程序,shell外壳程序是位于内核(操作系统) 与用户之间的一个软件层。 将用户给的指令翻译给操作系统,将操作系统执行的结果翻译给用户
2:为什么:考虑到操作系统的易用程度与安全性
1:考虑易用程度:用户直接对操作系统进行操作的成本太高了,在使用Linux系统前还得知道操作系统执行的原理.
2:考虑安全性:用户如果能直接对操作系统进行操作,万一自己写的指令不小心写出bug了那么可能会导致我们的操作系统直接挂掉。
3:shell外壳怎么做的
1:对于简单的且安全的指令shell外壳直接交给操作系统
2:对于用户自己写的指令,shell外壳会创建子进程来进行有风险的指令。自己不受影响
每增加一个命令行解释器都会新增一个shell外壳程序。