Linux的基本指令(四)

本文介绍了Linux系统中的时间相关指令如date,如何设置和显示日期,时间戳的含义,日志的作用,以及打包和压缩文件(包括zip和unzip)的方法。还涵盖了find和grep这两个重要工具的用法。
摘要由CSDN通过智能技术生成

目录

序列文章

时间相关的指令

date指令

时间戳

日志

时间戳转化为具体的时间

cal指令

find指令(十分重要)

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

学前补充

什么是打包和压缩?

为什么要打包和压缩?

怎么打包和压缩?

zip/unzip指令


序列文章

Linux的基本指令(一):http://t.csdnimg.cn/7j4X0

Linux的基本指令(二):http://t.csdnimg.cn/jABcJ

Linux的基本指令(三):http://t.csdnimg.cn/DebhH

Linux的基本指令(四):http://t.csdnimg.cn/QHnwC

时间相关的指令

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:显示在当年中的第几天(一年日期按天算,从11号算起,默认显示当前月在一年中的天数)
  • -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、zip 自定义压缩文件名.zip 文件/目录名 ...,压缩当前目录下的某些目录和文件:

2、unzip 压缩文件,将压缩文件解压至当前目录下:

3、unzip 自定义压缩文件名.zip -d 目录名,将文件解压缩至指定目录下:

若不存在unzip指令,则需要使用yum -y install unzip 下载该指令 

~over~

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值