Linux系统编程学习 NO.4 ——基础指令学习、操作系统时间的概念、文件压缩包的概念
1.时间相关的概念以及指令
1.1.时间相关的指令
1.1.1.date指令
date可以指定时间显示的格式:date +指定格式
选项
%H:小时
%M:分钟
%S:秒数
%Y:年份
%m:月份
%d:日
%F:相当于%Y-%m-%d
%X:相当%H:%M:%S
1.1.2.操作演示
date +%Y_%m_%d-%H:%M:%S
date +%F_%X

1.2.日志的概念
检查日志是程序员日常规工作中需要查看维护的一项工作。日志其实就是电脑以特点格式编写的日记。日志有三大部分组成,分别是时间、日志等级、日志具体信息。时间是计算机世界中的一个重要的概念。下面介绍的时间戳中还会有介绍,这里重点介绍日志。日志是用于记录应用程序、操作系统等计算机领域中的活动,主要用于故障排查、性能分析、安全审计等。
1.3.时间戳的概念
时间戳是指一个特定事件发生的日期和时间,通常以某种标准格式表示,比如UNIX时间戳,它是从1970年1月1日00:00:00 UTC(协调世界时)开始的秒数。时间戳通常用于记录事件发生的时间,以便在需要时能够准确地追踪或记录事件的时间顺序。时间戳也可以用于验证数据的完整性和时效性,因为每个事件都有一个唯一的时间戳。
1.3.1.时间戳查看指令
date +%s 查看当前时间戳

那要如何转换成年月日时分秒的格式呢?下面介绍两种将时间戳转化成我们常用的时间格式的指令。
date -d @时间戳 默认格式
date +%F_%X -d @时间戳 指定格式


1.3.2.时间戳的趣谈
相信学过编程语言的朋友可以会了解数据溢出带来的问题。如有符号类型正数数据溢出后,会变成负数的问题。这里浅谈一下千年虫问题。千年虫问题是指在1999年到2000年之间,由于早期计算机普遍采用的只有两位数来表示年份,因此当年份从99变成00时,可能会导致计算机系统无法正确识别时间日期,从而引发各种问题。这个问题被广泛讨论和预测,但最终并没有像人们预想的那样对计算机系统造成灾难性的影响。当然现有的时间戳体系也是会有溢出的一天,但是,我相信解决问题一定是会在问题出现之前就完成的。
1.4.cal指令
cal指令用于显示公历。
语法
cal[参数][月份][年份]
补充:如果只有一个参数,则表示年份(1-9999),如果有两个参数,则表示月份和年份。
常见选项
-3:显示系统当前月日历、前一个月份日历、后一个月份日历。
-j:显示在当年中的第几天(默认显示当前月在一年中的天数)
-y:显示当前年份的日历
1.4.1.操作演示


2.查找指令
2.1.find指令(重要)
find指令是Linux下在目录结构中搜索文件,并执行制定操作的查找文件的命令。find命令可以有相当多的查找条件,功能很强大。因为选项众多且大部分都值得我们花时间了解。这里我只是简单的介绍。后续还会继续介绍find指令在一些场景下的使用。
语法
find 指定路径 指定选项
常用选项
-name 按照文件名查找
2.1.1.样例演示
find ~ -empty
find ~ -size -1024

2.2 which指令和whereis指令
which指令用于查找指令在系统中的位置。whereis用于在系统指定路径下查找,既可以查找可执行程序、安装包、压缩包等等。
语法
which -选项 指令
where -选项 指令/手册名等
2.2.1.样例演示
which ls
whereis stdlib.h

3.grep指令
在指定文件中搜索字符串,将找到的行打印出来
语法
grep [选项] [要搜索的字符串]
常用选项
-n:显示匹配行的行号
-i:忽略字母地大小写
-v:显示不匹配的行
3.1.样例演示



3.2.服务端和客户端的概念
我们手机上、电脑上装的app其实本质上都是属于客户端,而我们在使用云服务器学习Linux时,我们ssh登录的就是由云服务器厂商提供的服务端。sshd就是安装在服务器上的用于验证我们ssh登录信息的系统软件。而我们在平时刷到短视频,通过网络向短视频应用厂商的服务端申请了服务,服务端响应后,在我们的客户端上就有我们喜欢的短视频内容了。

