Linux -基础指令3

news2025/1/10 21:02:54

博客主页:【夜泉_ly】
本文专栏:【Linux】
欢迎点赞👍收藏⭐关注❤️

在这里插入图片描述

文章目录

  • 📚 前言
  • ⏰ 时间相关
      • 🔑 概念一:日志
    • date
      • 🔑 概念二:时间戳
    • Cal
  • 🔍 查找
    • find
    • which
    • whereis
    • grep
  • 📦 打包压缩
      • 🔑 概念三:打包和压缩
    • zip/unzip
    • tar
  • 🧰 杂项
    • bc
    • uname
    • free
    • df
    • lscpu
    • lsmem
    • nano
    • history
    • shutdown
  • 🛠️ 常用按键
    • 🏷️ Tab
    • 🏷️ Ctrl C
    • 🏷️ Ctrl R
    • 🏷️ Ctrl D

📚 前言

本文主要内容:
在这里插入图片描述
在Linux -初识 与基础指令1和Linux -初识 与基础指令2之后,
这应该是最后一篇讲基础指令了。
直接开始吧:

⏰ 时间相关

🔑 概念一:日志

日志是种类似于日记的东西,
程序在运行时,会自己在每个关键时刻打日志,
就类似于一些人会在每天晚上写篇日记。

日志通常包含以下信息:
时间、日志等级(如 warningerrordebug 等)、
日志具体信息(如“打开文件失败”、“打开文件成功”等)以及其他相关信息。
这些信息 为单位打印到文件中,
该文件我们称之为日志文件。

日志非常重要,因为它能帮我们快速定位问题,
也可以找到某段史的作者,以便开展批判大会

而时间则对日志非常重要,
因此我们需要掌握时间相关的指令。
这里重点讲一个:date

date

date 用于查看Linux相关的时间。

date

在这里插入图片描述
支持:
1.按照需求进行信息提取
2.将时间转化为我们熟悉的格式

如打印年:

date +%Y

在这里插入图片描述
或者打印年月日:(分割符可以自定义)

date +%Y-%m-%d

在这里插入图片描述
甚至可以打印时分秒:

date +%Y/%m/%d-%H:%M:%S

在这里插入图片描述

上面的格式知道就行,不用记,需要的时候再查。

重点看看下面这个:

date +%s

在这里插入图片描述
我们可以多打印几行:
在这里插入图片描述
这里不得不再引入一个概念了:

🔑 概念二:时间戳

在不同的国家、不同的地区,对于时间的设定是有差异的。
而互联网,大家知道,是连在一起的。
为了确保互联网上的时间统一,时间戳应运而生。
时间戳,是从1970年1月1日午夜开始所经过的秒速。
由于是从一个固定的时间点开始计算的,因此它是单调递增的。
这意味着每一个新的时间戳总是大于前一个时间戳。

因此,应用到日志中,我们很容易对它进行范围查找和排序。

如何将时间戳转化为我们熟悉的时间呢,可以这样做:

date -d @1732880502

在这里插入图片描述
也可以加上刚刚的格式:

date +%Y/%m/%d-%H:%M:%S -d @1732880502

在这里插入图片描述

而打印0:

date +%Y/%m/%d-%H:%M:%S -d @0

在这里插入图片描述
为什么是8点呢,因为这是我们调整了时差后的时间。

Cal

这个指令不重要,不过和刚刚的时间相关,所以顺带讲讲。

cal

在这里插入图片描述
cal 就是Linux中的日历。
也可以看指定年份的日历:

cal 2023

在这里插入图片描述

🔍 查找

find

find 的作用与它的名字相同,是用来查找的。
选项非常多,但此处重点讲一个:-name
比如在家目录 ~ 下,查找所有叫做test.c的文件:

find ~ -name test.c

在这里插入图片描述
或者查找所有.c为后缀的文件:

find ~ -name *.c

在这里插入图片描述
总结一下,find 就是在指定的路径下进行文件的搜索。

which

which 也可以进行搜索,
不过是在系统指令所在的路径下进行指令的搜索。
在这里插入图片描述

whereis

whereis 可以在系统特定的路径下查找,
既可以找到可执行程序,也可以找到手册,压缩包之类的。
在这里插入图片描述

grep

grep 是用来在文件中找东西的,并且是一行一行的找。
比如我现在有个文件test1.txt,里面有100000条内容,
每条内容为Hello World 加上对应行号-1。
现在我想找包含6666的内容:

grep 6666 test1.txt

