一切皆文件
在开始学习命令之前,Linux 的一个核心理念:“一切皆文件”,硬件设备、网络连接、进程、用户信息等在 Linux 中都被抽象为文件或目录,存放在 (根目录) 下的特定路径中,这个理念是理解许多命令的关键。

文件和目录操作
这是最基础、最常用的命令,几乎每天都会用到。
| 命令 | 全称 | 功能描述 | 常用示例 |
|---|---|---|---|
ls |
list | 列出目录内容 | ls -l (长格式显示), ls -a (显示隐藏文件), ls -h (人类可读格式) |
cd |
change directory | 切换当前工作目录 | cd /home (进入 home 目录), cd .. (返回上一级), cd ~ (进入用户主目录) |
pwd |
print working directory | 显示当前所在的完整路径 | pwd |
mkdir |
make directory | 创建新目录 | mkdir my_folder (创建一个目录), mkdir -p a/b/c (递归创建多级目录) |
touch |
- | 创建一个空文件或更新文件时间戳 | touch new_file.txt |
cp |
copy | 复制文件或目录 | cp file1.txt file2.txt (复制文件), cp -r dir1/ dir2/ (递归复制目录) |
mv |
move | 移动/重命名文件或目录 | mv old_name.txt new_name.txt (重命名), mv file.txt /path/to/dest/ (移动文件) |
rm |
remove | 删除文件或目录 | rm file.txt (删除文件), rm -r dir/ (递归删除目录), rm -f file.txt (强制删除,不提示) |
cat |
concatenate | 查看文件内容(一次性显示全部) | cat long_file.log |
less |
- | 分页查看文件内容(推荐,可上下翻页) | less long_file.log (按 q 退出) |
head |
- | 查看文件的开头部分 | head -n 20 file.txt (查看前20行) |
tail |
- | 查看文件的结尾部分 | tail -n 20 file.txt (查看后20行), tail -f file.log (实时追踪文件变化) |
文本处理
Linux 擅长处理文本,这些命令是“瑞士军刀”。
| 命令 | 全称 | 功能描述 | 常用示例 |
|---|---|---|---|
grep |
global regular expression print | 文本搜索,使用正则表达式匹配 | grep "error" /var/log/syslog (在syslog中搜索包含error的行) |
sed |
stream editor | 流编辑器,用于对文本进行查找、替换、删除等操作 | sed 's/old/new/g' file.txt (将文件中所有old替换为new) |
awk |
- | 强大的文本分析工具,按列处理文本 | awk '{print $1, $3}' file.txt (打印每行的第1和第3列) |
sort |
- | 对文本行进行排序 | sort -n file.txt (按数字排序), sort -nr file.txt (按数字逆序) |
uniq |
unique | 过滤掉相邻的重复行 | sort file.txt \| uniq (先排序,再去重,得到所有不重复的行) |
wc |
word count | 统计文件的行数、单词数和字节数 | wc -l file.txt (统计行数), wc -w file.txt (统计单词数) |
系统信息和监控
了解系统状态是管理和维护的基础。
| 命令 | 全称 | 功能描述 | 常用示例 |
|---|---|---|---|
top |
- | 实时显示系统中运行的进程和资源占用情况 | top (按 P 按 CPU 排序, M 按 内存 排序, q 退出) |
htop |
- | top 的增强版,界面更友好,交互更便捷 |
htop (需要先安装) |
ps |
process status | 查看当前运行的进程快照 | ps aux (查看所有用户的所有进程), ps -ef (另一种查看所有进程的方式) |
df |
disk free | 查看磁盘空间使用情况 | df -h (以人类可读的方式显示,如 GB, MB) |
du |
disk usage | 查看目录或文件所占用的磁盘空间 | du -sh /path/to/dir (显示目录总大小), du -sh * (显示当前目录下各文件/目录的大小) |
free |
- | 查看系统内存使用情况 | free -h (以人类可读的方式显示) |
uname |
unix name | 显示系统信息 | uname -a (显示所有信息,包括内核版本、主机名等) |
用户和权限管理
Linux 是多用户系统,权限管理是其核心安全机制。

