Linux常见指令(3)

news2024/12/27 11:21:37

Linux常见指令 ⑶

  • date指令
    • 引入
    • 描述
    • 用法
    • 例子
      • 时间
      • 时间戳
  • cal指令
    • 描述
    • 用法
    • 例子
  • find指令
    • 描述
    • 用法
    • 例子
    • 补充
      • which指令
      • whereis指令
  • grep指令
    • 描述
    • 用法
    • 例子
      • grep 对文件的操作
      • grep 对目录的操作
    • 补充
  • 打包压缩 和 解压解包
    • zip && unzip
      • 描述
      • 用法
      • 例子
        • 对文件的操作
        • 对目录的操作
    • tar指令
      • 用法
      • 例子
        • 对文件的操作
        • 对目录的操作
  • bc指令
    • 描述
    • 用法
    • 例子
  • 了解系统
    • 用法
    • 例子
  • 热键
    • 用法
    • 例子
  • 指令的运行原理

date指令

引入

时间 对Linux来说是非常重要的. 有可能我们现在对这个重要性没多大体会, 但在以后得 日志 就会体会的非常明显.
日志是对我们的 检查 工作来说是很重要的. 程序运行到每一个关键时刻, 都需要程序员自己来打日志.
⇒ 就引出了 date指令, 用来查询时间.

这里还有一个概念, 就是 时间戳: 从1970年1月1日午夜到当前时间的秒数
时间戳出现的原因:

  1. 时间是人定义的, 每个国家的时间不是统一的
  2. 互联网运行时间快, 需要一个统一的时间
  3. 时间戳是单调递增的, 便于我们进行范围查找(可以采用 二分的思想)

描述

date指令是用来查询 时间 和 时间戳的

用法

date — — 按照默认的方式输出当前时间
date +格式要求(%Y分隔符%m分隔符%d… …) — — 按照要求输出当前时间
date +%s — — 输出当前的时间戳
date -d @时间戳 — — 按照默认的方式输出此时间戳对应的时间
date 格式要求 -d @时间戳 — — 按照要求输出此时间戳对应的时间

例子

时间


注意:
%F 相当于 %Y-%m-%d
%X 相当于 %H:%M:%S
中间的分隔符, 可以是任意符号, 但是 不能是空格

时间戳


🗨️老陈, 你刚才不是说时间戳是从 1970年1月1日午夜到当前时间的秒数, 这上面显示的是 8点?

  • 时间戳又叫做格林威治时间, 是外国人定义的. 由于存在时差, 在我们中国就是 8点.
    其实, 这也变相的说明了 时间戳存在的意义: 每个国家在国内都能统一使用, 在国际, 也有一个统一的时间标准.

cal指令

描述

cal指令是用来输出日历的

用法

cal — — 输出当前月份的日历
cal 年 — — 输出这一年的日历
cal -3 — — 输出这当前月份, 上个月份, 下个月份的日历

例子


find指令

描述

find指令: 在目录结构中搜索文件, 并执行指定的操作

用法

find 指定目录 -name 文件名 — — 从指定目录开始以递归的方式搜索此文件名的所有文件

例子

  • 发现: 普通用户下, find指令可能会受到权限限制
    家目录 下, 即 /home/用户名/xxx 或 ~, 不会受到权限限制. 因为家目录下的一棵 ‘树’ 就是自己的!!
    其他目录 下, 尤其是 /usr/xxx 可能会受到权限限制. 解决方法就是用 root用户去搜索

补充

同为搜索的指令, 还有 whichwhereis

which指令

which 指令 — — 在指令路径下 /usr/bin/xxx 搜索指令所在位置

whereis指令

whereis 指令/文件 — — 在系统特定路径下进行搜索(搜索结果一般是 文件路径, 头文件, 可执行程序, 手册, 安装包 ... ...)



  • find指令可以搜索任意文件, 但是速度较慢
    which指令, 搜索指令所在位置, 输出的信息更加详细
    whereis指令, 界于两者之间, 既可以搜索指令也可以是文件

