时间、查找、打包、行过滤与指令的运行——linux指令学习(二)

        前言:本节内容标题虽然为指令,但是并不只是讲指令, 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法, 很抱歉, 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的, 那么本篇文章很适合, 而且非常适合初入linux的小白。

时间指令date

        date能够打印当前或者某个时间的日期。 使用方法如下
        什么都不加直接date : 

        date后面也可以加上参数, 比如加上+%Y-%m-%d%H%M%S, 其中Y是年, m是月,是日, H是时, M分, S是秒:(注意, 中间的分隔符可以自己控制)

也可以使用冒号

也可以不加某些参数,比如说不加年, 不加日

最重要的一种用法就是使用date +%s,  这个是打印时间戳:

        那么, 知道了时间相关指令。 那么这些指令有什么作用呢?

        在我们工作后, 公司中都要写日志。当程序运行到某个关键的时刻的时候, 都要打印日志。日志的内容有着分类: 时间、日志等级、日志的具体信息、 其他信息。所以,时间的指令,尤其是时间戳的概念和公司要写的日志密切相关。

        因为对于时间戳来说, 时间戳是一个从1970年1月1日到现在所经过的秒数。这个数字是一直在增大的。 它单调递增, 所以我们如果规定一个起始时间, 一个终止时间。 那么它就很容易进行范围的查找。这就是为什么公司日志和时间戳密切相关。

        而我们使用时间戳。 date指令也可以将某一个时刻的时间戳换算成年月日的形式, 如图:

另外:注意这里打印的时间是北京时间。 而时间戳的规定是从伦敦(好像是伦敦, 0度经线位置)1970年1月1日零时, 所以我们打印0时间戳的时候, 打印的是八点:

补充:linux日历

cal可以打印linux中的日历, 后面参数可以加某个年份就会打印出该年所有月份的日历:

        

查找

查找指令有三个:find, which, whereis

  • find:find 路径 -name 文件名——》在某个路径下寻找所有文件名是要查找的文件名的文件, 它真的会在磁盘中进行全面查找。 (这里可以使用*号配合查找)
  • which: which 指令——》主要是在特定目录下寻找某个指令, 特定目录就是/usr/bin:
  • whereis:whereis也是在特定的路径下进行查找, 使用whereis不仅可以找到文件所在路径, 还可以找到man手册, 压缩包, 安装包静态库之类的东西:

行过滤grep

        grep是行过滤文件指令, 它能够过滤掉文本中不需要的行, 只打印我们想要的或者我们想要知道的文本行。 

        用法:grep 文本内容 文本。 意思就是将文本中那些没有文本内容的行过滤掉不打印, 纸打印存在文本内容的行。 

        同时grep上也可以添加指令

  • -v: -v指令能够将文本中原本应该打印的过滤掉, 原本应该过滤掉的重新打印。 
  • -i: -i能够在进行文本选择是否过滤的时候忽略文本内容的大小写。
  • -n: 打印行号

grep后面也可以加上多个文件或者目录。 如果跟目录, 就要在前面加上-R选项, 意思是递归搜索。 最终结果都是打印文件路径 : 文件内容。

打包和压缩

首先, 我们要想明白为什么要打包和压缩, 打包和压缩有什么好处。

        首先, 能够被打包和压缩的, 一定是一个整体。 那么它们就不能轻易的分开, 如果我们没有把文件打包, 那么在传输过程中就容易丢失文件。 而打包就是将多个文件——》一个文件, 不容易造成文件的丢失。 

        其次, 压缩文件后还能减小文件的体积, 方便我们下载, 减少占用磁盘空间。 这里起始最重要的是方便我们下载。

        打包的工具有zip, tar, unzip

//zip

zip是一个linux中的软件(也可以叫做打包压缩方案, 打包压缩方案有很多, 想windows中的好压, 快压等等都是不同的压缩软件, 也叫压缩方案), 所以我们要先使用root账号下载。

        下载后我们就可以使用zip压缩或者解压文件。 使用方法:

zip 文件名 要压缩的文件:将选择的文件进行压缩, 如果要压缩的是一个文件夹, 就要加上-r——》zip -r 文件名 要压缩的文件, 也可以使用多个文件进行压缩——》zip 文件名 要压缩的文件1 要压缩的文件2……

//unzip

zip和unzip是对应的, unzip就是解压。 用法如下:

  • unzip 文件名: 就是将对应文件名的压缩包解压
  • unzip 文件名 -d 要解压到的路径: 将文件名对应的压缩包解压到某个路径。

//tar

