十七、日期时间类

date指令

  1. 功能:用于 显示当前系统时间,也可以用来 格式化日期修改系统时间(需要 sudo 权限)。
  2. 语法
1
date
  1. 格式化时间

可以使用 + 后跟格式字符串来自定义日期格式。

常用格式

格式 说明 示例
%Y 2025
%m 月(01-12) 01
%d 日(01-31) 31
%H 小时(00-23) 14
%M 分钟(00-59) 30
%S 秒(00-59) 45
%A 星期名称 Thursday
%a 星期缩写 Thu
%B 月份名称 January
%b 月份缩写 Jan
%p AM/PM PM
%Z 时区 CST
  1. 应用案例
1
2
3
4
5
6
7
8
9
[ryan@ryan ~]$ date "+%Y-%m-%d %H:%M:%S"
2025-01-31 05:33:04
[ryan@ryan ~]$
[ryan@ryan ~]$ date "+Today is %A, %B %d, %Y"
Today is Friday, January 31, 2025
[ryan@ryan ~]$
[ryan@ryan ~]$ date +%Y
2025
[ryan@ryan ~]$

date指令 - 设置日期

修改系统时间需要 root 权限,普通用户无法直接修改

  1. 语法
1
date -s 字符串时间
  1. 应用案例
1
2
3
[root@ryan ~]# sudo date -s "2025-1-31 19:00"
Fri Jan 31 19:00:00 EST 2025
[root@ryan ~]#

cal指令

  1. 功能:查看日历
  2. 语法
1
2
cal [选项] (功能描述:不加选项,显示本月日历)
cal 年份
  1. 应用案例

(1)显示当前月份日历

1
2
3
4
5
6
7
8
9
10
[ryan@ryan ~]$ cal
January 2025
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

[ryan@ryan ~]$

(2)显示指定年份的日历

1
2
[ryan@ryan ~]$ cal 2025
......

十八、搜索查找类

find指令

  1. 功能:用于在 目录及其子目录中搜索文件,支持按 文件名、类型、大小、时间 等多种方式查找。
  2. 语法
1
find [搜索范围] [选项]
  1. 选项
选项 说明
-type f 查找普通文件
-type d 查找目录
-type l 查找符号链接
-size +100M 查找大于 100MB 的文件
-size -10M 查找小于 10MB 的文件
-size 500k 查找正好 500KB 的文件
-mtime +7 查找 7 天前修改的文件
-mtime -3 查找 3 天内修改的文件
-mtime 0 查找今天修改的文件
-name <查询方式> 按指定的文件名查找模式查找文件
-user <用户名> 查找属于指定用户名所有文件
-size <文件大小> 按照指定的文件大小查找文件
  1. 应用案例
1
2
3
[ryan@ryan ~]$ find /home/ryan/ -name test1.txt
/home/ryan/Documents/test1.txt
[ryan@ryan ~]$

locate指令

  1. 功能:用于 快速查找文件 的命令,比 find 更快,因为它依赖于 预先建立的数据库mlocate.db)。
  2. 语法
1
locate 文件名

由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库

  1. 应用案例
1
2
3
4
[root@ryan ~]# sudo updatedb
[root@ryan ~]# locate test1.txt
/home/ryan/Documents/test1.txt
[root@ryan ~]#

which指令

  1. 功能:用于 查找可执行文件完整路径,常用于确认某个命令是否可用,以及它的存放位置。
  2. 语法
1
which command
  1. 应用案例
1
2
3
4
[ryan@ryan ~]$ which ls
alias ls='ls --color=auto'
/usr/bin/ls
[ryan@ryan ~]$

**grep指令和|**管道符号

  1. 功能:grep 是 Linux 中用于 文本搜索 的命令,而 |(管道符)用于 将一个命令的输出作为另一个命令的输入,两者经常结合使用。

grep过滤查找,管道符|,表示将前一个命令的处理结果输出传递给后面的命令处理。

  1. 语法
