Linux的基本指令(四)
目录
前言
时间相关的指令
date指令
时间戳
日志
时间戳转化为具体的时间
cal指令
find指令(十分重要)
grep指令(行文本过滤工具)
学前补充
什么是打包和压缩?
为什么要打包和压缩?
怎么打包和压缩?
zip/unzip指令
前言
怎么还要再写一篇啊🤡🐆🐍🦖🐓🦅🐡🐠🦋🐥......
时间相关的指令
date指令
- -s:设置当前系统日期
常用格式占位符:
%Y: 四位数年份(例如:2023)%m: 两位数月份(01 到 12)%d: 两位数天数(01 到 31)%H: 小时,24 小时制(00 到 23)%M: 分钟(00 到59)%S: 秒钟 (00 to59)
在显示时间方面:1、date ,显示当前系统日期:
2、date +%Y-%m-%d,使用特定格式显示当前系统日期:
3、date +%Y-%m-%d_%H:%M:%S,使用特定格式更详细的显示当前系统日期:
在设置时间方面:
- date -s //设置当前时间,只有root权限才能设置,其他只能查看
- date -s 20080523:只更改系统日期为20080523,系统时间仍为00:00:00
- date -s 01:01:01:只更改系统时间为01:01:01,系统日期仍为当前日期
- date -s “2008-05-23 01:01:01″:可以设置全部时间
关于系统日期和系统时间:1、系统日期(System Date)指年、月、日这一部分,用于表示当天的日期2、 系统时间(System Time)指小时、分钟和秒数等部分,用于表示一天中的具体时刻
时间戳
关于时间戳的内容不再过多叙述,我们只需要知道它是一个逐秒递增的数字,它以 1970 年 1 月 1 日 UTC 时间午夜 (00:00:00) 开始,并按秒递增来表示当前时刻与该起始点之间经过了多少秒,通俗来讲就是当前时间与1970年1月1日0时0分0秒之间的秒数的差值。
日志
日志在时间中起着重要的作用。它记录了事件发生的时间戳和相关信息,可以帮助我们跟踪、分析和排查问题。以下是日志在时间中的几个方面作用:
调试和故障排除:当应用程序出现问题时,记录详细的调试信息到日志文件中可以帮助定位问题所在。通过查看相关错误消息、异常堆栈跟踪以及其他有用信息,可以追踪代码执行路径并找到导致错误或异常情况的原因。
监控和性能优化:通过记录关键指标(如请求处理时间、数据库查询时间等)以及系统状态(如内存使用量、CPU负载等)到日志文件中,可以进行系统性能监控和分析。这些信息有助于找出潜在瓶颈,并采取相应措施来改进系统性能。
安全审计与合规性:对于安全敏感的应用程序或需要满足特定合规标准(如GDPR)的场景,记录用户活动、访问权限变更以及其他安全事件至关重要。这些安全审计日志可作为调查工具,并确保符合法律法规要求。
用户行为分析与产品改进:通过记录用户行为、用户界面交互以及其他与用户相关的信息,可以进行用户行为分析和产品改进。这些日志可用于了解用户需求、发现潜在问题或改善产品功能。
时间戳转化为具体的时间
在日志中,记录具体时间通常使用时间戳的形式是一种常见做法,但是我们该如何将时间戳转换为可以看的懂的具体时间呢?我们只需要利用date +格式 -d @时间戳的形式就可以将时间戳以我们想要的格式显示出来:

如果将时间戳设置为0呢?

为什么是08:00:00而不是00:00:00?这是因为我国的标准时间比格林威治时间早八个小时...
cal指令
语法:cal [参数] [月份] [年份]
功能:查看日历等时间信息,只有一个参数则表示年份(1-9999),有两个参数则表示月份和年份
常用选项:
- -3:显示系统前一个月,当前月,下一个月的月历
- -j:显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y:显示当前年份的日历
常见使用方式:
1、cal -3,显示最近三个月的日历:

2、cal -j,显示今天是今年的第几天:

3、cal -j 26 11 2023,显示2023年11月26日在当年是第几天(不再展示,知道如何使用即可)
4、cal -y,显示当前年份的日历:

5、cal -y 5 120,显示120年5月的日历(不再展示,知道如何使用即可)
find指令(十分重要)
语法:find 目录名 [选项] 文件名
功能:用于在指定目录下查找文件,并作出相应的处理(可能访问磁盘)
常用选项:(一些常用选项暂未列出,后续会进行补充)
- -name:按照文件名查找文件
- -empty:查找空文件
- -size:查找指定大小的文件
常见使用方式:
1、find /root -name *.c,在root目录下查找以.c结尾的文件:
2、find /root -size +1k,在root目录下查找小于1000字节大小的文件(.和..不是文件):
3、find /root -empty,在root目录下查找空文件:
grep指令(行文本过滤工具)
语法:grep [选项] "搜寻字符串" 文件名
功能:在文件中搜索字符串,将含有该字符串的行打印
常用选项:
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
常见使用方式:
1、grep "999" output.txt,将output.txt文件中包含999的行都打印出来:
![]()
2、ps ajx | grep ”bash“ ,将进程(后续会写)中含bash的内容打印出来:
3、grep -n "bit" simple.txt,打印simple.txt文件中包含bit字符串的行以及它们的行号:
4、grep -i “bit” simple.txt,忽略simple.txt文件中bit的大小写,将包含大写的bit也打印:
5、 grep -v “bit” simple.txt,将simple.txt文件中不含bit的行打印(加了点私货):
学前补充
什么是打包和压缩?
打包(Packaging)和压缩(Compression)是两个相关但不完全相同的概念
打包是将多个文件或目录组合成一个单一的文件或目录结构的过程。它可以将相关文件放置在一起以便更方便地进行传输、存储或共享。打包通常会保留原始文件的结构,并创建一个容器(如压缩归档格式、文件夹等),其中可以包含多个文件和子目录。
压缩则是通过使用特定算法来减小数据量,从而降低所占用空间大小的过程。它通过消除冗余信息和应用数据压缩技术来实现。压缩后生成的新文件称为压缩档案,其大小通常比原始数据要小得多。
为什么要打包和压缩?
-
节省存储空间:通过将多个文件或目录进行打包和/或压缩,可以节省磁盘空间,并提高存储效率。尤其对于大型项目、备份数据等情况下,这种节省非常重要。
-
方便传输:当需要将大量数据发送给他人时,使用打包和/或压缩可以减少传输时间并降低带宽要求。压缩后的文件更小,传输速度更快。
-
组织和管理文件:打包可以将相关文件组织在一起,形成一个单独的实体,方便进行整体管理、备份和共享。同时也有助于保持目录结构的完整性。
-
提高性能:对于某些需要频繁读取或写入数据的应用程序,使用压缩数据可以减少磁盘I/O操作,并提高系统性能。
怎么压缩/打包和解压缩/包?
- 使用zip指令和unzip指令进行压缩和解压缩
- 使用tar指令实现打包和解包
zip和unzip指令
语法:zip [选项] 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式
常用选项:
- -r 递归处理,将指定目录下的所有文件和子目录一并处理
常见使用方式:
1、zip -r 自定义压缩文件名.zip 文件/目录名,将111目录中的文件递归压缩,如果不采用递归压缩则只会将目录名压缩,可以看到zip -r 111.zip 111 和 zip 111.zip 111两者执行后压缩的内容前者明显比后者多了四个文件:
2、unzip 压缩文件,将压缩文件解压:
若不存在unzip指令,则需要使用yum -y install unzip 下载该指令
~over~
相关文章:
Linux的基本指令(四)
目录 前言 时间相关的指令 date指令 时间戳 日志 时间戳转化为具体的时间 cal指令 find指令(十分重要) grep指令(行文本过滤工具) 学前补充 什么是打包和压缩? 为什么要打包和压缩? 怎么打包和…...
vue+elementui如何实现在表格中点击按钮预览图片?
效果图如上: 使用el-image-viewer 重点 : 引入 import ElImageViewer from "element-ui/packages/image/src/image-viewer"; <template><div class"preview-table"><el-table border :data"tableData" …...
LLaMA 2:开源的预训练和微调语言模型推理引擎 | 开源日报 No.86
facebookresearch/llama Stars: 36.0k License: NOASSERTION LLaMA 2 是一个开源项目,用于加载 LLaMA 模型并进行推理。 该项目的主要功能是提供预训练和微调后的 LLaMA 语言模型的权重和起始代码。这些模型参数范围从 7B 到 70B 不等。 以下是该项目的关键特性…...
01-AI大模型智能客服 V0.1「上」
你好,我是悦创。 首发:https://mp.weixin.qq.com/s/6MTkpWZCEbFWOcUn0Vexvw V0.1 版本我将分为上中下三篇进行书写和发布,欢迎分享和我微信进讨论群:Jiabcdefh。 计划: 会迭代好几个版本,看阅读量和点赞…...
【23真题】罕见211!数一配英二!
今天分享的是23年合肥工业大学833的信号与系统数字信号处理试题及解析。合工大833考数一英二,这样的搭配还是很少见的。 本套试卷难度分析:22年合肥工业大学833考研真题,我也发布过,若有需要,戳这里自取!平均分为80和…...
Linux 项目自动化构建工具:make/makefile
什么是 make make 是一个命令,他会在源文件的当前目录下寻找 makefile 或者 Makefile 文件执行这个文件中的代码。 makefile 文件的编写 我们先来见见猪跑,看看 make 怎么用的: 下面是 makefile 文件的内容: 这是 test.c 中的…...
android trace文件的抓取与查看方法
本地手机抓取trace 解压android trace文件的抓取与查看方法 找到config.pbtx文件,连接手机push进去 # push config.pbtx ,/data/local/tmp/为自定义push到的目录 adb push config.pbtx /data/local/tmp/ adb shell # 抓取trace, /data/loc…...
ffmpeg开发 环境配置
ffmpeg开发简图 1 下载ffmpeg开发包 https://ffmpeg.org/download.html 包含三个版本:Static、Shared以及Dev Static --- 包含3个应用程序:ffmpeg.exe , ffplay.exe , ffprobe.exe,体积都很大,相关的DLL已经被编译到exe里面去…...
C++STL——string类详解及其模拟实现
CSTL——string类 1. STL简介 STL全称standard template libaray,译为标准模板库 需要注意,STL不是C的标准库,而是C标准库的重要组成部分STL是一个包含众多数据结构和算法的软件框架 下面展示STL的六大组件: 本章,我…...
使用Three.js创建导航立方体
什么是导航立方体? 导航立方体是一个交互式的3D控件,它允许用户通过点击和拖动立方体的各个面来改变3D视图的方向。这是一种非常直观的方式,让用户能够轻松地在3D空间中导航。 创建导航立方体 下面是一个基本的步骤,说明如何使用Three.js创建一个导航立方体: // 创建场景…...
C++初识类和对象
前言 上一期我们介绍了一些C入门的基础知识,本期我们来介绍面向对象。初步认识一下面向对象和面向过程、类、以及封装! 本期内容介绍 面向过程和面向对象 类的引入 类的定义 类的访问限定符和封装 类的作用域 类的实例化 类对象模型 this指针 一、面向…...
MYSQL where 子句
文章目录 前言MySQL where 子句语法 从命令提示符中读取数据使用PHP脚本读取数据后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Mysql 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力…...
系列十六、Spring IOC容器的扩展点
一、概述 Spring IOC容器的扩展点是指在IOC加载的过程中,如何对即将要创建的bean进行扩展。 二、扩展点 2.1、BeanDefinitionRegistryPostProcessor 2.1.1、概述 BeanDefinitionRegistryPostProcessor是bean定义的后置处理器,在BeanDefinition加载后&a…...
eclipse项目移到idea上部署运行
1.配置web模块 另外,模块这里,也要加上Spring 2.配置Artifact (用于tomcat) 就是从上面配置的web模块,产生的工件 3.添加lib 一般是在web-inf/lib , 遇到的坑: jdk版本问题,这里…...
支持向量机的算法原理
支持向量机(Support Vector Machine,简称SVM)是机器学习领域中一种常用的分类算法,它基于统计学习理论和结构风险最小化原则,具有很强的理论基础和良好的分类性能。本文将详细介绍支持向量机的算法原理,并解…...
gitlab 12升级14(解决各种报错问题)
1.这里是从自己公司的源下载的rpm包,需要换成自己的 2.从12的最后一个版本升级到14的最后一个版本 # 停服务 [rootdocker test]# gitlab-ctl stop puma && gitlab-ctl stop sidekiq && gitlab-ctl stop nginx && gitlab-ctl status# 进入…...
给element plus中动态form-item增加校验的可行方法
element plus中的form组件自带校验机制。在常规使用场景中,表单项是固定的、明确的,且数量不会太多。校验规则的使用也如下: <template><div class"edit-page"><el-form :model"formModel" ref"for…...
C++学习之值传递
c/c中存在三种传值方式,在局部函数中,对这三种传值方式传入的参数进行修改,会得到不同的结果。具体见下例: #include <stdlib.h> #include <stdio.h>static int dummny 10000;// 传值(传过来的是原始值的副本&#…...
网络视频播放卡顿原因分析
一、问题描述 某项目通过拉摄像机rtsp流转rtmp/http-flv/ws-flv的方案,使用户可以在网页中观看摄像机的视频画面。在 观看视频时偶发出现卡顿现象。 二、卡顿现象分析和解决 此问题涉及的原因较多,所以得考虑各环节的问题可能性,并根据现场实…...
Android 相机库CameraView源码解析 (二) : 拍照
1. 前言 这段时间,在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位,在项目前期,的确为我们节省了不少时间。 但随着项目持续深入,对于CameraView的使用进入深水区,逐…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
boost::filesystem::path文件路径使用详解和示例
boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类,封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解,包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...