tar也能够进行压缩和解压操作。 这是系统中自动配备的压缩方案。不需要进行下载。 这里列出三种常用用法:

  • tar czf 文件名 要压缩的文件 : 将要压缩的文件压缩
  • tar tzf 文件名: 预览压缩包
  • tar xzf 文件名: 解压压缩包

bc计算器

bc是linux中的计算器,类似于windows中的浮点。

uname

uname可以打印和计算机相关的信息。 

uname - a是打印全部的信息:

        第二个蓝框框打印的是linux的内核版本, 第三个蓝框框是计算机的体系结构, x86是代表32位。 x86_64 等同于 x64。

        如果我们只想获取计算机的体系结构, 那么就可以使用uname -r, 那么就只获得内核版本以及体系结构

//lscpu可以查看当前cpu的版本:

//tab

tab健可以快速打出指令, 连点两次tab可以打印出我们可以使用的指令个数。 

//cral + r

cral + r可以对历史中的指令进行搜索, 然后快速打出指令。 但是cral只会保存我们最近使用的1000条指令, 可以修改。 同时使用history可以进行查看。

指令的运行

        如何理解指令的运行。 

首先我们要先理解什么是命令行, 什么是命令行解释器。

        首先, 图中的用户名, 主机名, 当前目录, 以及命令行提示符等等这些, 组成了命令行。 这其实是就是bash命令行。 bash是一种命令行解释器。 

        命令行解释器有: shell, bash、sh, 这些shell包含了bash,sh。 它是所有命令行解释器的同城。 windows的图形化界面本质上也是一种命令行解释器。 

        那么, 为什么要有命令行解释器, 这需要知道命令行解释器的作用和意义:命令行解释器可以将命令翻译给操作系统的核心处理。 同时还能将核心的处理结果翻译给使用者。也就是说命令行解释器是对命令行进行解释, 同时还能变相的保护操作系统, 可以对于用户的非法请求进行拦截。

       为什么说命令行解释器会保护操作系统?这需要从宏观和微观角度理解操作系统。 

       首先, 宏观上的操作linux就是linux上面的各种应用, 命令行解释器以及linux内核组合成的linux机器。 但是微观上面的操作系统就是linux内核。 kernel。 linux内核并不相信用户, 所以会在外面设置一个shell, 壳子。 来作为与用户进行交互的中转层, 也就是命令行解释器。

        

        而且,我们所有的指令操作, 最终都会在linux内核中进行执行。 而操作系统, 也就是linux内核的操作难度较高, 我们不能直接对linux内核打交道, 所以我们需要有一个命令行解释器进行辅助。

知道了这些之后, 我们就可以知道, 我们输入的指令, 其实就是我们输入一串字符。 然后命令行解释器将这些指令翻译给linux内核, 然后内核运行出结果再交给命令行解释器, 命令行解释器再显示给我们。

--------以上, 就是本节全部内容。 下面是本节内容的笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/779800.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何确保 PostgreSQL 在高并发写操作场景下的数据完整性?

文章目录 一、理解数据完整性二、高并发写操作带来的挑战三、解决方案(一)使用合适的事务隔离级别(二)使用合适的锁机制(三)处理死锁(四)使用索引和约束(五)批…

系统学习ElastricSearch(一)

不知道大家在项目中是否使用过ElastricSearch?大家对它的了解又有多少呢?官网的定义:Elasticsearch是一个分布式、可扩展、近实时的搜索与数据分析引擎。今天我们就来揭开一下它的神秘面纱(以下简称ES)。 ES 是使用 J…

uniapp零基础入门Vue3组合式API语法版本开发咸虾米壁纸项目实战

嗨,大家好,我是爱搞知识的咸虾米。 今天给大家带来的是零基础入门uniapp,课程采用的是最新的Vue3组合式API版本,22年发布的uniappVue2版本获得了官方推荐,有很多同学等着我这个vue3版本的那,如果没有学过vu…

CH12_函数和事件

第12章:Javascript的函数和事件 本章目标 函数的概念掌握常用的系统函数掌握类型转换掌握Javascript的常用事件 课程回顾 Javascript中的循环有那些?Javascript中的各个循环特点是什么?Javascript中的各个循环语法分别是什么?…

网页封装APP:让您的网站变身移动应用

网页封装APP:让您的网站变身移动应用 随着移动设备的普及,越来越多的人开始使用移动设备浏览网站。但是,传统的网站设计并不适合移动设备的屏幕尺寸和交互方式,这导致了用户体验不佳和流失。 有没有办法让您的网站变身移动应用&…

【ROS2】初级:客户端-编写一个简单的服务和客户端(Python)

