Linux常见的指令及shell外壳程序的理解

server/2024/11/26 3:21:41/

文章内容

        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.ppmy.cn/server/144971.html

相关文章

贪心算法(2)

目录 K次取反后最大化的数组和 题解: 代码: 按身高排序(田忌赛马的预备) 题解: 代码: 方法一: 方法二: 优势洗牌(田忌赛马) 题解: 代…

Java技术分享

剖析equals方法 1、对于Object来说,其equals()方法底层实现就是"",都是比较对象的引用是否相等,下为JDK源码。 Object c 1; Object d 1; boolean equals c.equals(d);public boolean equals(Object obj) {return (this obj);…

【v5lite】调用onnx推理

前言一、主线程二、推理线程thred_nms(非极大值抑制阈值)的作用thred_cond(置信度阈值)的作用三、串口线程总览@改善版本总结前言 跟着博主导入的加以修改的,反正v5lite的版本要是1.4版本的,不然容易出现错误! 后面再去把博主的博文导进来 树莓派4B运行yolov5lite转onn…

java实现小程序接口返回Base64图片

文章目录 引言I java 接口返回Base64图片接口设计获取验证码图片-base64字符串获取验证码图片-二进制流arraybufferII 小程序端代码过期代码: 显示文件流图片(arraybuffer)知识扩展:微信小程序下载后端返回的文件流引言 场景: 图形验证码 背景: 接口返回arraybuffer的格式…

Linux应用编程(C语言编译过程)

目录 1. 举例 2.预处理 2.1 预处理命令 2.2 .i文件内容解读 3.编译 4.汇编 5.链接 5.1 链接方式 5.1.1 静态链接 5.1.2 动态链接 5.1.3 混合链接 1. 举例 Linux的C语言开发,一般选择GCC工具链进行编译,通过下面的例子来演示GCC如何使用&#…

大语言模型---RewardBench 介绍;RewardBench 的主要功能;适用场景

文章目录 1. RewardBench 介绍2. RewardBench 的主要功能3. 适用场景 1. RewardBench 介绍 RewardBench: Evaluating Reward Models是一个专门用于评估 Reward Models(奖励模型) 的公开平台,旨在衡量模型在多种任务上的性能,包括…

Rust 力扣 - 2266. 统计打字方案数

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 这题可以先求按了多少次相同连续的按钮,所有的连续相同按钮表示的方案数的乘积就是本题答案 我们的关键问题就转换成了按n个连续相同按钮表示的方案数 设f(i)表示按i个连续相同按钮表示的方案数 如…

P8692 [蓝桥杯 2019 国 C] 数正方形:结论,组合数学

题目描述 在一个 NNNN 的点阵上,取其中 44 个点恰好组成一个正方形的 44 个顶点,一共有多少种不同的取法? 由于结果可能非常大,你只需要输出模 10971097 的余数。 如上图所示的正方形都是合法的。 输入格式 输入包含一个整数 …