| 命令 | 全称 | 功能描述 | 常用示例 |
|---|---|---|---|
chmod |
change mode | 修改文件或目录的权限 | chmod 755 script.sh (设置所有者可读写执行,组用户和其他用户可读执行), chmod +x script.sh (添加可执行权限) |
chown |
change owner | 修改文件或目录的所有者 | chown user:group file.txt (将文件所有者改为 user,所属组改为 group) |
sudo |
superuser do | 以超级用户(root)或其他用户的身份执行命令 | sudo apt update (使用 root 权限更新软件列表) |
su |
substitute user | 切换用户 | su - (切换到 root 用户), su - username (切换到指定用户) |
useradd / adduser |
- | 创建新用户 | sudo useradd -m testuser (创建一个 testuser 用户并创建其主目录), sudo adduser testuser (交互式创建) |
passwd |
- | 修改用户密码 | passwd (修改当前用户密码), sudo passwd testuser (修改 testuser 的密码) |
软件包管理
不同的 Linux 发行版使用不同的包管理器。
| 发行版 | 命令 | 描述 |
|---|---|---|
| Debian / Ubuntu | apt / apt-get |
sudo apt update (更新软件列表), sudo apt install package_name (安装软件), sudo apt remove package_name (卸载软件) |
| CentOS / RHEL / Fedora | yum / dnf |
sudo yum install package_name (安装软件), sudo dnf install package_name (新版 Fedora/CentOS 使用 dnf) |
| Arch Linux | pacman |
sudo pacman -S package_name (安装软件), sudo pacman -R package_name (卸载软件) |
网络工具
用于诊断网络和进行网络通信。
| 命令 | 全称 | 功能描述 | 常用示例 |
|---|---|---|---|
ping |
- | 测试与另一台主机的网络连通性 | ping google.com |
ip / ifconfig |
- | 查看和配置网络接口 | ip a (查看所有网络IP地址), ifconfig (旧版命令) |
ss / netstat |
- | 查看网络连接、路由表、接口统计等 | ss -tulnp (查看所有监听的TCP/UDP端口), netstat -tuln (旧版命令) |
curl |
client URL | 强大的网络传输工具,常用于下载或发送HTTP请求 | curl -O https://example.com/file.zip (下载文件), curl http://api.example.com (获取API内容) |
wget |
get web | 从网络上下载文件 | wget https://example.com/file.zip |
ssh |
secure shell | 安全地远程登录到另一台Linux主机 | ssh user@remote_host |
查找文件和内容
| 命令 | 全称 | 功能描述 | 常用示例 |
|---|---|---|---|
find |
- | 在文件系统中按名称、类型、大小等条件查找文件 | find /home -name "*.txt" (在 /home 目录下查找所有 .txt 文件), find . -type f -size +10M (在当前目录下查找大于10MB的文件) |
locate |
- | 快速查找文件(基于数据库,速度快) | locate my_file.txt (需要先运行 updatedb 更新数据库) |
学习建议
- 从
man开始:Linux 每个命令都有详细的帮助手册,在终端输入man <command>(man ls) 即可查看,这是最权威的学习资料。 - 多加练习:在虚拟机或 Docker 容器中创建一个练习环境,大胆地尝试这些命令,不用担心搞坏系统。
- 善用通配符: (匹配任意多个字符) 和 (匹配单个字符) 是你的好朋友。
rm *.tmp可以删除所有.tmp文件。 - 学习管道 :管道符可以将一个命令的输出作为另一个命令的输入。
cat /var/log/syslog \| grep "error",这极大地增强了命令的组合能力。 - 循序渐进:不要试图一次性记住所有命令,先掌握文件操作、查看信息等基础命令,再逐步学习更高级的文本处理和系统管理命令。
希望这份详细的清单能帮助您开启 Linux 命令行的探索之旅!