目标:使用 Python 创建并运行服务节点和客户端节点。 教程级别:初学者 时间:20 分钟 目录 背景 先决条件 任务 1. 创建一个包2. 编写服务节点3. 编写客户端节点4. 构建并运行 摘要 下一步 相关内容 背景 当节点通过服务进行通信时&#xff0c…

【项目日记(一)】梦幻笔耕-数据层实现

❣博主主页: 33的博客❣ ▶️文章专栏分类:项目日记◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多项目内容 目录 1.前言2.后端模块3数据库设计4.mapper实现4.1UserInfoMapper4.2BlogMapper 5.总结 1.…

机器学习筑基篇,​Ubuntu 24.04 快速安装 PyCharm IDE 工具,无需激活!

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] Ubuntu 24.04 快速安装 PyCharm IDE 工具 描述:虽然在之前我们安装了VScode,但是其对于使用Python来写大型项目以及各类配置还是比较复杂的,所以这里我们还是推…

U盘非安全拔出后的格式化危机与数据拯救策略

在数字化时代,U盘作为便捷的数据携带工具,其重要性不言而喻。然而,许多用户在日常使用中往往忽视了安全退出的重要性,直接拔出U盘后再插入时可能会遭遇“需要格式化”的提示,这一状况不仅令人措手不及,更可…

YOLOv9报错:AttributeError: ‘list‘ object has no attribute ‘view‘

报错信息如下: red_distri, pred_scores torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split( AttributeError: ‘list’ object has no attribute ‘view’ 解决方法: 去yolov9/utils/loss_tal.py把167行代码更改&#…

Android最近任务显示的图片

Android最近任务显示的图片 1、TaskSnapshot截图1.1 snapshotTask1.2 drawAppThemeSnapshot 2、导航栏显示问题3、Recentan按键进入最近任务 1、TaskSnapshot截图 frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotController.java frameworks/base/cor…

Blazor SPA 的本质是什么以及服务器端渲染如何与 Blazor 的新 Web 应用程序配合使用

Blazor 通常被称为单页应用程序 (SPA) 框架。当我第一次开始使用 Blazor 时,我对 SPA 的含义、组件如何为 SPA 架构做出贡献以及所有这些如何与交互性联系在一起感到困惑。 今天,我将解答大家可能关心的三个问题: 什么是 SPA?了…

Sentinel-1 Level 1数据处理的详细算法定义(一)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程,以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下&…

14-42 剑和诗人16 - 如何从一个技术人员到CTO再到投资人的角色转变

​​​​​​ 我清楚地记得我的职业轨迹发生转变的那个关键时刻。当时,我正向整个执行领导团队和董事会成员介绍我们部门的技术路线图,感到说服这些有影响力的利益相关者资助一系列雄心勃勃的计划的压力。我知道他们的支持(和资金&#xff09…

英语学习交流小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,每日打卡管理,备忘录管理,学习计划管理,学习资源管理,论坛交流 微信端账号功能包括:系统首页,学习资源&…

基于最大相邻夹角的边缘点提取(matlab)

1、背景介绍 边缘点是指点云数据中代表物体或场景几何形状突变的那些点。在三维点云中,边缘点通常标志着不同表面或物体的分界,或者是物体表面上的不规则性,如裂缝、棱角、突起等。点云边缘检测的作用非常重要,最常见是进行特征点…

应用监控SkyWalking调研

参考: 链路追踪( Skyworking )_skywalking-CSDN博客 企业级监控项目Skywalking详细介绍,来看看呀-CSDN博客 SkyWalking 极简入门 | Apache SkyWalking 使用 SkyWalking 监控 ClickHouse Server | Apache SkyWalking https://zhuanlan.zhihu.com/p/3…

45 mysql truncate 的实现

前言 truncate 是一个我们也经常会使用到的命令 其作用类似于 delete from $table; 但是 他会比 delete 块很多,这里我们来看一下 它的实现 delete 的时候会逐行进行处理, 打上 删除标记, 然后 由后台任务 进行数据处理 truncate table 的实现 执行 sql 如下 …

【测试专题】软件总体计划方案(2024原件word)

测试目标:确保项目的需求分析说明书中的所有功能需求都已实现,且能正常运行;确保项目的业务流程符合用户和产品设计要求;确保项目的界面美观、风格一致、易学习、易操作、易理解。 获取:软件全套文档过去进主页。 一、…

Go语言--工程管理、临时/永久设置GOPATH、main函数以及init函数

工作区 Go 代码必须放在工作区中。工作区其实就是一个对应于特定工程的目录,它应包含3个子目录:src 目录、pkg目录和bin 目录。 src 目录:用于以代码包的形式组织并保存 Go源码文件。(比如:.go.chs等)pkg 目录:用于存放经由 go install 命令构建安装后的代码包(包…