时间相关的指令
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秒之间的秒数的差值。
日志
日志在时间中起着重要的作用。它记录了事件发生的时间戳和相关信息,可以帮助我们跟踪、分析和排查问题。以下是日志在时间中的几个方面作用:
- 调试和故障排除:当应用程序出现问题时,记录详细的调试信息到日志文件中可以帮助定位问题所在。通过查看相关错误消息、异常堆栈跟踪以及其他有用信息,可以追踪代码执行路径并找到导致错误或异常情况的原因。
- 监控和性能优化:通过记录关键指标(如请求处理时间、数据库查询时间等)以及系统状态(如内存使用量、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、zip自定义压缩文件名.zip 文件/目录名 ...,压缩当前目录下的某些目录和文件:
2、unzip 压缩文件,将压缩文件解压至当前目录下:
3、unzip 自定义压缩文件名.zip -d 目录名,将文件解压缩至指定目录下:
若不存在unzip指令,则需要使用yum -y install unzip 下载该指令
~over~