4.Linux下打包压缩与解压的指令介绍
4.1.打包压缩解压解包的概念
打包压缩是将多个文件或者文件夹打包成一个压缩文件,以减小文件大小、节省存储空间,同时方便传输和备份。常见的打包压缩格式有zip、rar、tar、7z等。解压解包则是将压缩文件恢复成原始的文件和文件夹。解压后的文件可以像未压缩的文件一样使用和操作。举一个在生活中的案例。在我们刚上大学的时候,很多同学都是第一次离开自己的家。在开学前一两天,父亲给你卖了一个很大的行李箱,并将你的生活用品都打包好了。这就是打包。这是母亲一看,哎这装的是啥啊?于是乎呢,她就将东西按照合理的空间顺序进行摆放。毛巾就塞到牙缸中,杯子也装到真空袋中,将空气压走。原本只能装10公斤的行李箱,在母亲的一顿操作下,硬是装了15公斤的东西。这就是解压。那么可能你会有一个疑问。我们呢就背着行李高高兴兴地去上大学了。到了学校宿舍后,将行李箱物品拿出来,这就叫解压。将物品按照规则摆放好,这就叫做解包。那么就引出一个疑问,为什么要有打包和压缩呢?事实上,在日常的网络下载软件的时候,通常我们都是下载的厂商服务端给我们提供的压缩包,因为在网络传输中,有可能会有一些不稳定的情况造成了文件的缺失。将文件压成一个包,传输的话要不然就是传输失败,要么就是传输成功,这样避免了文件丢失的尴尬。而且,打包压缩可以是存储的空间更小,在网络中传输的时间更快。
4.2.zip指令和unzip指令的介绍
zip指令功能:打包和压缩文件
语法
zip 压缩文件名 目录或文件
常用选项
-r:递归处理,将指定目录下的文件和子目录一并打包压缩
unzip指令功能:解压压缩文件
语法
unzip 压缩包
4.3.zip指令和unzip指令的样例演示

4.4.tar指令的介绍
tar指令可以压缩、解压、查看压缩文件信息等
语法
tar [选项] [文件] [参数]
常用选项
-c:建立一个压缩文件
-z:以gzip算法形式进行对压缩包的操作
-f:使用档名,请留意,在 f 之后要立即接档名
-x :解开一个压缩文件
-t :查看 tarfile 里面的文件
-v :压缩的过程中显示文件
4.5.tar命令的样例演示

5.bc指令
Linux下的计算器
样例演示

6.uname指令
uname用来获取电脑和操作系统的相关信息
语法
uname 选项
常用选项
-a:查看计算机的详细信息
-r:用于显示系统内核的版本号
6.1.样例演示