grep指令

描述

grep指令: 在文件中以 为单位搜索字符串( 行文本过滤 ),将找到的行打印出来

用法

grep 条件 文件名/文件地址 — — 在文件中以行为单位, 将满足条件的行的内容默认输出到显示屏文件
grep -r 条件 目录/目录地址 — — 在目录路径下以递归的方式, 在各个文件中以行为单位, 将满足条件的行的内容默认输出到显示屏文件

跟选项:
-i — — 忽略条件中的大小写
-v — — 逆反, 将不满足条件的行的内容输出出来
-n — — 显示输出结果的行号

例子

grep 对文件的操作


可以看出, 还是非常简单的, 很容易入手. 当然还有两个 极端情况:
在这里插入图片描述
'' 这是一个 空字符, 满足这个要求的, 就是文件本身喽.
-v , 逆反, 那就是空了

grep 对目录的操作

补充

一般指令后面跟的有文件, 可以尝试使用 管道 来进行优化. 这样写有两点好处:

  1. 管道文件是内存级的文件, 速度快
  2. 指令后面就不需要跟上 文件喽

grep指令常用的用法是: 配合管道, 来查看进程. 由于进程是后面才学习的, 这个以后再讲!!

打包压缩 和 解压解包

zip && unzip

描述

我们熟知的Windows操作系统, 有很多的打包压缩, 解包解压的软件. 打包压缩有很多的优势, 比如:

  1. 有多个文件变成一个文件, 不容易造成文件的缺失(就是不容易丢失其中的一两个)
  2. 体积变小, 下载时间变短

总结下来, 就是不容易造成文件的缺失 和 下载时间变短

🗨️Linux也是一个操作系统, 那么它在什么场景下使用打包压缩呢?

  • Linux有充当服务器的时候, 也有各种网络应用场景, 满足通讯的需求, 这时候就有打包压缩的需求

安装zip 和 unzip 的命令: yum install -y zip unzip(记得要在root用户下)

zip 和 unzip 指令就是打包压缩 和 解压解包的功能

用法

zip指令默认后面跟的是一个文件
zip xxx.zip 文件 — — 打包压缩一个文件
zip -r xxx.zip 目录 — — 打包压缩整个目录
unzip xxx.zip — — 默认解压到当前目录下
unzip xxx.zip -d 目录路径 — — 解压到指定路径下

例子

对文件的操作


对目录的操作

打包压缩 可以使多个目录/文件 变成一个文件

tar指令

用法

tar czf xxx.tgz 文件/目录 — — 打包压缩
tar tzf xxx.tgz — — 预览
tar xzf xxx.tgz — — 默认解压到当前路径下
tar xzf xxx.tgz -C 目录路径 — — 解压到指定路径下

例子

对文件的操作

对目录的操作


🗨️为什么tar指令后面的压缩后缀是 .tgz

  • xxx.tgz 的全称是 xxx.tar(打包后缀) .gz (压缩后缀).
    起着打包压缩的功能, 所以简写就是 xxx.tgz

🗨️如果我们想到指定目录下解压解包, 除了用 -r 或 -C这两个选项, 我们能不能用别的方式实现同样的功能呢?

  • 先明白一个点: 不能在原路径下解压, 因为已经存在一个一样的目录/文件, 就算你在原路径下进行解压解包, 也是无用的.
    其次, 我们可以巧用 mv指令, 将压缩包移动到指定路径, 并在那个路径下进行解压解包.

🗨️有很多的打包压缩工具啊, 老陈, 为啥只介绍了这两个??

  • 确实有很多的打包压缩工具, 但是这两个工具是很经典的, 其它的不清楚的可以直接去网上查询

bc指令

描述

bc指令可以进行浮点数的运算, 类似于 Windows下的 calc(计算器)

用法

首先进入 bc模式
然后输入计算的式子

例子

🗨️老陈, 有没有一种方式: 不进入 bc模式, 直接输出式子的结果

  • 首先, 输入 — — echo
    其次, 把输入的结果给 bc — — 管道 |

