一篇文章带你了解 Linux
前言
Linux 是一款开源、多用户、多任务的类 Unix 操作系统,广泛应用于服务器、嵌入式、云平台,后端、测试开发等相关工作。
本文整理 Linux 系统架构、Vim 编辑器核心操作、文件系统、软硬链接、权限管理、高频文件操作命令,覆盖日常运维开发基础场景。
一、Linux 系统整体组成
Linux 整体由四大模块构成:内核、系统库、Shell、应用程序

1. 内核(Kernel)
操作系统最核心,管理硬件资源,向上提供调用接口,主要模块:
- 设备驱动程序:对接硬件,管理外设
- 进程管理:调度 CPU 资源,管理进程生命周期
- 内存管理:虚拟内存分配、回收、内存隔离
- 文件系统:统一管理磁盘文件,屏蔽底层硬件差异
- 网络协议栈:实现 TCP/IP 等网络通信
2. 系统库
介于应用程序与内核之间,封装系统调用,简化开发:
- C 标准库:最基础系统库(glibc)
- 数学库、动态链接库、线程库、各类第三方库
3. Shell(命令解释器)
用户与操作系统内核交互的接口。接收用户输入命令,解析后传递给内核执行。我们日常使用的 bash、zsh 都属于 Shell。
4. 应用程序
运行在操作系统之上的各类软件,如vim、nginx、mysql 等。
二、Vim/Vi 编辑器详解
vi是 Unix 原生文本编辑器;vim 是 vi 的增强升级版,增加语法高亮、查找、复制粘贴、撤销等丰富功能。
命令:
vi filename文件存在:直接打开;文件不存在:新建并打开。
三大基础模式(重点是模式切换)
- 命令模式(默认进入) 打开文件默认处于该模式,用于光标移动、复制、删除、查找、切换其他模式。
- 插入模式(编辑模式) 真正编辑文本,输入字符写入文件;按下
ESC退回命令模式。 - 底行模式 命令模式按下
:进入,用于保存退出、全局替换、显示行号等操作;ESC退回命令模式。