1
grep [选项] 查找内容 源文件
  1. 常用选项

-n : 显示匹配行及行号

-i : 忽略字母大小写

  1. 应用案例
1
2
3
4
5
6
7
8
9
10
[ryan@ryan Documents]$ grep "asd" test1.txt 
asd
asdf
asd
fasd
asdf
asd
asd
asd
[ryan@ryan Documents]$

grep + 管道符 |

管道符 | 连接两个命令,让 grep 处理前一个命令的输出。

过滤 ls 结果

1
ls -l | grep ".txt"

📌 仅显示 .txt 文件。

过滤 ps 进程

1
ps aux | grep "nginx"

📌 查找正在运行的 nginx 进程。

查找 ifconfig 中的 IP

1
ifconfig | grep "inet"

📌 仅显示包含 "inet" 的行(IP 地址)。

显示 history 中的 git 命令

1
history | grep "git"

grep 结合多个管道

🔹 查找日志中的 "error" 并显示前 5 行

1
cat log.txt | grep "error" | head -n 5

🔹 查找进程中包含 "python" 但不包含 "root"

1
ps aux | grep "python" | grep -v "root"

十九、压缩和解压类

Linux 提供多种压缩与解压命令,常见的有 tarzip/unzipgzip/gunzipbzip2/bunzip2 等。


1. tar(打包 & 压缩)

tar 主要用于 打包 多个文件,并支持 gzip(.tar.gz)bzip2(.tar.bz2) 压缩。

打包但不压缩

1
tar -cvf archive.tar 文件/目录

📌 示例:打包 mydir 目录

1
tar -cvf mydir.tar mydir

打包并压缩(gzip 压缩 .tar.gz

1
tar -czvf archive.tar.gz 文件/目录

📌 示例:打包并 gzip 压缩 mydir

1
tar -czvf mydir.tar.gz mydir

仅压缩,不打包

🔹 压缩单个文件

1
gzip file.txt

🔹 压缩整个目录

1
tar -czvf mydir.tar.gz mydir

2. tar 解压

解压 .tar(仅解包)

1
tar -xvf archive.tar

解压 .tar.gz(解包+解压)

1
tar -xzvf archive.tar.gz

解压 .tar.bz2

1
tar -xjvf archive.tar.bz2

指定解压路径

1
tar -xzvf archive.tar.gz -C /target/directory

3. zip/unzip(常用于 Windows 兼容)

🔹压缩

1
zip archive.zip 文件/目录

📌 示例

1
zip -r mydir.zip mydir

🔹 解压

1
unzip archive.zip

4. gzip/gunzip(单文件压缩)

🔹 压缩

1
gzip file.txt

📌 生成 file.txt.gz

🔹 解压

1
gunzip file.txt.gz

5. bzip2/bunzip2(更高压缩率)

🔹 压缩

1
bzip2 file.txt

📌 生成 file.txt.bz2

🔹 解压

1
bunzip2 file.txt.bz2

🚀 总结

任务 指令 说明
打包(不压缩) tar -cvf archive.tar mydir 仅打包 mydir 目录
打包+gzip压缩 tar -czvf archive.tar.gz mydir gzip 压缩 .tar.gz
解压 .tar.gz tar -xzvf archive.tar.gz 解压 .tar.gz
zip 压缩 zip -r archive.zip mydir 适用于 Windows 兼容
zip 解压 unzip archive.zip 解压 .zip
gzip 压缩单个文件 gzip file.txt 生成 file.txt.gz
gzip 解压 gunzip file.txt.gz 还原 file.txt
bzip2 压缩 bzip2 file.txt 生成 file.txt.bz2
bzip2 解压 bunzip2 file.txt.bz2 还原 file.txt

🔥 tar 适合 打包+压缩zip/unzip 适合 Windows 兼容gzip/bzip2 适合 单文件压缩!🚀