在这里插入图片描述
而如果你想输出不包含某某某内容的东西,可以加上选项 -v
比如,我不想输出1、2、3、4、5、6、7、8:
在这里插入图片描述
选项 -n,给每一行标号。
选项 -i,忽略大小写。(这个用的还挺多)
grep 后面的地址可以跟多个,不同地址之间用空格隔开就行:
在这里插入图片描述

📦 打包压缩

🔑 概念三:打包和压缩

打包就是把所有的东西装在一起,
压缩就是让东西占的空间更小。
为什么要打包和压缩?

  • 能被打包压缩的,一定是一个整体。
    由多个文件变成一个文件,不容易造成文件缺失。

  • 打包压缩,体积变小。
    如果体积大,下载时间会变长,存储占据空间变大。

基于上面两点,诞生出很多打包压缩的工具。

Linux系统也需要打包和压缩工具,
因为当Linux充当服务器时,需要满足各种网络应用场景中的通讯需求。
这些工具可以减少传输的消耗,
还能提高效率和安全性。

zip/unzip

打包用的是 zip 指令。
比如现在我想打包目录d1:
在这里插入图片描述

zip d1.zip d1

zip 压缩包 原文件
在这里插入图片描述

在这里插入图片描述
再试试解包,先把压缩包移到上级路径,再 unzip
在这里插入图片描述
tree一下后发现,只打包了目录,因为 zip 默认只打包对应文件本身

在这里插入图片描述
如果想要正确的打包整个目录,应该加上选项 -r 使其递归式的进行打包:
在这里插入图片描述
解包操作不变。

如果想打包同一路径下的多个文件,
在这里插入图片描述
直接把文件名跟在后面就行:
zip -r 压缩包 原文件1 原文件2
在这里插入图片描述
在Windows中,解压缩时有个选项——解压到…。

在这里插入图片描述
这里也有对应的指令:

unzip d1.zip -d test

unzip 压缩包 -d 路径

在这里插入图片描述

补充一点,如果你是第一次用,有可能还没装zip。
切到root或者用sudo安装就行:

在这里插入图片描述

tar

打包和压缩的方案有非常多,
这个从压缩包的后缀就看的出来。
但我们不需要全部掌握,
还是那句话,需要的时候再查就行。
下面来看看 tar 怎么用。

现在,我想将d1以及test.txt打包:
在这里插入图片描述

tar czf code.tar.gz d1 test.txt

c —— create,创建的意思
z —— 以zip的形式进行压缩
f —— 指名,后面跟新形成的文档名称
在这里插入图片描述
或者tar czf code.tgz d1 test.txt
在这里插入图片描述

c 换成 t ,表示不解包,只预览一下里面的内容

tar tzf code.tgz

在这里插入图片描述

c 换成 x ,可以解包

tar xzf code.tgz

在这里插入图片描述

关于压缩包的名称,严格讲是没有要求的,甚至不加后缀都行:
在这里插入图片描述

在这里插入图片描述
但一般会用 .tar.gz.tgz 作为文件扩展名,
以表示这是一个经过 gzip 压缩的 tar 归档文件。

.tar 为打包后缀,.gz 为压缩后缀,简写为 .tgz

tar czf XXX
tar tzf XXX
tar xzf XXX

一般,如果这个打包压缩后只在Linux下流转,那么用 tar
如果想要在windows下也能用,那么用 zip
但是,由于现在解压工具的功能强大,所以并不需要特别区分后缀,记住 tar 就行。

如果想更改解压路径,可以在后面跟一个 -C 加路径:
在这里插入图片描述

🧰 杂项

bc

接下来看看 bc 命令。
bc 命令就是Linux下的计算器,输入过后是这个样子的:
在这里插入图片描述
然后就可以进行相应的计算:
在这里插入图片描述
不用了输入 quit 退出:
在这里插入图片描述
可以与 echo / cat 等 和管道搭配使用:

在这里插入图片描述
在这里插入图片描述

uname

-a 表示全部(all)。
uname -a命令用来显示系统的详细信息:
在这里插入图片描述

free

free 用来查内存。
可以使用不同的选项来指定显示单位:

  • -k 表示按KB显示
  • -m 表示按MB显示
  • -g 表示按GB显示

在这里插入图片描述

df

df 可以查磁盘。
-h 选项表示以人类可读的格式显示:
在这里插入图片描述
人类可读。。有点奇怪,但man手册就是这样写的:
在这里插入图片描述

lscpu

lscpu 查cpu。

lsmem

lsmem 查内存。

nano

