AI Linux运维_Linux的核心基础命令
一、Linux的目录结构
Linux的目录结构是一个树型结构,没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面,而不像Windows 可以拥有多个盘符, 如 C盘、D盘、E盘。
常见的目录结构:

二、基础命令:目录相关命令
终端说明:Linux的终端(Terminal)是用户与操作系统进行命令行交互的文本界面程序,用于输入指令并接收系统输出。

1.目录导航命令
1)定位与查看
| 命令 | 作用 | 语法格式 | 参数 | 案例 |
| pwd |
Print Working
Directory显示当前所
在目录的绝对路径
|
pwd | 无 |
显示当前路径: pwd
|
| ls |
list show的简写, 其功 能为列出目录的内容
|
ls [选项][路径]
|
-a: all 所有, 显示指定目录下所有子目录与文件, 包含隐藏文件
-l: list 以列表方式显示文件的详细信息,可简写为ll
-h: 配合 -l 以人性化的方式显示文件大小(文件大 小+单位)
|
显示当前所有目录: ls -a
以列表的形式展示根目录: ls -l / 或者 ll /
|
2)切换与目录结构

2.目录管理命令
1)创建目录

2)删除目录
3.文件相关命令
1) 文件操作命令

2) 文件查找命令
3)文件操作案例
- 创建 6 个不同日期的日志文件(如 access_20250225.log、access_20250302.log ...)
- 将 3 天前的日志文件复制到 /backup/old_logs 目录
- 删除 5 天前的日志文件
# 1.创建6个日志文件
# 创建日志目录
mkdir -p /var/log/app
# 进入该目录
cd /var/log/app
# 创建6个不同日期的日志文件
touch -d "2025-06-10 12:10:10" access_20250610.log
touch -d "2025-06-11 13:10:10" access_20250611.log
touch -d "2025-06-12 11:10:10" access_20250612.log
touch -d "2025-06-13 13:10:10" access_20250613.log
touch -d "2025-06-15 12:10:10" access_20250615.log
touch -d "2025-06-16 12:10:10" access_20250616.log
# 2.复制文件到 /backup/old_logs 目录
# 创建目录/backup/old_logs
mkdir -p /backup/old_logs
#寻找三天前的日志文件
find /var/log/app -mtime +3 type f -exec cp {} /backup/old_logs/ \;
# 3.删除5天前的日志
find /var/log/app -mtime +5 type f -exec rm -rf {} \;
练习:

# 查找所有 24 小时内修改过的 tmp_* 文件并移动到 /tmp/recent
find /tmp/userdata -mtime -1 -name temp_* -type f -exec mv {} /tmp/recent/ \;
# 删除超过 30 天未修改的 tmp_* 文件
find /tmp/userdata -mtime +30 -name tmp_* -type f -exec rm -rf {} \;

# 查找所有大小超过 100MB 的文件
find /usr/lib -size +100M -type f
# 将这些文件的路径记录到 /var/log/large_files.list
mkdir -p /var/log/large_files.list
find /usr/lib -size +100M -type f -print | tee /var/log/large_files.list
# 将这些文件复制到 /archive/large_files 目录
find /usr/lib -size +100M -type f -exec cp {} /archive/large_files/ \;
4)文件编辑命令
vi:经典的文本编辑器,功能较基础,适用于简单编辑任务。
vim (Vi IMproved):vi 的升级版,支持更多高级功能,如:
- 语法高亮
- 多级撤销(vi 仅支持单步撤销)
- 代码折叠
- 插件支持
- 更好的跨平台兼容性
在 RHEL 9 中,vi 通常是 vim 的符号链接,即运行 vi 实际启动的是 vim 的兼容模式。
安装vim:dnf install -y vim
1-打开文件
vi a.txt # 直接打开文件
vim a.txt # vim是vi的增强版
vim +10 a.txt # 直接打开文件,并定位到第10行
vi/vim三种工作模式: 命令模式、插入模式(编辑模式)、末行模式(底行模式)
- 命令模式:复制、粘贴、移动光标、撤销与恢复
- 插入模式(编辑模式):只能编辑文件内容(写字)
- 底行模式(末行模式):保存文件、退出文件、显示行号、搜索关键词

2-命令模式
当我们通过vi/vim命令打开文件时,默认就处于命令模式。小技巧:进入vim编辑器,先查看左下角有没有提示信息,如果没有任何信息,代表你当前位于命令模式!

3-编辑模式
如何进入编辑模式呢?
答:i:在当前光标的前面插入内容
a:在当前光标的后面插入内容
o:在光标的后一行插入内容
O:在光标的前一行插入内容
如何从编辑模式回到命令模式?
答:按Esc键
4-底行模式
:wq和:x区别?
答:如果文件内容有改变,两者的效果是一样的。如果文件内容没有改变,:x不会改变文件的最后修改时间,但是:wq会更新文件的最后修改时间。运维工程师,强烈推荐使用:x
5) 编辑常见问题
如果在打开某个文件时,弹出以上提示, 那代表你这个文件之前没有保存就强制退 出了,触发了Vim的备份机制,产生了一个.文件名称.swp交换文件。

