Linux的基本指令(四)

目录

前言

时间相关的指令

date指令

时间戳

日志

时间戳转化为具体的时间

cal指令

find指令(十分重要)

grep指令(行文本过滤工具)

学前补充

什么是打包和压缩?

为什么要打包和压缩?

怎么打包和压缩?

zip/unzip指令


前言

怎么还要再写一篇啊🤡🐆🐍🦖🐓🦅🐡🐠🦋🐥......

时间相关的指令

date指令

语法: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秒之间的秒数的差值。

日志

日志在时间中起着重要的作用。它记录了事件发生的时间戳和相关信息,可以帮助我们跟踪、分析和排查问题。以下是日志在时间中的几个方面作用:

  1. 调试和故障排除:当应用程序出现问题时,记录详细的调试信息到日志文件中可以帮助定位问题所在 。通过查看相关错误消息、异常堆栈跟踪以及其他有用信息,可以追踪代码执行路径并找到导致错误或异常情况的原因

  2. **监控和性能优化:**通过记录关键指标(如请求处理时间、数据库查询时间等)以及系统状态(如内存使用量、CPU负载等)到日志文件中,可以进行系统性能监控和分析。这些信息有助于找出潜在瓶颈,并采取相应措施来改进系统性能。

  3. **安全审计与合规性:**对于安全敏感的应用程序或需要满足特定合规标准(如GDPR)的场景,记录用户活动、访问权限变更以及其他安全事件至关重要。这些安全审计日志可作为调查工具,并确保符合法律法规要求。

  4. **用户行为分析与产品改进:**通过记录用户行为、用户界面交互以及其他与用户相关的信息,可以进行用户行为分析和产品改进。这些日志可用于了解用户需求、发现潜在问题或改善产品功能。

时间戳转化为具体的时间

在日志中,记录具体时间通常使用时间戳的形式是一种常见做法,但是我们该如何将时间戳转换为可以看的懂的具体时间呢?我们只需要利用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)是两个相关但不完全相同的概念

打包将多个文件或目录组合成一个单一的文件或目录结构的过程。它可以将相关文件放置在一起以便更方便地进行传输、存储或共享。打包通常会保留原始文件的结构,并创建一个容器(如压缩归档格式、文件夹等),其中可以包含多个文件和子目录。

压缩则是通过使用特定算法来减小数据量,从而降低所占用空间大小的过程。它通过消除冗余信息和应用数据压缩技术来实现。压缩后生成的新文件称为压缩档案,其大小通常比原始数据要小得多。

为什么要打包和压缩?

  1. **节省存储空间:**通过将多个文件或目录进行打包和/或压缩,可以节省磁盘空间,并提高存储效率。尤其对于大型项目、备份数据等情况下,这种节省非常重要。

  2. **方便传输:**当需要将大量数据发送给他人时,使用打包和/或压缩可以减少传输时间并降低带宽要求。压缩后的文件更小,传输速度更快。

  3. **组织和管理文件:**打包可以将相关文件组织在一起,形成一个单独的实体,方便进行整体管理、备份和共享。同时也有助于保持目录结构的完整性。

  4. **提高性能:**对于某些需要频繁读取或写入数据的应用程序,使用压缩数据可以减少磁盘I/O操作,并提高系统性能。

怎么压缩/打包和解压缩/包?

  1. 使用zip指令和unzip指令进行压缩和解压缩
  2. 使用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~

相关推荐
danplus11 分钟前
node发送邮件:如何实现Node.js发信功能?
服务器·node.js·外贸开发信·邮件群发·蜂邮edm邮件营销·邮件接口·营销邮件
神即道 道法自然 如来13 分钟前
Jenkins怎么设置每日自动执行构建任务?
运维·jenkins
小黑爱编程20 分钟前
【LInux】HTTPS是如何实现安全传输的
linux·安全·https
BeyondESH25 分钟前
Linux线程同步—竞态条件和互斥锁(C语言)
linux·服务器·c++
wn53126 分钟前
【Go - 类型断言】
服务器·开发语言·后端·golang
hanniuniu1327 分钟前
详细解读,F5服务器负载均衡的技术优势
运维·服务器·负载均衡
鱼饼6号41 分钟前
Prometheus 上手指南
linux·运维·centos·prometheus
Asher Gu1 小时前
Linux系统编程入门 | 模拟实现 ls -l 命令
linux
PatrickYao04221 小时前
记一次安装discuz时遇到的错误
服务器
c无序1 小时前
【Linux进程控制】进程程序替换
linux