nano 是Linux中的记事本,可以用 nano --version 查看装了没有。
在这里插入图片描述
使用 nano 编辑文件非常简单。
比如可以用touch创建一个test.c文件,然后用nano编辑。
写完后按Ctrl x退出,它会问你要不要保存,输入Y,回车,就可以了。
cat test.c 可以看到已经有内容了,然后gcc test.c编译。
ls -l可以看见我们有了一个a.out的可执行程序,最后./a.out就能运行了。
在这里插入图片描述

history

history 用来记录我们输过的历史命令,
可以配合管道使用:
在这里插入图片描述
Linux默认记录最新的1000条命令,
这个具体记录多少条也可以自己改。

shutdown

关机指令,别用。
Linux操作系统(服务器),永远不要关机
因为服务器一旦运行,是7*24小时跑的。

🛠️ 常用按键

🏷️ Tab

Tab 用于补全指令。
比如输入w,然后 Tab 两下,它会跳出以w开头的指令:
在这里插入图片描述
如果相关指令只有一个,那么按一下 Tab ,会自动补全。
比如whereis,只需要输入whe,再 Tab 一下,就可以自动补全了:
在这里插入图片描述

🏷️ Ctrl C

Ctrl C 用于退出异常的进程。
这个上篇讲过。

🏷️ Ctrl R

历史命令搜索:Ctrl R
在这里插入图片描述
Linux会把你输过命令记录下了,并且可以通过 Ctrl R 搜索,
如果是你想要的那就回车确认,
如果不是,就 Ctrl C 取消。
在这里插入图片描述

🏷️ Ctrl D

Ctrl D 用于退出终端登录/Xshell。

在这里插入图片描述


希望本篇文章对你有所帮助!并激发你进一步探索编程的兴趣!
本人仅是个C语言初学者,如果你有任何疑问或建议,欢迎随时留言讨论!让我们一起学习,共同进步!

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

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

相关文章

如何在 Redis 上配置 SSL/TLS ?

在数据泄露非常普遍的时代,数据安全传输对于各种规模的应用程序来说都变得至关重要。 Redis 作为一种非常流行的内存数据结构存储,被广泛用于缓存、消息代理和数据库。鉴于其广泛使用,使用SSL/TLS 加密保护 Redis 连接,对于保护敏…

选择大于一切!Amazon Bedrock重塑大模型领域的竞合规则

文 | 智能相对论 作者 | 陈泊丞 早些年,“百模大战”打得火热,但是随着模型发展的深入,人们发现如果只是争抢市场份额,意义并不大,产业链上下游需要协作共进,才能为市场和社会提供更优质的生成式AI服务。…

MySQL 性能优化详解

MySQL 性能优化详解 硬件升级系统配置优化调整buffer_pool数据预热降低日志的磁盘落盘 表结构设计优化SQL语句及索引优化SQL优化实战案例 MySQL性能优化我们可以从以下四个维度考虑:硬件升级、系统配置、表结构设计、SQL语句和索引。 从成本上来说:硬件升…

RK3568平台开发系列讲解(pinctrl 子系统篇)pinctrl_debug

🚀返回专栏总目录 文章目录 1. Overview2. debug信息2.1 pinctrl-devices2.2. pinctrl-handles2.3. pinctrl-handles3. debug信息3.1. 查看(pinctrl_register_pins)注册了哪些pins3.2. 查看pin groups;3.3. 查看每种functions所占用的gpio groups信息:3.4. pinconf沉淀、…

目标跟踪算法:SORT、卡尔曼滤波、匈牙利算法

目录 1 目标检测 2 卡尔曼滤波 3《从放弃到精通!卡尔曼滤波从理论到实践》视频简单学习笔记 3.1 入门 3.2 进阶 3.2.1 状态空间表达式 3.2.2 高斯分布 3.3 放弃 3.4 精通 4 匈牙利算法 5 《【运筹学】-指派问题(匈牙利算法)》视…

5G Multicast/Broadcast Services(MBS) (八) MBS多播DRX

这里简单看下多播DRX的内容。 1 MBS multicast 对于MBS多播,RRC可配置 MAC entity使其具备per G-RNTI 或per G-CS-RNTI DRX 功能,从而控制 UE 对 MAC entity的G-RNTI和G-CS-RNTI 的 PDCCH 监听活动。当处于 RRC_CONNECTED 状态时,如果为 G-RNTI 或 G-CS-RNTI 配置了多播…

【JavaEE】多线程(7)

