Linux 使用基础
Linux 入门导览:理解多用户与文件级权限模型,看懂 FHS 目录结构与发行版谱系,掌握登录后第一时间要敲的那批最常用的命令。
Linux 的"难"很少出在命令本身。真正卡住新人的,是脑子里没有一张系统地图:它为什么主导了服务器领域、多用户多任务到底意味着什么、Debian 系和 Red Hat 系切换时哪些东西会变、SSH 登录之后头十分钟该敲哪些命令。这篇文章是整个 Linux 系列的入口导览,先把心智模型搭起来——哲学、发行版、FHS 目录树——然后过一遍你每天会用上几十次的命令:cd ls pwd、cp mv rm mkdir、cat less head tail、find grep,以及管道、重定向、SSH,还有权限和进程的最小集合。每个主题都点到为止,深入内容散落在专题文章里(文件权限、磁盘管理、用户管理、系统服务管理、进程管理、软件包管理、文件操作深入解析)。
为什么是 Linux,它为什么长成这样
新手能感受到的几乎所有 Linux 怪癖,都可以追溯到三个早期设计决定:它生来就要同时服务很多用户、它把文件当成万能接口、它假设你会写脚本而不是去点鼠标。
- 开放、可裁剪。 从内核到 init 系统,每个组件都能换、能重编、能裁剪。一个 5MB 的 Alpine 容器和一个 12GB 的 Oracle Linux 安装盘,都自称是 Linux。
- 稳到可以忽略它的存在。 生产服务器跑上几年不重启是常态。一台老机器
uptime打出up 412 days,没人会觉得稀奇。 - 包管理器才是第一安装方式。 你几乎不会去下载
.exe。apt、dnf、pacman、zypper会自动解决依赖、校验签名,一行命令就能升级整个系统。 - 一切皆文件。 磁盘在
/dev,进程在/proc,内核开关在/sys里靠写文件来切换。同一个cat和>,既能读 CPU 信息,也能控制 LED 亮度。 - CLI 优先,GUI 可选。 图形桌面(GNOME、KDE)当然有,但服务器一般通过 SSH 连进去靠纯文本驱动——这也正是它适合脚本化和远程批量管理的根本原因。
发行版谱系一览
绝大多数发行版都来自少数几个祖先。最快区分它们的方法就是看包管理器叫什么。

- Debian / Ubuntu 系 ——
apt。学习曲线最平缓,文档最全,云镜像默认选项。没有特殊原因就选 Ubuntu LTS。 - Red Hat / RHEL / CentOS / Rocky / Alma / Fedora 系 ——
yum(CentOS 7)或dnf(8+)。企业级首选。CentOS Linux 在 2021 年被砍掉之后,Rocky Linux 和 AlmaLinux 成了与 RHEL 二进制兼容的接班人。 - SUSE / openSUSE 系 ——
zypper。欧洲企业和 SAP 部署里常见。 - Arch / Manjaro 系 ——
pacman。滚动更新,软件最新,默认假设你会读 wiki。 - 独立派 —— Gentoo(什么都自己编译)、Alpine(musl + 5MB,容器场景的宠儿)、NixOS(声明式配置)、Void(不用 systemd)。
云上还要看厂商口味:AWS 推 Amazon Linux,阿里云推 Alibaba Cloud Linux,两者都是针对自家平台调优过的 RHEL 派生。
三个解释一切的核心理念
1. 多用户、多任务
同一时刻可能有几十个用户从 SSH 或本地 TTY 登进来,每人又跑着几十个进程。内核必须把他们的 CPU 时间、内存、文件、socket 隔开。这就是权限模型为什么要设计得这么严格——不然任何一个用户都能读到别人的密码、kill 掉别人的进程。
2. 以文件为核心的权限
每个文件(目录在 Linux 里也是一种特殊文件)都有三组权限——owner、group、others——每组各 3 位:读 (r)、写 (w)、执行 (x)。从左往右读这个权限串:
| |
有一个组合你必须立刻能认出:rw-------(八进制 600)是 SSH 私钥唯一允许的权限——其它任何模式 SSH 客户端都会拒绝使用这把私钥。
chmod/chown、八进制 vs 符号写法、SUID/SGID/sticky bit、ACL、umask的深入内容都在 《 Linux 文件权限》 专题里。这里的最小集合够你看懂ls -l的输出。
3. 一切皆文件
普通文件、目录、设备、进程、内核状态、管道、socket——它们都暴露同样的 read()/write() 接口。好处是同一套工具到处通用:
| |
只要一个东西能 cat 出来、能 > 写进去,基本就能脚本化。
文件系统地图(FHS)
Linux 没有 Windows 那种盘符。所有磁盘、U 盘、网络共享都被 挂载 到唯一的根 / 下面的某个位置。这套布局由 FHS(Filesystem Hierarchy Standard) 规范化。