以后每次打开之前的文件就会产生上面的提示,解决方案:
①之前的修改不重要,可以直接删除的情况:rm.源文件名称.swp
②之前的修改很重要,需要先恢复内容,然后再解决报错问题
- 第一步:直接回车,切换到错误的底部,找到回复菜单,一般是R,恢复文件内容
- 第二步:针对找回的内容进行:x保存并退出
- 第三步:删除刚才产生的交换文件
6) 文件查看命令

综合案例
日志文件分析
1. 使用 cat 查看 /var/log/messages 的内容。
2. 使用 head 查看该日志文件的前20行。
3. 使用 tail 查看该日志文件的最新50行。
4. 使用 less 浏览该日志文件,查找 "error" 关键字。
5. 使用 wc 统计 /var/log/syslog 文件的行数、单词数和字符数。
# 1.使用 cat 查看 /var/log/messages 的内容。
cat /var/log/message
# 2. 使用 head 查看该日志文件的前20行。
head -20 /var/log/message
# 3. 使用 tail 查看该日志文件的最新50行。
tail -50 /var/log/message
# 4. 使用 less 浏览该日志文件,查找 "error" 关键字。
less /var/log/message # 进入 less 后按 /,输入 error 回车即可搜索。
# 5. 使用 wc 统计 /var/log/syslog 文件的行数、单词数和字符数。
wc -lwm /var/log/syslog # 行数、单词数、字符数
练习:查找和统计文件中的特定内容
# 1.使用 grep 命令查找所有包含 "timeout" 的行
grep timeout /var/log/messages
# ll | grep 可以将上一个执行结果运行到下一个应用
# 2.使用 wc -l 统计包含 "timeout" 的行数
grep timeout /var/log/messages | wc -l
# 3.使用 less 浏览包含 "timeout" 的日志,确保能查看到整个内容
grep "timeout" /var/log/messages | less
7) 文件解压缩
tar(tape archive)是一个用于打包和压缩文件的命令行工具。它可以将多个文件和目录打包成一个文件,也可 以 对这些文件进行压缩,减少存储空间。tar 命令广泛用于 Unix 和类 Unix 系统,包括 Linux 和 macOS。
tar命令:格式:tar [选项] 文件 ...


关于使用tar命令, 如何进行解压缩操作?
答: 解压: tar -xzvf 需解压的文件 [-C 解压目的地路径]
压缩: tar -czvf 压缩后的文件名字 需要压缩的文件或者目录列表...
关于 zip压缩包, 如何进行解压缩操作?
答: 解压: unzip 归档文件名.zip [-d 解压目录]
压缩: zip [-r] 归档文件名.zip 需要归档的文件列表
zip和unzip命令
作用: zip用于压缩, unzip进行解压 针对是zip压缩包
格式:
zip [-r] 归档文件名.zip 需要归档的文件列表
-r : 递归压缩
unzip 归档文件名.zip [-d 解压目录]
-d: 如果不指定, 表示解压到当前路径
练习:创建项目目录与日志管理
# 1-创建目录结构
mkdir -p /opt/web_project/src #存放代码
mkdir -p /opt/web_project/logs # 存放日志(保留最近7天日志)
mkdir -p /opt/web_project/backup # 存放备份
mkdir -p /opt/web_project/config # 存放配置文件
2-生成模拟日志
# 2-生成模拟日志
# 需求一:在logs/目录下创建3个日志文件,命名格式为access_2025-04-0{1..3}.log
cd /opt/web_project/logs
touch -d"2025-04-01 12:34:56" access_2025-04-01.log
touch -d"2025-04-03 12:34:56" access_2025-04-03.log
touch -d"2025-04-04 12:34:56" access_2025-04-04.log
# 需求二:在每个日志文件中写入5行文本,内容为"[INFO]Requestprocessedat 日期"
# 以写入access_2025-04-01.log为例
echo "[INFO] Request processed at 2025-04-01" >> access_2025-04-01.log
echo "[INFO] Request processed at 2025-04-01" >> access_2025-04-01.log
echo "[INFO] Request processed at 2025-04-01" >> access_2025-04-01.log
echo "[INFO] Request processed at 2025-04-01" >> access_2025-04-01.log
echo "[INFO] Request processed at 2025-04-01" >> access_2025-04-01.log
3-备份与清理
# 3- 备份与清理
# 需求一: 将logs/目录下所有以 2025-04-0 开头的日志文件,复制到backup/目录
cp /opt/web_project/logs/access_2023-08-0*.log /opt/web_project/backup/
# 需求二: 保留logs/目录中仅最近1天的日志(文件名日期最大的3个文件),其余删除 (rm直接删除即可)
find -mtime +1 -type f -exec rm -f {} \;
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)