总结就是: echo 式子 | bc

在这里插入图片描述

了解系统

用法

由于对系统的一些相关知识并没有深入了解, 在此处我们就看一看就行, 就当有这一回事~~

uname— — 系统的名字
uname -a — — 查看系统的详细信息
uname -r — — 查看系统的体系结构 和 内核版本
free -单位(m, g, t … …) — — 查看内存
df -h — — 查看磁盘

例子

别的东东, 老陈在这里就不多说了. 这里直说一个点:

x86 — — 32位机器
x86-64 == x64 — — 64位机器

热键

用法

tab — — 自动补全
ctrl + r — — 历史命令查询(ctrl + c 结束)
nano — — 记事本
ctrl + d — — 退出终端, 退出用户
ctrl + c — — 让当前命令 强制停止

例子

  • 总结一下:
    连按两次 tab键, 就会输出这个系统现在已有的命令
    ctrl + r ⇒ 就会出现 ’ ', 然后在里面输入想要查找的历史命令, 退出就是 ctrl + c
    ctrl + d: 不仅可以退出终端(即退出xshell), 亦可以回退到上一个用户
    nano: 就相当于Windows下的记事本, 保存退出: ctrl + x 然后 y 然后 enter

🗨️ctrl + r 是查找历史命令, 难道Linux操作系统有历史存储功能??

  • 观察力真不错!! 下面介绍一个命令 : history

    在这里插入图片描述
    只不过, 不是把命令全部保存了下来, 只是记录最近的 1000 个左右. 不过这个默认记录个数是可以修改的, 这个其实没多大意义~

指令的运行原理

前面我们已经知道了, 指令的本质就是编译好的程序或者脚本, 只不过是放在了系统的特殊路径下.⇒ 指令其实就是字符串, 只不过这个字符串经过了系统的处理和加工; 和我们输入的字符串是不同的.

🗨️既然谈到了输入, 那么每次输入的时候前面的一段东西是什么?



  • 这个叫做 bash命令行, 我们先谈一下它的构成:
    muyu — — 是当前用户名
    @C-muyu-Y — — 主机名
    ~ — — 当前目录
    $ — — 命令行提示符. root用户下的命令行提示符是 #, 而普通用户下的命令行提示符是 $

    这个是我使用的云服务器的名字, 即主机名

    当我们改变用户为 root用户, 我们发现: 当前用户名 和 命令行提示符都发生了变化

🗨️ 老陈, 我之前听过 shell bash sh, 现在又有一个bash命令行, 这些怎么进行区分啊??


  • Shell — — 命令行解释器, 相当于 一个 类群的总称, 这里就以程序员来做比喻吧
    bash/ sh — — 类群中的一个个成员, 程序员1, 程序员2, 程序员3 … …
    bash命令行 — — bash的样子, 程序员bash长什么样

🗨️ 命令行解释器 Shell 是干什么的??

  • 命令行解释器是介于用户 和 操作系统的的一个 中间人 , 起着承上启下的一个作用.
    上达用户, 将操作系统的运行结果翻译给用户
    下至操作系统(OS), 将用户的需求翻译给操作系统

这里多说一句, 通过前面的学习, 我们知道了 Linux下的命令行解释器 和 Windows下的图形化界面操作 的作用是一样的. 只不过它们的使用群体不一样, Windows面向大众, 操作简单; 而Linux面向程序员, 是需要一定的技术基础的!!

🗨️老陈, 我们用户为什么不能直接操作 操作系统 (Windows 和 Linux … …), 而是要借助一下 "中间人" (图形化界面管理 和 命令行解释器) ?

  • 设想一下: 如果我们丢掉 图形化界面管理 和 命令行解释器, 直接操作 操作系统:
    站在操作系统的角度:
    首先, 操作系统不知道用户的一个需求, 即我们输入一个指令操作系统不认识
    其次, 如果我们的需求是没有道理的, 蛮横的, 那么就会损伤操作系统
    站在用户的角度(假设我们的输入有结果输出):
    操作系统输出的命令也是指令类型的, 我们用户根本看不懂

    总结下来, 中间人 (图形化界面管理 和 命令行解释器) 是必不可少的. 它的意义是:
    1.命令处理:
    上达用户, 将操作系统的运行结果翻译给用户
    下至操作系统(OS), 将用户的需求翻译给操作系统
    2.保护操作系统, 拦截用户的非法请求
  • 通过上面 老铁们的重重问题, 我们基本可以得知 操作系统, 用户, 命令行解释器 三者之间的关系

