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

news2024/11/28 14:30:24

        前言:本节内容标题虽然为指令,但是并不只是讲指令, 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法, 很抱歉, 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的, 那么本篇文章很适合, 而且非常适合初入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.coloradmin.cn/o/1902927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何创建和规划 PMO 团队,并发挥其最大实际价值

在当今复杂多变的商业环境中,项目管理办公室(PMO)已成为许多组织中不可或缺的一部分。PMO 团队能够为企业的项目管理提供战略指导、资源协调、流程优化等支持,从而提升项目的成功率和组织的整体绩效。那么,如何创建和规…

【React】React18 Hooks 之 useReducer

目录 useReducer案例1:useReducer不带初始化函数案例2:useReducer带初始化函数注意事项1:dispatch函数不会改变正在运行的代码的状态注意事项2:获取dispatch函数触发后 JavaScript 变量的值注意事项3:触发了reducer&am…

【沐风老师】3DMAX样条线增强工具SplinePro使用方法详解

3DMAX样条线增强工具SplinePro使用教程 3DMAX样条线增强工具SplinePro,允许创建选定的多条样条曲线形状的轮廓并删除交叉点。 【适用版本】 3dMax2019 - 2025 【安装方法】 1.解压缩后,确认SplinePro-0.2.0.mse和logo.png两个文件在同一文件夹中。 2.…

移动校园(4):数据处理(sql server数据库)

昨天写入数据库后的数据 可以看到classname和timeandlocation有多个值,所以需要进行数据处理 let reawait req.app.locals.db.query(select distinct classname from courses)let data[]re.recordset.map((value)>{let namesvalue.classname.split(,)names.map(…

那你真的了解方法调用吗?

方法调用是不是很熟悉?那你真的了解它吗?今天就让我们来盘一下它。 首先大家要明确一个概念,此处的方法调用并不是方法中的代码被执行,而是要确定被调用方法的版本,即最终会调用哪一个方法。 之前我们了解到&#xff…

【Android】自定义换肤框架05之Skinner框架集成

引入依赖 api("io.github.hellogoogle2000:android-skinner:1.0.0")初始化Skinner 在所有功能前调用即可,建议在Application中初始化 SkinnerKit.init(application)安装皮肤包 在应用该皮肤包前安装即可,建议预安装,或应用皮肤…

【反悔堆 反悔贪心】2813. 子序列最大优雅度

本文涉及知识点 反悔堆 反悔贪心 LeetCode 2813. 子序列最大优雅度 给你一个长度为 n 的二维整数数组 items 和一个整数 k 。 items[i] [profiti, categoryi],其中 profiti 和 categoryi 分别表示第 i 个项目的利润和类别。 现定义 items 的 子序列 的 优雅度 可…

如何在 PostgreSQL 中实现数据的增量备份和恢复?

文章目录 一、增量备份的原理二、准备工作(一)环境配置(二)创建测试数据库和表(三)插入初始数据 三、全量备份四、基于时间点的增量备份(一)开启 WAL 归档(二&#xff09…

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

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

TXT文本处理新篇章:告别繁琐,一键批量删除单号间空白行,引领高效管理新潮流!

在繁忙的商务环境中,文本处理往往占据了大量的时间和精力。特别是那些充斥着订单、单号等关键信息的TXT文本文件,一旦处理不当,就可能引发一系列问题。空白行,这个看似微不足道的小细节,却常常成为我们高效处理文本的绊…

C++ | Leetcode C++题解之第220题存在重复元素III

题目&#xff1a; 题解&#xff1a; class Solution { public:int getID(int x, long w) {return x < 0 ? (x 1ll) / w - 1 : x / w;}bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {unordered_map<int, int> mp;int n nums.si…

python根据父母身高预测儿子身高

题目 从键盘输入父母的升高&#xff0c;并使用eval()或float()转换输入的数据类型。计算公式&#xff1a;儿子身高&#xff08;父亲身高母亲身高&#xff09;*0.54. father_heighteval(input(请输入爸爸的身高&#xff1a;)) mother_heighteval(input(请输入妈妈的身高&#…

普通Java工程如何在代码中引用docker-compose.yml中的environment值

文章目录 一、概述二、常规做法1. 数据库配置分离2. 代码引用配置3. 编写启动类4. 支持打包成可执行包5. 支持可执行包打包成docker镜像6. docker运行 三、存在问题分析四、改进措施1. 包含environment 变量的编排文件2. 修改读取配置文件方式3. 为什么可以这样做 五、运行效果…

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

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

20240707 每日AI必读资讯

&#x1f9e0;中国生成式AI专利数量超过美国 6 倍 - 中国在2014年至2023年期间申请的生成式AI专利数量达到38210个&#xff0c;超过了美国的6倍。 - 腾讯、平安保险集团和百度是GenAI专利数量最多的中国公司。 - 中国的顶级学术机构和技术生态为生成式AI的发展提供了强大支持…

初学嵌入式是弄linux还是单片机?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;1、先入门了51先学了89c52…

Ubuntu 22.04 LTS 上安装 MySQL8.0.23(在线安装)

目录 在线安装MySQL 步骤1&#xff1a;更新软件包列表 步骤2&#xff1a;安装MySQL服务器 步骤3&#xff1a;启动MySQL服务 步骤4&#xff1a;检查MySQL状态 步骤5&#xff1a;修改密码、权限 在线安装MySQL 步骤1&#xff1a;更新软件包列表 在进行任何软件安装之前&a…

绘唐3最新版本哪里下载

绘唐3最新版本哪里下载 绘唐最新版本下载地址 推文视频创作设计是一种通过视频和文字的形式来进行推广的方式&#xff0c;可以通过一些专业的工具来进行制作。 以下是一些常用的小说推文视频创作设计工具&#xff1a; 视频剪辑软件&#xff1a;如Adobe Premiere Pro、Fina…

Postman深度解析:打造高效接口测试自动化流程

《Postman深度解析&#xff1a;打造高效接口测试自动化流程》 一、概述与Postman核心优势 1. 接口测试的重要性与挑战 接口测试是确保软件系统各组成部分能够正确交互的关键环节。随着现代软件系统的复杂性增加&#xff0c;接口的数量和类型也在不断增长&#xff0c;这给接口测…

安卓虚拟位置修改1.25beta支持路线模拟、直接定位修改

导语:更新支持安卓14/15&#xff0c;支持路线模拟、直接定位修改&#xff0c;仅支持单一版本 无root需根据教程搭配下方链接所提供的虚拟机便可进行使用 有root且具备XP环境可直接真机运行 如你有特殊需求 重启问题设置打开XP兼容 针对具有虚拟机检测的软件 建议如下 度娘搜索…