一、JUC的常见类 JUC→java.util.concurrent,放了和多线程相关的组件 1.1 Callable 接口 看以下从计算从1加到1000的代码: public class Demo {public static int sum;public static void main(String[] args) throws InterruptedException {Thread …

宝塔面板-java项目 spring 无法正常启动 java spring 宝塔 没有显示日志 问题解决方案-spring项目宝塔面板无日志

宝塔面板-java项目 spring 无法正常启动 java spring 宝塔 没有显示日志 -优雅草央千澈问题解决方案-spring项目宝塔面板无日志 问题描述 昨天安排了一个新项目的开发,搭建兄弟搭建完但是通信有问题,spring服务无法正常启动,于是交代后端兄…

关于一些游戏需要转区的方法

当玩非国区游戏时有时会出现乱码导致无法启动,此时多半需要转区来进行解决 1.下载转区软件 【转区工具】Locale Emulator 下载链接:Locale.Emulator.2.5.0.1.zip - 蓝奏云 用此软件可以解决大部分问题。 2.进行系统转区 首先打开控制面板选择时间与…

浅谈网络 | 应用层之云网络隔离GRE/VXLAN

目录 前言GRE 隧道技术VXLANGRE/VXLAN接入云平台 前言 之前提到,为云平台中的租户实现隔离时,常用的策略是基于 VLAN。然而,VLAN 只有 12 位,共支持 4096 个 ID,这在最初设计时看似足够,但随着云计算的快速…

【Python】批量下载抖音视频

1、代码 import os import re from concurrent.futures import ThreadPoolExecutor import requestsdef get_urls(max_cursor):# 请求头 (页面获取)headers {Cookie: ,Referer: ,User-Agent: }# 请求地址(页面获取)url # max_c…

刚入行Java,如何深入学习JVM底层原理?

对于JVM,我想大部分小伙伴都是要面试了才会去学,其余时间基本不会去看(掐指一算,你们书架上面的深入理解Java虚拟机第三版应该都一层灰了吧【手动狗头】)。但值得一说的是,当你工作多年之后,你遇…

【Redis】深入解析Redis缓存机制:全面掌握缓存更新、穿透、雪崩与击穿的终极指南

文章目录 一、Redis缓存机制概述1.1 Redis缓存的基本原理1.2 常见的Redis缓存应用场景 二、缓存更新机制2.1 缓存更新的策略2.2 示例代码:主动更新缓存 三、缓存穿透3.1 缓存穿透的原因3.2 缓解缓存穿透的方法3.3 示例代码:使用布隆过滤器 四、缓存雪崩4…

java中的数组(2)

大家好,我们今天继续来看java中数组这方面的知识点,那么话不多说,我们直接开始。 一.数组的使用 1.数组中元素访问 数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,数组可以通过下标访问其任意位置的元素. 也可以进行修改…

Qt入门7——Qt事件

目录 1. Qt事件介绍: 2. 事件的处理 示例1:鼠标进入(enterEvent)与离开事件(leaveEvent) 示例2:鼠标点击事件(mousePressEvent) 示例3:鼠标移动事件(mouseMoveEvent) 3. 按键事件 4. 定时器 5. 窗口事件 1. Qt事件介绍&a…

PyQt事件机制练习

一、思维导图 二、代码 import sysfrom PyQt6.QtTextToSpeech import QTextToSpeech from PyQt6.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QLineEdit from PyQt6 import uic from PyQt6.QtCore import Qt, QTimerEvent, QTimeclass MyWidget(QWidget):d…

【河南】《关于省级政务信息化建设项目支出预算标准的规定(试行)》(豫财预〔2020〕81号)-省市费用标准解读系列25

《关于省级政务信息化建设项目支出预算标准的规定(试行)》(豫财预 〔2020〕81号)是河南省财政厅2020年8月27日发布的信息化项目预算标准(了解更多可直接关注我们咨询)。该标准旨在加强河南省省级部门预算管理,规范省级…

oscp备考,oscp系列——Kioptix Level 3靶场

Kioptix Level 3 oscp备考,oscp系列——Kioptix Level 3靶场 nmap扫描 主机发现 └─# nmap -sn 192.168.80.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-09 00:33 CST Nmap scan report for 192.168.80.1 Host is up (0.00014s latency). MAC…

活动|华院计算董事长宣晓华应邀出席2024科创大会并作圆桌嘉宾

2024科创大会在上海举行,由中央广播电视总台和上海市人民政府共同主办。本次大会以“创新驱动 新质未来”为主题,来自知名院校、科研机构的专家学者以及科技企业、金融机构的相关负责人共聚一堂,探讨人工智能、生物医药等产业应用前景&#x…

Robust Univariate Mean Estimation算法简介

Robust Univariate Mean Estimation 是一种统计算法,主要用于在单变量场景中估计样本的均值,同时对异常值(outliers)具有鲁棒性。传统的均值估计使用样本的算术平均值,但它对异常值高度敏感。为了缓解这个问题&#xf…