模式切换速记
- 命令模式 → 插入模式:
i / a / oi:光标前插入;I:当前行首插入a:光标后插入;A:当前行尾插入o:光标下新建一行;O:光标上新建一行
- 命令模式 → 底行模式:输入
: - 插入 / 底行模式 → 命令模式:
ESC
命令模式常用快捷键
表格
| 按键 | 功能 |
|---|---|
h j k l |
光标左、下、上、右移动 |
^ |
快速跳转到行首 |
$ |
快速跳转到行尾 |
yy |
复制当前整行 |
dd |
删除当前整行 |
p |
粘贴内容 |
u |
撤销操作 |
/内容 |
向下查找;?内容向上查找,n切换匹配结果 |
底行模式高频指令
1.保存退出
:w 保存;:q 退出;:wq保存并退出;:q!强制不保存退出
2.文本替换
vim
:s/hello/world # 当前行,第一个hello替换成world
:s/hello/world/g # 当前行,所有hello替换world
:num1,num2 s/hello/world/g # 第num1~num2行范围内全局替换
3.辅助配置
:set number 显示行号
拓展:
~/.vimrc文件,存放 vim 永久自定义配置,打开编辑器自动生效。
三、Linux 文件系统基础
1. 目录结构
Windows:分盘结构(C 盘、D 盘)
Linux:树形结构,唯一根目录 /,所有文件、目录都挂载在根目录之下。
2. 路径概念
- 绝对路径:从根目录
/开始完整路径,如/home/user/test.txt - 相对路径:相对于当前目录;
.代表当前目录;..代表上一级目录 ~:代表当前用户家目录
3. 根目录常见核心目录
/bin:存放系统基础可执行命令/etc:系统、软件配置文件目录/home:普通用户家目录/sys:系统内核相关文件
4. 目录切换基础命令
bash
pwd # 查看当前所在目录
cd / # 切换到根目录
cd .. # 返回上一级目录
cd ~ # 回到用户家目录
四、Linux 常用文件操作命令
1. ls 列出目录内容
ls # 列出当前目录文件
ls -l # 展示详细信息(权限、所有者、修改时间)
ls -a # 显示隐藏文件(以.开头的文件)
ls -h # 人性化展示文件大小
ls -t # 按修改时间排序
ls -r # 倒序展示
2. 创建链接 ln
Linux 分为硬链接、软链接(符号链接)
ln 源文件 target # 创建【硬链接】
ln -s 源文件 target # 创建【软链接】
软硬链接核心区别
(1) 软链接(ln -s) 类似 Windows 快捷方式,存储目标文件路径;
- 删除原始文件,软链接失效;
- 支持指向文件、目录;可以跨分区。
(2)硬链接 同一文件的多个文件名,共享 inode;
- 删除源文件,硬链接依旧正常访问;
- 仅支持文件,不支持目录,不能跨分区。
3. 文件创建
touch test.txt
# 文件存在:更新文件时间戳;文件不存在:创建空文件
echo "内容" # 控制台直接打印文本
echo "hello" > test.txt # 覆盖写入文件
echo "hello" >> test.txt # 追加写入文件
4. 文件复制 cp
cp 源文件 目标文件 # 复制文件
cp -r 源目录 目标目录 # -r 递归复制目录(包含子目录)
5. 文件移动 / 重命名 mv
mv 源文件 目标路径
# 目标路径不存在 → 重命名;目标路径存在 → 移动文件
6. 删除 rm、rmdir
rm 文件名称 # 删除文件
rm -r 目录 # 递归删除目录(高危操作!谨慎使用)
rmdir 空目录 # 仅能删除空目录,目录有文件会报错
重要提示:Linux 默认没有回收站,删除文件很难恢复!
7. 目录创建 mkdir
mkdir dirname # 创建单层目录
mkdir -p /a/b/c # -p 自动创建多级嵌套目录
8. 查看文件大小与目录结构
du # 查看文件/目录占用磁盘大小
tree # 树形打印目录结构(部分系统需要额外安装)
9. 查看文件内容 cat
cat test.txt # 将文件全部内容输出到控制台
五、Linux 文件权限管理
1. 权限结构 ls -l
输出示例:-rw-r--r-- 权限分为三段:
- 所有者 (user):文件创建者权限
- 所属组 (group):同用户组其他成员权限
- 其他用户 (other):系统其余所有人权限
基础权限标识:
rread:可读,数字 4wwrite:可写,数字 2xexecute:可执行,数字 1-:无对应权限
2. chmod 修改权限
两种写法:符号模式 / 数字模式
方式 1:符号方式
# u=user,g=group,o=other,a=all全部用户
chmod u+x test.txt # 给文件所有者增加执行权限
chmod u-x test.txt # 移除所有者执行权限
方式 2:数字模式(工作最常用)
r=4,w=2,x=1,权限相加组合
chmod 777 test.txt # u=rwx,g=rwx,o=rwx,所有用户完全权限
chmod 644 test.txt # u=rw-,g=r--,o=r-- 普通文件标准权限
六、实用技巧与常见问题
1. 提高效率的 Shell 技巧
掌握以下技巧可以大幅提升 Linux 使用效率:
- 命令历史搜索:按
Ctrl + R搜索历史命令,再次按Ctrl + R向前搜索 - 快速清屏:
Ctrl + L或输入clear命令 - 命令补全:按
Tab键自动补全命令、文件名、路径 - 快速跳转:
cd -返回上一个工作目录 - 后台运行:命令后加
&让程序在后台运行,如python script.py &
2. 文件操作常见问题
Q1: 如何查看隐藏文件?
使用 ls -a 或 ls -la(显示详细信息)。Linux 中以 . 开头的文件为隐藏文件。
Q2: 如何查找文件?
find /path -name "filename" # 按名称查找
find /path -type f -name "*.txt" # 查找所有txt文件
find /path -mtime -7 # 查找7天内修改的文件
Q3: 如何查看文件类型?
使用 file 命令:file filename,可以识别文本、二进制、压缩包等文件类型。
Q4: 如何查看文件内容(分页)?
less filename # 分页查看,支持搜索(/关键词)
more filename # 分页查看,功能较简单
head -n 10 filename # 查看文件前10行
tail -n 10 filename # 查看文件后10行
tail -f logfile # 实时查看日志文件更新
3. 权限管理实战技巧
修改文件所有者
chown user:group filename # 修改所有者和所属组
chown user filename # 只修改所有者
chgrp group filename # 只修改所属组
特殊权限位
- SUID(Set User ID):文件执行时以所有者身份运行,如
chmod 4755 filename - SGID(Set Group ID):目录下新建文件继承目录所属组,如
chmod 2755 dirname - Sticky Bit:目录下文件只有所有者能删除,如
chmod 1777 /tmp
4. Vim 高级技巧
多窗口编辑
:split filename # 水平分割窗口
:vsplit filename # 垂直分割窗口
Ctrl+W + 方向键 # 切换窗口
:q # 关闭当前窗口
宏录制
q[寄存器] # 开始录制宏,如 qa
...操作序列... # 执行要录制的操作
q # 停止录制
@[寄存器] # 执行宏,如 @a
@@ # 重复上次执行的宏
批量注释/取消注释
# 注释多行(在命令模式)
:起始行,结束行 s/^/#/g # 添加#注释
:起始行,结束行 s/^#//g # 删除#注释
示例:注释第10-20行
:10,20 s/^/#/g
七、进阶学习建议
1. 生产环境注意事项
- 备份第一:重要操作前务必备份,可使用
cp -r或rsync - 权限最小化:遵循最小权限原则,不要随意使用
chmod 777 - 日志监控:定期检查
/var/log/下的系统日志 - 版本控制:配置文件修改前使用 Git 或备份,便于回滚
- 安全加固:定期更新系统、使用强密码、配置防火墙
2. 面试准备要点
Linux 相关岗位面试常考内容:
- 基础命令:文件操作、权限管理、进程查看(
ps、top) - Shell脚本:变量、循环、条件判断、函数编写
- 系统管理:用户管理、磁盘管理、网络配置
- 故障排查:日志分析、性能监控、常见问题解决思路
- 原理理解:进程与线程区别、内存管理机制、文件系统原理
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)