自学内容网 自学内容网

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外壳程序。


原文地址:https://blog.csdn.net/2201_75964502/article/details/143916339

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!