二、Linux命令3要素及系统结构+文件的增删改查

学习目标

  • 掌握命令的3要素
  • 掌握help和man命令帮助查询
  • 掌握增删改查文件命令
  • 掌握Linux系统结构

一、Vim 编辑器基础使用

1. 编辑文件操作流程

复制代码
# 打开/新建文件,不存在则自动新建,存在则直接打开
vim /root/name

完整操作步骤:

  1. 按下 i → 进入插入编辑模式,可输入文字
  2. 输入自定义内容
  3. 按下 ESC → 退出编辑模式
  4. Shift + : 进入底行模式
  5. 输入 wq 回车 → 保存并退出

2. Vim 核心规则

  • 后跟已有文件:直接打开、编辑原有内容
  • 后跟不存在文件 :临时编辑,执行 wq 才会真正创建文件,不保存则不生成
  • 修改文件和新建文件操作完全一致,进入后改内容再保存即可

二、history 历史命令管理

1. 基础查看

复制代码
history
  • 所有执行过的命令都会记录
  • 新开终端历史记录条数不一致是正常现象
  • 命令先存入内存,不自动永久落地

2. 历史记录持久化

  • 历史记录保存文件:~/.bash_history

  • 手动把内存历史写入文件永久保存:

    history -w

3. 快捷调用历史命令

  1. !数字:执行对应编号历史命令

    !53

  2. !开头字符:调用最近一条以该字符开头的命令

    !i # 快速执行最近的 ifconfig

  3. Ctrl + r:关键字反向搜索历史命令,多次按可切换匹配结果


三、Tab 键自动补全

  1. 可补全范围:系统命令、命令选项、文件路径、参数
  2. 按 1 次 Tab:唯一匹配直接自动补全
  3. 按 2 次 Tab:列出所有同前缀命令/文件供选择
  4. 核心价值:提升输入效率、杜绝命令拼写错误

四、Linux 命令三要素(必背)

标准语法结构

命令 + 选项 + 参数

  1. 命令:要做什么动作

示例:ls 罗列文件、vim 编辑文件、useradd 创建用户、passwd 修改密码

  1. 选项:对命令功能做补充修饰
  • 短格式:单横线 --l -a
  • 长格式:双横线 ----all
  • 规则:短选项大多对应长选项,不是所有长选项都有短选项
  1. 参数:命令操作的对象

可以是:文件、目录、路径、用户名、软件名等

示例:ls -l /root

命令:ls 选项:-l 参数:/root

通用分隔规则

命令、选项、参数、互相之间必须用空格隔开


五、Linux 命令帮助查询大全

1. --help 内置帮助

复制代码
命令 --help
# 示例
ls --help
date --help

语法符号说明:

  • [] 代表可选内容
  • < >可选项,但是具备默认值,不写的话就是用默认值,写的话就覆盖这个默认值 如<accountName>
  • 大写英文为必填项
  • | 代表多选一,无论选哪个都一样
  • ... 代表可跟多个参数
  • +FORMAT 代表固定格式化输出
bc计算器
复制代码
bc
Date 时间实战

多参数用放冒号""里面

复制代码
# 自定义设置系统时间
date -s "2028-12-10 18:36:55"
date 

# 标准格式化输出:年-月-日 时:分:秒
date +"%F %T"

# 查看指定时间,不修改系统时间
date -d '2025-12-12 12:39:45' +"%F %T"

2. whatis 快速查命令作用

查看man手册标题

复制代码
whatis rm
whatis ls

报错 nothing appropriate 执行重建帮助数据库:

复制代码
mandb

3. man 官方帮助手册

Linux 最权威自带帮助文档,分 9 大常用章节:

|----|------------|
| 章节 | 用途 |
| 1 | 普通终端命令帮助 |
| 5 | 系统配置文件格式说明 |
| 8 | 系统管理员专用命令 |

常用操作:

