Linux 核心概念
FreeGuideOnline
最新
2026-07-15
bash echo $SHELL # 查看当前使用的 Shell cat /etc/shells # 查看系统安装了哪些 Shell man bash # 查看 Bash 的手册
掌握 Shell 是学习 Linux 的第一步,你发出的每一个命令都会经过它的解析。
---
## 2. 文件系统:一切皆文件
Linux 中最具颠覆性的哲学之一:**一切皆文件**。普通文件、目录、键盘、硬盘,甚至进程信息,都以文件的形式呈现。
### 虚拟文件系统(VFS)
Linux 通过 VFS 抽象层,让不同文件系统(ext4、XFS、NTFS、网络文件系统)对上层的用户程序呈现统一的接口。你不需要关心底层是机械硬盘还是固态硬盘,`cat` 命令的工作方式完全相同。
### 目录结构标准(FHS)
根目录 `/` 下这些关键目录一定要记住:
- `/bin`:系统基础命令(如 `ls`, `cp`)
- `/boot`:启动引导相关文件,内核镜像 vmlinuz 在此
- `/dev`:设备文件,如 `/dev/sda` 代表第一块硬盘
- `/etc`:系统级别的配置文件(**几乎是管理的起点**)
- `/home`:普通用户的家目录,个人数据和配置都在这里
- `/proc`:虚拟文件系统,存放运行中的内核和进程信息(如 `/proc/cpuinfo`)
- `/tmp`:临时文件,重启后通常被清空
- `/var`:经常变化的数据,如日志、邮件队列
### 理解挂载(Mount)
与 Windows 的盘符(C:、D:)不同,Linux 只有一个根文件系统树。新的硬盘分区、U 盘不是凭空出现,而是需要“挂载”到某个目录(挂载点)。
例如,把第二块硬盘挂载到 `/mnt/data`,之后访问 `/mnt/data` 就是在操作这块硬盘。
---
## 3. 用户与权限:安全基石
Linux 是一个多用户系统,权限隔离是其安全模型的核心。
### 用户与组
- **用户(User)**:每个用户拥有唯一的 UID。root 用户的 UID 为 0,拥有至高权限。
- **组(Group)**:每个用户属于至少一个组,组的权限可以分配给组内所有成员。
- 运行 `whoami`、`id` 可查看当前用户信息。
### 文件权限模型
使用 `ls -l` 看到的一串字符 `-rw-r--r--` 是权限的核心表达:
- rw- r-- r-- │ │ │ │ │ 所属主 所属组 其他人 文件类型 (- 普通文件, d 目录, l 符号链接)
- `r` (4):读权限
- `w` (2):写权限
- `x` (1):执行权限(对目录而言,x 表示可以进入)
### 修改权限
```bash
chmod u+x script.sh # 给文件所有者添加执行权限
chmod 755 mydir # 数字模式:rwxr-xr-x
chown user:group file # 修改文件的所有者和所属组
最佳实践:永远避免用 root 身份执行日常操作,使用 sudo 临时提权。
4. 进程管理:系统的活细胞
进程是正在执行的程序实例,是分配系统资源的基本单位。
进程的属性
每个进程拥有唯一的 PID,以及父进程 PPID。Linux 的初始进程(PID 1)通常是 systemd 或 init,所有其他进程都由它直接或间接派生。
进程状态
- 运行(R):正在运行或排队等待运行
- 睡眠(S):可中断的等待(等待输入、资源等)
- 磁盘睡眠(D):不可中断的睡眠,通常等待 I/O
- 僵尸(Z):进程已终止,但父进程未回收其资源,需要留意
- 停止(T):被作业控制信号暂停
常用查看与管理命令
ps aux # 查看全部进程的详细快照
top # 动态实时显示进程
htop # top 的增强版(更直观)
kill -9 PID # 强制杀死进程(慎用)
kill -15 PID # 优雅终止进程
jobs # 查看当前终端后台任务
bg / fg # 后台/前台切换任务
理解进程有助于你定位性能瓶颈、卡死问题和后台服务管理。
5. 内存管理:虚拟内存与缓存
不要被 free 输出吓到——Linux 喜欢用尽空闲内存作为缓存,这恰恰是高效的表现。
虚拟内存
每个进程拥有自己独立的虚拟地址空间,通过内核的 MMU 映射到物理内存或磁盘上的交换空间(Swap)。这样进程之间不会互相干扰,也实现了更灵活的内存使用。
缓存与缓冲
- Page Cache:缓存文件内容,加速读写。
- Buffer:缓存磁盘块的元数据。
- 当应用程序需要更多内存时,内核会主动回收干净的缓存页,不会影响正常运行。
查看内存使用
free -h # 查看总量、已用、空闲、缓冲/缓存
cat /proc/meminfo # 详细的内存信息
vmstat 1 # 定期监视虚拟内存活动
记住:available 的值才是真正可用于新程序的内存。
6. 软件包管理:轻松安装世界
Linux 告别了“下载-双击-下一步”的安装方式,采用软件包管理器统一管理软件。
两大流派
- Debian 系(Ubuntu、Debian):
apt/dpkgsudo apt update # 更新软件源索引 sudo apt install nginx # 安装软件 sudo apt remove --purge nginx # 卸载并删除配置文件 - Red Hat 系(Fedora、Rocky Linux):
dnf/yum/rpmsudo dnf check-update sudo dnf install nginx sudo dnf remove nginx
软件源
位于 /etc/apt/sources.list 或 /etc/yum.repos.d/ 下,定义了从哪些远程仓库获取软件包和更新。保持源在稳定可靠状态是系统安全的基础。
7. 网络基础:管道连接世界
Linux 天生为网络而生,所有网络接口也可以视为文件(/dev 下的设备或 socket)。
查看与配置
ip addr show # 查看所有网络接口及 IP 地址
ip route show # 查看路由表
ping -c 4 8.8.8.8 # 测试连通性
ss -tlnp # 查看所有监听的 TCP 端口和对应进程