相关文章:
Linux系统编程学习 NO.4 ——基础指令学习、操作系统时间的概念、文件压缩包的概念
1.时间相关的概念以及指令 1.1.时间相关的指令 1.1.1.date指令 date可以指定时间显示的格式:date 指定格式 选项 %H:小时 %M:分钟 %S:秒数 %Y:年份 %m:月份 %d:日 %F:相当于%Y-%m-%d %X:相当…...
leecode 数据库:601. 体育馆的人流量
导入数据: Create table If Not Exists Stadium (id int, visit_date DATE NULL, people int); Truncate table Stadium; insert into Stadium (id, visit_date, people) values (1, 2017-01-01, 10); insert into Stadium (id, visit_date, people) values (2, 20…...
gym不渲染画面的解决方案(gym版本号0.26.2)
确认gym版本号 我安装了新版gym,版本号是0.26.2,不渲染画面的原因是,新版gym需要在初始化env时新增一个实参render_mode‘human’,并且不需要主动调用render方法,官方文档入门教程如下 import gym import numpy as n…...
如何在 Fedora 37 上安装 FileZilla?
FileZilla 是一款流行的开源 FTP(文件传输协议)客户端,它提供了一个直观的界面来管理和传输文件。本文将详细介绍如何在 Fedora 37 上安装 FileZilla。以下是安装过程的详细步骤: 步骤一:更新系统 在安装任何软件之前…...
网终安全技术(刘化君)课后被略的答案
目录 8.HTTP客户机与Wb服务器通信通常会泄露哪些信息? 9.在TCP连接建立的3次握手阶段,攻击者为什么可以成功实施SYN Flood攻击?在实际中,如何防范此类攻击? 常用的网络漏洞扫描技术有哪几种?试举例说明。…...
架构思想之DDD
领域驱动设计(Domain-Driven Design,简称DDD)是一种架构思想,旨在通过将业务问题领域化,将业务逻辑放在核心领域中,以实现更好的软件设计和可维护性。下面将介绍如何实现DDD的Java实现,包括如何…...
FinClip | 2023 年 4 月产品大事记
我们的使命是使您(业务专家和开发人员)能够通过小程序解决您的关键业务流程挑战。不妨让我们看看在本月的产品与市场发布亮点,看看它们如何帮助您实现目标。 产品方面的相关动向👇👇👇 全新版本的小程序统…...
试论什么是圣人境界
人类进化方向就是不断的提高智力。鼓吹体力都是反人类。 圣人是人类能够达到的最高境界,再上一层就是神了。按照中华传统,说圣人就是神也是正确的。 圣人境界是什么样子的?在这一点上,孔子给予了答案:吾道一以贯之。掌…...
在外远程登录局域网下的象过河ERP管理系统,无需公网IP
文章目录 概述1.查看象过河服务端端口2.内网穿透3. 异地公网连接4. 固定公网地址4.1 保留一个固定TCP地址4.2 配置固定TCP地址 5. 使用固定地址连接 转发自CSDN远程穿透的文章:公网远程访问公司内网象过河ERP系统「内网穿透」 概述 ERP系统对于企业来说重要性不言而…...
golang 服务中 context 超时处理的思考
文章目录 前言起因:日志告警引发的思考什么是contextcontext的作用context超时之后继续执行 or 中断 最后 前言 公司运行的服务代码中,随处可见各种各样的日志信息,其中大多数是用来记录各种异常的日志,一方面,当出现…...
遇到Uniapp配置meta不生效怎么解决
Uniapp是一种基于 Vue.js 的跨平台应用开发框架,其开发简单、易上手,可以快速构建出 iOS、Android 和 H5 页面,成为现在移动应用开发的重要工具之一。然而,跨平台应用的开发也带来了一些问题,比如本文即是解决 uniapp …...
C语言基础知识:位与位字段
目录 位与字节 位 比特 字节 对齐特性 位字段 位与字节 位 二进制数系统中,每个0或1就是一个位(bit),位是数据存储的最小单位。其中8 bit就称为一个字节(Byte)。计算机中的CPU位数指的是CPU一次能处理的最大位数࿰…...
新版android studio gradle插件7.4.2.pom一直无法下载问题
android studio同步时候出现org.gradle.api.plugins.UnknownPluginException,Plugin [id: com.android.application, version: 7.4.2] was not found in any of the following sources: pom插件一直无法下载,搞了好几天,简直想砸电脑&#x…...
Shell——变量和引用
1.总结变量的类型及含义? 2.实现课堂案例计算长方形面积?(6种方式) 3.定义变量urlhttps://blog.csdn.net/weixin_45029822/article/details/103568815 (通过多种方法实现) 1)截取网站访问的协…...
实际开发中一些实用的JS数据处理方法
写在开头 JavaScript 是一种脚本语言,最初是为了网页提供交互式前端功能而设计的,而现在,通过 Node.js,JavaScript 还可以用于编写服务器端代码。 JavaScript 具有动态性、基于原型的面向对象特性、弱类型、多范式、支持闭包执行…...
10:00进去,10:05就出来了,这问的也太变态了···
从外包出来,没想到死在另一家厂子了。 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到5月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推…...
GPT时代,最令人担心的其实是“塔斯马尼亚效应”
目录 教育到底教什么? 过度依赖GPT可能导致文明退化 GPT可以帮助人类破解“学海无涯极限”悖论 春季学期伊始,全球各地的老师们如临大敌,因为学生们带着ChatGPT杀过来了。Study.com的调研显示,每10个学生中就有超过9个知道Chat…...
基于容器技术和服务发现的全新大数据平台弹性伸缩方法
随着科技的不断发展,各个行业都在不断地数字化和智能化。在这个过程中,大数据技术成为了许多行业的重要支撑。而随着大数据技术的普及,行业分类和设备装置的不断更新换代,弹性伸缩成为了一个不可避免的问题。本文将介绍基于服务发…...
php8 match
刚从 php7 升级到 php8 时 我在使用 switch 语句,结果出现了一个提示: "switch statement can be converted to match expression" 翻译过来就是: switch语句可以转换为match表达式 我当时在想,match 应该是php8 的…...
ADS-B接收机Radarcape
1.设备简介 Radarcape是一款便携、高性能、功能强大的ADS-B地面接收机。Radarcape的设备清单包含:ADS-B接收机主机,专业级ADS-B天线,GPS天线,电源线,网线。 2. 功能特点 Radarcape可以通过网口输出飞机的原始数据D…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