复制代码
man man          # 查看man章节介绍
man 5 passwd     # 查看第五章节passwd /etc/passwd文件格式
man -k passwd    # 按关键字搜索相关手册

Man 手册快捷键:

  • /关键词:向下搜索关键字
  • n 跳到下一个匹配
  • N 跳到上一个匹配
  • q 退出手册

4. info / pinfo 手册

  • pinfo 带颜色高亮,阅读更友好;info 无高亮

  • 部分冷门参数 man 没有,info 才有

  • 若无对应文档,自动兼容跳转 man 手册

    info date

5. /usr/share/doc 软件官方文档

所有软件安装后自带帮助文档默认存放目录:

复制代码
ls /usr/share/doc/vsftpd/

桌面环境可浏览器打开查看:

复制代码
file:///usr/share/doc

适合查软件配置、案例、官方说明。


六、Linux 文件系统整体结构

核心两大特性

  1. 单根倒置树状结构 :所有资源都从根目录 / 开始
  2. Linux 一切皆文件:磁盘、网卡、CPU、进程、硬件设备全部抽象为文件
  3. 区分大小写

根目录核心目录详解

|----------|-------------------------------------|
| 目录 | 核心作用 |
| /boot | 系统内核、启动引导文件,系统开机依赖 |
| /etc | 全局配置中心,系统、软件所有配置文件都在这里 |
| /media | 临时挂载目录 |
| /root | root 超级管理员专属家目录 |
| /home | 所有普通用户默认家目录存放地 |
| /dev | 设备文件目录:硬盘、分区、键鼠、外设都在这里 |
| /proc | 实时内核、进程、硬件信息,重启自动清空 |
| /sys | 系统运行状态文件,硬件管理相关,重启重置 |
| /run | 进程 PID、套接字临时文件,系统运行临时数据 |
| /tmp | 全局临时目录,所有用户可读可写,存放临时文件 |
| /opt | 第三方软件、安装包、自建程序推荐存放目录 |
| /usr | 系统命令、库文件、应用程序核心目录,/usr/local 放第三方软件 |
| /var | 日志目录、缓存、网站数据、FTP 服务数据存放地 |

快捷目录关联

/bin /sbin /lib /lib64 均为 /usr 下对应目录的快捷方式。

详情:

/boot/:启动引导目录,目录下保存着系统的内核文件vmlinuz

第一个是救援内核,第二个是正常内核,我们可以通过uname -r这个命令来查看当前系统内核版本5.14为正常启动的内核文件,另外一个则是救援内核,可以理解为相当于系统给你备份了一个内核,两个文件没什么区别

存在俩个,一个是正常的vmlinuz,一个是救援的vmlinuz

二者没有任何的区别,当正常内核故障可以通过救援内核进入系统

/boot/grub2/grub.cfg提供了启动的菜单页面

/分区和/boot分区是磁盘上的俩个分区,但是!它们都是从/出发的

/etc/:系统的配置目录;系统相关的配置文件,还有软件相关的配置文件都在这里

/etc/hostname:主机名文件

复制代码
[root@localhost /]# hostname
localhost.localdomain
修改主机名
复制代码
[root@localhost /]# hostnamectl  set-hostname 123
[root@localhost /]# bash
#bash后生效
复制代码
[root@123 ~]# vim /etc/hostname
[root@123 ~]# reboot 
#重启生效

无论做的什么操作,最终都是修改对应的文件

/etc/selinux/config:SELinux配置文件

/etc/passwd:用户信息文件

/etc/shadow:用户密码文件

/etc/ssh/sshd_config:ssh远程登录文件

/media:临时挂载点

/opt/:存放的是第三方软件文件(软件的安装包)

/root/:root用户的家目录

/sys/:保存的是系统运行时状态的文件(一旦机器重启,目录下的东西就会重置。所以不建议把用户的文件存储到/sys目录下)