最常打交道的两个目录是 /etc(配置)和 /var/log(日志)。把这条经验记牢:
- 服务起不来? —— 去
/var/log/<服务>/或journalctl -u <服务>。 - 配置不对? —— 去
/etc/<服务>/。 - 磁盘满了? ——
du -sh /* 2>/dev/null | sort -h先找出最大的一级目录。 - 找一个命令? ——
which <cmd>,通常在/usr/bin或/usr/local/bin。
几个第一天就该知道的小细节:
/root是 root 的家,不是/home/root。普通用户才在/home下面。/proc和/sys是虚拟的——它们只存在于内存里,是内核状态的视图。du -sh /proc没有意义。/tmp在大部分发行版上重启会清空(而且经常用tmpfs挂在内存里),任何重要文件都不要放这。
一条命令的解剖
Shell 把每一行命令解析成三类 token,靠空格分隔。

$ ls -l -a -h --color=auto /var/log /etc
^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^
| | | |
| | | 参数(要操作的对象)
| | 长选项(完整名字,--name=value)
| 短选项(单字母 flag,可以叠加成 -lah)
命令本身(要运行的程序)
三个习惯能省你很多时间:
-lah等价于-l -a -h。短选项可以叠在一起。- 路径里有空格或 shell 特殊字符的,全部加引号:
ls "/var/log my dir"。 - 不确定参数的时候问命令本身:
<cmd> --help看简表,man <cmd>看完整手册(/在手册里搜索,q退出)。
登上一台新机器后的头十分钟
你刚刚 SSH 进去。在动任何东西之前,先把这五个问题答完。
1. 我是谁?我能干什么?
Shell 提示符直接告诉你。看末尾那个字符:
| |
别用 root 干日常活。 用普通账号登录,要权限的时候再 sudo。审计日志(/var/log/auth.log 或 /var/log/secure)会记下每次 sudo 是哪个用户调的——大家都顶着 root 上的话,这条线索就丢了。
2. 我在哪?周围有什么?
| |
pwd(当前目录)配合 ls -lah(长格式、含隐藏文件、人类可读大小)基本就把环境看清楚了。
3. 这是什么系统?
| |
4. 系统压力大不大?
| |
负载(load average)是过去 1、5、15 分钟内 可运行 + 不可中断 的任务平均数。在 4 核机器上,持续高于 4.0 就意味着 CPU 顶到天花板了。
5. 网通不通?
| |
ip 多年前就替代了已经被废弃的 ifconfig/route/arp 三件套。教程里要是还在写 ifconfig,多数发行版有兼容包能跑,但你该学的是 ip。
文件与目录操作:日常词汇表
下面这些命令应该练到不用看键盘就能敲出来。下面这张分类速查表把常用命令按意图归了组。

导航
| |
一个值得知道的小技巧:pushd / popd / dirs 维护一个目录栈,可以一脚扎进很深的路径,然后一键跳回来。Tab 补全对所有路径都生效。
列出
| |
ll 在 Ubuntu/Debian 上是 ls -alF 的别名,很多人会自己加(在 ~/.bashrc 里 alias ll='ls -lah')。
创建与删除
| |
rm 没有回收站。 文件一旦 unlink,恢复要靠取证工具,而且经常救不回来。两个保命习惯:
- 在敲
rm <pattern>之前,先用ls <pattern>看一眼 会删掉哪些文件。 - 谨慎一点的话,在 shell rc 里加
alias rm='rm -i',每删一个文件都问一遍。 - 永远不要写
rm -rf "$VAR/"而不先确认$VAR有值;空的$VAR会让这条命令变成rm -rf /。现代 GNUrm默认会拒绝/(--preserve-root),但别指望它兜底。
复制与移动
| |
同一个文件系统内的 mv 其实只是改了一下目录条目——基本不耗时,没有数据被复制。跨文件系统的 mv 才相当于 cp + rm。
看文件内容
| |
tail -F 是边等请求过来边看日志的标准姿势。配合 grep --line-buffered ERROR 还能实时过滤。
不开编辑器的快速写入
| |
<<'EOF' 这种带引号的 heredoc 会禁用 shell 展开——$VAR 会被原样写入而不是替换成它的值。不加引号的话,变量会被替换。
找文件、找内容
两条命令覆盖九成场景:
| |
-rIn 这三个字母值得背下来:r 递归、跳过 bInary(大写 I)、显示 n 号。仓库特别大的时候 ripgrep(rg)是更快的替代品。
文件信息
| |
stat 区分了三个让新手晕的时间戳:atime(最后一次读)、mtime(最后一次内容修改)、ctime(最后一次元数据变化,比如 chmod)。ls -l 默认显示的是 mtime。
管道:把命令拼起来
管道 | 把上一个进程的 stdout 接到下一个进程的 stdin 上。中间不落盘,数据通过内核 buffer 一段一段地流过去。这是整个 Unix 工具链里最强大的一个想法。

举个实际例子:从 nginx 访问日志里找出错误响应排名前十的来源 IP。
| |
三个常配的重定向算子:
| |
2>&1 的意思是"把 fd 2 指向 fd 1 当前指向的位置"。顺序很关键:cmd 2>&1 > file 不能 把 stderr 写进文件;cmd > file 2>&1 才行。
管道、进程替换
<(...)、命名管道(FIFO)、用xargs做并行执行的深入用法在 《 Linux 文件操作深入解析》 专题。
SSH:登录远程机器
SSH(Secure Shell)是远程操作 Linux 的默认方式。所有流量都加密,默认走 TCP 22 端口,支持密码和公钥两种认证。
基本用法
| |
网络中断时终端会卡住。在新行开头敲 ~.(波浪号、点)可以从本地端强制断开。
公钥免密登录
更安全也更标准的做法。每台笔记本生成一对密钥,把 公钥 拷到所有要登的服务器上。
| |
公钥跑通之后,就该把 sshd 锁死:在 /etc/ssh/sshd_config 里把 PasswordAuthentication 改成 no,然后 reload 服务。全网都有机器人在 IPv4 段里扫接受密码登录的 sshd,把这个口子直接关掉。
安全加固清单
- 用 Ed25519 密钥(更快、更短、更现代),两端都新的话不要再用 4096 位 RSA。
- 关掉密码登录、关掉 root 登录(
PermitRootLogin no)。 - 装
fail2ban,自动封掉反复失败的来源 IP。 - 能在防火墙层面把 SSH 限制在已知源 CIDR,就限。
- 改默认端口只能减少扫描噪音,不是真正的安全措施。
服务管理(reload
sshd、开机自启)在 《 Linux 系统服务管理》 专题里讲。
权限和用户:两页讲完
看懂、改对权限
rwx 三元组的格式你已经会读了。chmod 有两种写法:
| |
值得背的几种常见模式:
| 模式 | 含义 | 典型用途 |
|---|---|---|
755 | rwxr-xr-x | 可执行文件、公开脚本 |
644 | rw-r–r– | 普通配置 / 源码文件 |
700 | rwx—— | 私有目录 |
600 | rw——- | SSH 私钥、密钥文件 |
400 | r——– | 只读密钥 |
SUID、SGID、sticky bit、ACL、
umask都在 《 Linux 文件权限》 专题。
切换用户:su 和 sudo
| |
现代默认是 sudo,因为它能记下 谁 在 什么时候 干了 什么,而且不需要分享 root 密码。Ubuntu 全新安装时的第一个用户会自动加进 sudo 组;RHEL 系上对应的是 wheel 组。
创建用户、组成员关系、密码策略、
useradd/usermod/userdel、/etc/passwd//etc/shadow的内部细节,全部在 《 Linux 用户管理》 专题。
进程,最小集合
| |
先用普通 kill,进程真的卡死了再上 kill -9。-9 是无法捕获的,进程没有机会 flush 缓冲、关 socket、释放锁——经常是状态损坏的根源。
CPU/内存/IO 监控(
vmstat、iostat、pidstat)、nice/renice、cgroup、OOM killer 都在 《 Linux 进程与资源管理》 专题。
包管理 30 秒入门
Linux 装软件靠包管理器,不是去下载安装包。
| |
为什么这套方式好:依赖会自动解决,每个包都被发行版签名校验过,一条升级命令覆盖整个系统。
源码编译、手动装
.deb/.rpm、其它生态(snap、flatpak、pip、npm)、第三方源管理在 《 Linux 软件包管理》 专题。
几个能救你命的习惯
改
/etc之前先备份。1sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F)一旦新配置把 SSH 弄坏,旧文件就一条
cp的距离。不要在唯一一个 SSH 连接上改 SSH 配置。 编辑
sshd_config之前再开 第二个 SSH 会话。如果改完之后新会话连不上,老会话还活着,可以立刻把改动撤回去。这条习惯救过无数个周末。下面这些命令请当成核武器对待:
rm -rf /—— 把整个宇宙抹掉(现代rm会拒绝,但请别测试)。dd if=/dev/zero of=/dev/sda—— 把整块硬盘清零,无法恢复。chmod -R 777 /—— 全局可写,整套系统的安全模型直接报废。> /etc/passwd—— 把用户数据库截断。系统能撑到下次重启。
动这些命令之前先用
ls、lsblk、cat把目标确认清楚。日志通常已经把答案告诉你了,先看日志。
1 2 3 4sudo tail -f /var/log/syslog # 通用(Debian/Ubuntu) sudo tail -f /var/log/messages # 通用(RHEL 系) sudo grep 'Failed password' /var/log/auth.log # SSH 暴力破解 sudo journalctl -u nginx -n 50 --no-pager # 单个服务的最近 50 行
下一步去哪儿
这篇文章只是给你一张地图。每个主题都有对应的深入文章,等你需要细节时再去翻:
- 《 Linux 文件权限》 —— SUID/SGID/sticky、ACL、
umask、权限继承。 - 《 Linux 用户管理》 ——
useradd、组、sudoers 语法、PAM、密码策略。 - 《 Linux 磁盘管理》 —— 分区、文件系统、挂载、LVM、RAID。
- 《 Linux 系统服务管理》 —— systemd unit、
journalctl、定时器。 - 《 Linux 软件包管理》 —— 软件源、GPG、源码编译、alternatives。
- 《 Linux 进程与资源管理》 —— 监控、cgroup、调度、OOM。
- 《 Linux 文件操作深入解析》 —— 管道、重定向、
xargs、tee、FIFO。
Linux 不是一次性学完的。开一台免费云主机(或者本地的 VirtualBox / Multipass / WSL2),打开终端,故意把东西搞坏——肌肉记忆建立得最快的方式就是这个。
参考资料
- The Linux Documentation Project —— 经典但稍显年代感的 Linux 文档库。
- Arch Linux Wiki —— 互联网上信噪比最高的 Linux 文档,远不止对 Arch 用户有用。
- The Linux Command Line, William Shotts —— 一本免费的、书长度的 shell 入门。
- Linux Performance, Brendan Gregg —— Linux 性能测量领域权威的资源页。
- Filesystem Hierarchy Standard 3.0 —— 目录布局的官方规范。