各位老铁, 关于Linux常见指令的知识, 老陈就先讲到这里.
Linux指令众多, 在以后的学习中, 我们一边学习其它知识, 一边巩固记忆指令操作
先说一下 后面的的内容: Linux权限
预知权限如何, 且听下回分解

放弃时间的人,时间也会放弃他. —— 莎士比亚

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

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

相关文章

苹果手机没有备份怎么恢复数据?数据恢复,轻松解决!

案例:苹果手机没有进行过iTunes和iCloud备份,手机还原后数据都被抹掉了,还能恢复数据吗? 【求问各位大神,我几天前把苹果手机的数据还原了,也没有提前进行过数据的备份。现在想起来之前微信上有一些重要的…

uniapp使用uView框架,后端传16位数以上时出现精度缺失的情况

1、使用 json-bigint,失败 2、使用 config 里的 getTask,失败 3、修改 dataType,成功 原因: 通过ajax请求回来的数据在response和preview两种状态显示的是不同的。response中的看到的数据格式其实是字符串(ajax请求…

GPT-4 国内使用指南 保姆教程

gpt持续火爆,然鹅国内很多朋友还说不会使用,因此有必要科普一篇文章! app.educlub.icu很多朋友因为各种限制无法开通#ChatGPT Plus,而申请OpenAI的GPT-4 API也要慢慢排队(我的也还没下来)。于是在这里我搜…

3 个令人惊艳的 ChatGPT 项目,开源了!

过去一周,AI 界又发生了天翻地覆的变化,其中,最广为人知的,应该是 OpenAI 正式上线 ChatGPT iOS 客户端,让所有人都可以更方便的在手机上与 ChatGPT 聊天。 此外,Stable Diffusion 母公司 Stability AI 也…

智能文档处理黑科技,拥抱更高效的数字世界

目录 0 写在前面1 为何要关注智慧文档?2 图像弯曲矫正3 手写板反光擦除4 版面元素检测5 文档篡改检测总结 0 写在前面 近期,中国图象图形学学会文档图像分析与识别专业委员会与上海合合信息科技有限公司联合打造了《文档图像智能分析与处理》高峰论坛。…

OpenCloudOS开源Linux操作系统详解

OpenCloudOS是什么?OpenCloudOS是Linux哪个版本?OpenCloudOS是哪个国家的?OpenCloudOS是一个国产操作系统开源社区,OpenCloudOS的基础库和用户态组件完全与CentOS 8兼容,腾讯云百科分享OpenCloudOS Linux操作系统详细介…

基于MATLAB的无人机遥感数据预处理与农林植被性状估算实践技术

为了将人工智能方法引入农业生产领域。首先在种植、养护等生产作业环节,逐步摆脱人力依赖;在施肥灌溉环节构建智慧节能系统;在产量预测和商品定价生产管理环节提高效能。这些智慧农业迫切需要实现的目标,首先要解决的问题就是多源…

第三十六章 状态管理工具与总结

Redux 是一个渐进式的状态管理库,它不仅仅是一个库,同时也是一个框架。它提供了一组用于构建复杂应用程序的工具和库,其中包括一些浏览器插件。 在 Chrome 和 Firefox 浏览器上,已经存在一些 Redux 的浏览器插件,例如 …

「技术分享」汽车检测移动机器人应用,科聪赋能智能数字化检测!

2021年汽车无钥匙进入系统市场价值16亿美元,预计到 2027 年将达到 26.8 亿美元,在预测期内的复合年增长率超过10%。这一光明的市场前景,推动相关供应商推出复杂的集成电子系统。但过去,汽车制造环节在智能化、数字化和过程成本等方…

企业数字化转型到底该怎么做?

企业数字化转型涉及实施技术和利用数字工具来增强业务流程、改善客户体验和推动创新。主要包括: 愿景和战略:首先明确定义数字化转型目标。确定数字技术可以对企业的业务产生最重大影响的领域,例如运营效率、客户参与度或产品开发。 评估当前…

【Java EE】Spring Cloud Gateway

Spring Cloud Gateway 添加Spring Cloud Gateway术语表工作流程网关的作用路由负载均衡统一处理跨域发布控制流量染色统一接口保护统一业务处理统一鉴权访问控制统一日志统一文档 网关的分类实现网关开启日志断言过滤器 参考文档 https://springdoc.cn/spring-cloud-gateway/ …

BetaFlight Mark4之“妖怪”声音之二

BetaFlight Mark4之“妖怪”声音之二 1. 源由2. 回顾3. 分析4. 优化5. 数据6. 综述7. 参考资料8. 附录 1. 源由 在BetaFlight Mark4之“妖怪”声音大致做了如下测试: 滤波参数调整 (怀疑滤波参数问题,导致振动传入系统,进而桨叶转速变化产生异响)整机螺…

系统学习大模型的20篇论文

【引子】“脚踏实地,仰望星空”, 知其然还要知其所以然。读论文是一条重要的途径,这一篇文章https://magazine.sebastianraschka.com/p/understanding-large-language-models非常值得借鉴,不敢私藏,编译成文。 大型语言…

Vue-生命周期

Vue实例有一个完整的生命周期,也就是说从开始创建、初始化数据、编译模板、挂在DOM、渲染-更新-渲染、卸载等一系列过程,我们成为Vue 实例的生命周期,钩子就是在某个阶段给你一个做某些处理的机会。 注册周期钩子​ 举例来说,mo…

聚观早报 | ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备

今日要闻:ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备;索尼正开发小尺寸折叠屏手机;万达辟谣大规模裁员;智能仿生手让截肢者重获手心的温度 ChatGPT登顶美区iOS免费榜 ChatGPT 在 iOS 美区免费 App 排行榜上位列…

一种轻量级的消息传输协议-MQTT

正文 大家周末好,我是bug菌~ 最近项目中用到了MQTT,感觉挺优秀的一种协议,所以这里分享一些相关的知识。 1 什么是MQTT MQTT是一种轻量级的消息传输协议,用于物联网设备和应用程序之间的通信。其最初由IBM开发&#xf…

TCP可靠数据传输

TCP 是通过序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输的。 1 重传机制 TCP 利用重传机制解决数据包丢失的情况,常见的重传机制如下: 超时重传快速重传SACKD-SACK 1.1 超时重传 重传机制的其中一个方式,就是…

网络的七层模型

网络的七层模型 七层模型结构 OSI七层模型TCP/IP五层模型说明协议硬件解释应用层应用层网络服务与最终用户的一个接口HTTP HTTPS FTP TFTP SMTP POP3 IMAP TELNET SNMP DHCP这层不涉及硬件,主要是web应用的表形式为应用程序提供网络服务表示层数据的表示、安全、压…

[学习笔记] [机器学习] 6. [下]决策树算法(熵Entropy、信息增益(率)、基尼值(指数)、CART剪枝、特征工程特征提取、回归决策树)

7. 回归决策树 学习目标: 知道回归决策树的实现原理 前面已经讲到,关于数据类型,我们主要可以把其分为两类,①连续型数据和②离散型数据。 在面对不同数据时,决策树也可以分为两大类型: 分类决策树&…

第三篇:强化学习发展历史

你好,我是zhenguo(郭震) 这是强化学习第三篇,我们回顾一下它的发展历史:强化学习发展历史 强化学习作为一门研究领域,经历了多年的发展和演进。以下是强化学习的主要发展历史里程碑: 1950年代-1…