/run/:保存的是系统运行时状态的文件(比如一些程序运行时的套接字文件...进程的PID文件)

/proc/:保存的是系统运行时状态的文件(进程信息、硬件信息-CPU(/proc/cpuinfo )、内存、磁盘、分区、文件系统...)一旦机器重启,目录下的东西就会重置。

/usr/:

/bin、/sbin、/lib、/lib64目录其实都是/usr目录下的快捷方式

/bin:保存着系统中用户执行的命令文件(二进制文件)

实际上,执行的每个命令,其实也是文件

/sbin:保存着系统中超级管理员执行的命令文件(二进制文件)

/lib和/lib64保存的是一些命令执行的时候会调用的一些依赖库文件

/bin是/usr/bin的快捷方式

/sbin是/usr/sbin的快捷方式

/lib是/usr/lib的快捷方式

/lib64是/usr/lib64的快捷方式

/usr/local:保存的是第三方软件的安装目录

/usr/local/finalshell

/usr/local/xshell

/usr/local/mobaxterm

/dev:device 设备,存储了系统的设备文件

磁盘文件、磁盘分区后的文件

外接的鼠标、键盘、显示器...

/home:保存的是普通用户的家目录

/srv:service服务。空目录,保存的是一些服务变化的数据

网站的数据文件

文件服务器的数据文件

.....

/tmp:系统上所有用户都可以进行读写的目录。

所有用户的文件都可以存储到/tmp目录下,共享目录,不过只有用户自己才能删除和修改自己的文件

程序运行时候产生的一些临时文件

/var/:系统日志所在的目录/var/log,某些程序的缓存数据/var/cache

网站的默认测试访问文件/var/www/html

FTP服务器的默认访问目录



整体学习总结

1. 核心思想总结

  1. Linux 遵循一切皆文件设计理念,硬件、进程、配置全部以文件形式管理;
  2. 所有命令统一遵循 命令+选项+参数 三要素格式,空格分隔是硬性规范;
  3. 熟练使用 Tab 补全、history 历史命令、Ctrl+r 搜索,能极大提升终端操作效率;
  4. 遇到不会的命令优先用 --helpwhatisman 自查,不用死记硬背;
  5. Linux 目录是单根树结构,熟记核心目录作用,是后续服务部署、权限管理、排错的基础;
  6. Vim 是 Linux 标配编辑器,记住 i 编辑、ESC 退出、:wq 保存退出 即可满足日常配置修改。

2. 学习建议

  1. 先记命令格式、再记常用选项,不要死记所有参数;
  2. 多敲多练,利用 Tab 补全减少记忆压力;
  3. 遇到陌生命令优先自查帮助文档,培养自主排错能力;
  4. 理解目录结构和文件类型,为后续权限、用户、服务部署打好基础。
相关推荐
heimeiyingwang1 小时前
【架构实战】搜索系统架构设计:从精准匹配到智能推荐
运维·架构·jenkins
zzzyyy5381 小时前
System V IPC 全链路深度解析 —— 从信号量原子性到内核多态再到物理内存共享
linux·服务器
不吃土豆的马铃薯2 小时前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法
Agent手记2 小时前
医药代表拜访计划能否通过AI自动生成优化?2026Agent自动化实战解析
运维·人工智能·ai·自动化
零号全栈寒江独钓2 小时前
c++跨平台实现日志重定向
linux·c++·windows
ID_180079054732 小时前
(淘宝 / 京东)商品评论 API 接口:技术实战案例与架构分析
服务器·数据库·架构
爱莉希雅&&&2 小时前
Zabbix监控初步搭建
linux·运维·数据库·mysql·zabbix
叠叠乐2 小时前
红米redmi k90 pro max alsc 冠军版刷TWRP
linux
JackSparrow4142 小时前
使用Ansible批量管理+更新产品环境服务器配置
运维·服务器·ci/cd·kubernetes·自动化·ansible·sre