Linux学习(二)
十七、日期时间类
date指令
- 功能:用于 显示当前系统时间,也可以用来 格式化日期 或 修改系统时间(需要
sudo权限)。 - 语法
1 | date |
- 格式化时间
可以使用 + 后跟格式字符串来自定义日期格式。
常用格式
| 格式 | 说明 | 示例 |
|---|---|---|
%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 | [ryan@ryan ~]$ date "+%Y-%m-%d %H:%M:%S" |
date指令 - 设置日期
修改系统时间需要 root 权限,普通用户无法直接修改
- 语法
1 | date -s 字符串时间 |
- 应用案例
1 | [root@ryan ~]# sudo date -s "2025-1-31 19:00" |
cal指令
- 功能:查看日历
- 语法
1 | cal [选项] (功能描述:不加选项,显示本月日历) |
- 应用案例
(1)显示当前月份日历
1 | [ryan@ryan ~]$ cal |
(2)显示指定年份的日历
1 | [ryan@ryan ~]$ cal 2025 |
十八、搜索查找类
find指令
- 功能:用于在 目录及其子目录中搜索文件,支持按 文件名、类型、大小、时间 等多种方式查找。
- 语法
1 | find [搜索范围] [选项] |
- 选项
| 选项 | 说明 |
|---|---|
-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 | [ryan@ryan ~]$ find /home/ryan/ -name test1.txt |
locate指令
- 功能:用于 快速查找文件 的命令,比
find更快,因为它依赖于 预先建立的数据库(mlocate.db)。 - 语法
1 | locate 文件名 |
由于
locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
- 应用案例
1 | [root@ryan ~]# sudo updatedb |
which指令
- 功能:用于 查找可执行文件 的 完整路径,常用于确认某个命令是否可用,以及它的存放位置。
- 语法
1 | which command |
- 应用案例
1 | [ryan@ryan ~]$ which ls |
**grep指令和|**管道符号
- 功能:
grep是 Linux 中用于 文本搜索 的命令,而|(管道符)用于 将一个命令的输出作为另一个命令的输入,两者经常结合使用。
grep过滤查找,管道符|,表示将前一个命令的处理结果输出传递给后面的命令处理。
- 语法
1 | grep [选项] 查找内容 源文件 |
- 常用选项
-n : 显示匹配行及行号
-i : 忽略字母大小写
- 应用案例
1 | [ryan@ryan Documents]$ grep "asd" test1.txt |
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 提供多种压缩与解压命令,常见的有 tar、zip/unzip、gzip/gunzip、bzip2/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 适合 单文件压缩!🚀

