当前位置: 首页 > article >正文

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


http://www.kler.cn/a/409133.html

相关文章:

  • Mac配置maven环境及在IDEA中配置Maven
  • C++语言之函数对象与算法
  • Docker安装ubuntu1604
  • 通过DataWorks实现MaxCompute跨项目迁移
  • 如何配置 Gitea 的邮箱功能
  • 网络安全,文明上网(5)注重隐私加密
  • CSS实现实现当文本内容过长时,中间显示省略号...,两端正常展示
  • SplatFormer: Point Transformer for Robust3D Gaussian Splatting 论文解读
  • 学Linux的第九天--磁盘管理
  • 区块链中台详解(Fabric)
  • Qt-容器类控件 布局管理器
  • IDEA使用tips(LTS✍)
  • 深入浅出分布式缓存:原理与应用
  • PyTorch基础2
  • ubuntu rust安装
  • 使用青果代理IP爬取豆瓣TOP250电影数据
  • 【数据结构】【线性表】【练习】反转链表II
  • opencv相关报错
  • AI时代,百度的三大主义
  • 单片机电路基本知识
  • RabbitMQ简单应用
  • 数据库MYSQL——表的设计
  • Python 网络爬虫操作指南
  • 服务器数据恢复—DS5300存储硬盘指示灯亮黄灯的数据恢复案例
  • 数据结构——树与二叉树
  • 【docker了解】如何将x86镜像转换为适用于Jetson的ARM镜像