🐧 Linux 命令行
用于导航、文件、进程、网络、监控、软件包和自动化的基础和高级命令。适用于 DevOps 工作流。
🔹 基本命令
命令 |
示例 |
描述 |
|---|---|---|
cat |
显示文件内容或连接多个文件 | |
cat file.txt |
查看文件内容 |
|
cat file1 file2 |
连接并输出两个文件 |
|
cat file1 file2 > merged.txt |
连接文件并保存到新文件 |
|
cd |
切换当前工作目录 | |
cd /etc |
进入绝对路径 |
|
cd ~ |
进入主目录 |
|
cd .. |
返回上一级目录 |
|
cd - |
返回上一个目录 |
|
clear |
清除终端屏幕 | |
cp |
复制文件和目录 | |
cp file1.txt file2.txt |
复制文件并使用新名称 |
|
cp -r dir1 dir2 |
递归复制目录 |
|
cp -i file.txt /tmp/ |
覆盖前提示确认 |
|
echo |
打印字符串或环境变量 | |
echo "Hello, World!" |
打印简单字符串 |
|
echo $HOME |
显示主目录路径 |
|
echo -e "1\t2\n3" |
解释转义序列 ( ) |
|
history |
显示命令历史 | |
id |
显示当前用户的 UID、GID 和组成员 | |
ls |
列出文件和目录 | |
ls -l |
长列表,包含权限和所有者 |
|
ls -a |
显示隐藏文件 |
|
ls -lh |
人类可读的文件大小 |
|
mkdir |
创建目录 | |
mkdir folder |
创建单个目录 |
|
mkdir -p a/b/c |
创建嵌套目录 |
|
mkdir dir{1,2,3} |
一次创建多个目录 |
|
mv |
移动或重命名文件/目录 | |
mv oldname.txt newname.txt |
重命名文件 |
|
mv file.txt /path/to/dir/ |
将文件移动到其他目录 |
|
mv *.txt archive/ |
移动所有 |
|
pwd |
打印当前工作目录 | |
pwd -P |
显示物理路径(不解析符号链接) |
|
cd /tmp && pwd |
切换到 |
|
rm |
删除文件或目录 | |
rm file.txt |
删除文件 |
|
rm -i file.txt |
删除文件并确认 |
|
rm -r folder/ |
递归删除目录 |
|
rm -rf folder/ |
强制删除不确认 |
|
rmdir |
删除空目录 | |
rmdir emptydir |
删除 |
|
touch |
创建空文件或更新修改时间 | |
touch newfile.txt |
不存在时创建新空文件 |
|
touch a b c |
一次创建多个文件 |
|
touch -c file.txt |
仅更新时间,即使文件不存在也不创建 |
|
whereis |
查找命令的二进制文件、源码和手册页 | |
whereis ls |
查找 |
|
whereis bash |
显示 Bash 二进制文件和文档路径 |
|
whereis -b bash |
仅搜索二进制文件 |
|
which |
显示命令的可执行路径 | |
which python3 |
显示 |
|
which grep |
显示 |
|
which --skip-alias ls |
忽略别名进行搜索 |
|
whoami |
打印当前有效用户名 |
🔸 中级命令
命令 |
示例 |
描述 |
|---|---|---|
chmod |
更改文件或目录权限 | |
chmod 755 file |
用八进制表示法设置权限 (如 755) |
|
chmod +x script.sh |
为脚本添加执行权限 |
|
chmod -R 644 dir/ |
递归设置目录权限 |
|
chown |
更改文件所有者和组 | |
chown user file |
更改文件的所有者 |
|
chown user:group file |
更改所有者和组 |
|
chown -R user:group dir/ |
递归更改所有者和组 |
|
curl |
从服务器传输数据(HTTP、HTTPS 等) | |
curl -I https://example.com |
发送 HEAD 请求(仅返回头部) |
|
curl -O https://example.com/file.txt |
下载文件并保留原始名称 |
|
curl -d "a=1&b=2" -X POST URL |
发送带表单数据的 POST 请求 |
|
df |
显示文件系统磁盘空间使用情况 | |
df -h |
人类可读的单位 |
|
df /home |
显示指定挂载点的使用情况 |
|
df -T |
显示文件系统类型 |
|
diff |
比较文件或目录 | |
diff file1 file2 |
比较两个文件 |
|
diff -u old.c new.c |
统一 diff(补丁风格) |
|
diff -r dir1 dir2 |
递归比较目录 |
|
du |
估算文件和目录空间使用情况 | |
du -sh * |
显示当前目录下项目大小 |
|
du -h file.txt |
显示单个文件大小 |
|
du -sh --max-depth=1 /var |
汇总顶层子目录大小 |
|
find |
按名称、大小、时间等搜索文件/目录 | |
find . -name "*.log" |
查找当前目录下所有 |
|
find / -type f -size +100M |
查找大于 100 MB 的文件 |
|
find . -mtime -1 |
查找最近一天修改的文件 |
|
free |
显示已用和可用内存 | |
free -h |
人类可读的内存单位 |
|
free -m |
以 MB 显示数值 |
|
watch -n 2 free -h |
每 2 秒刷新一次输出 |
|
grep |
使用正则表达式搜索文本 | |
grep "error" logfile |
查找包含 |
|
grep -r "error" /var/log |
递归搜索目录 |
|
grep -i "fail" file |
忽略大小写搜索 |
|
head |
输出文件的开头部分 | |
head -n 10 file |
前 10 行 |
|
head -n 20 file.txt |
前 20 行 |
|
head -c 100 file |
前 100 字节 |
|
hostname |
显示或设置系统主机名 | |
hostname newname |
临时设置主机名,重启后失效 |
|
hostname -I |
显示 IP 地址 |
|
kill |
向进程发送信号 | |
kill -9 1234 |
强制结束指定 PID 的进程 |
|
kill -TERM 1234 |
用 SIGTERM 优雅终止 |
|
pkill -f python |
结束匹配模式的进程 |
|
ping |
使用 ICMP 回显请求检查网络连通性 | |
ping 8.8.8.8 |
Ping 一个地址 |
|
ping -c 4 ya.ru |
发送 4 个数据包 |
|
ping -i 2 1.1.1.1 |
设置 2 秒间隔 |
|
ps |
显示进程状态 | |
ps aux |
列出所有进程 |
|
ps -ef | grep nginx |
用 |
|
ps -u $USER |
仅显示当前用户的进程 |
|
rsync |
快速增量文件传输 | |
rsync -av src/ dst/ |
本地目录同步 |
|
rsync -avz user@host:/src /dst |
通过 SSH 与远程主机同步 |
|
rsync --delete src/ dst/ |
删除目标中源中缺失的文件 |
|
scp |
安全复制(远程文件复制程序) | |
scp file user@host:/path |
复制文件到远程主机 |
|
scp user@host:/file.txt . |
从远程主机复制文件 |
|
scp -r dir user@host:/path |
递归复制目录 |
|
sort |
对文本行进行排序 | |
sort file.txt |
按字母排序 |
|
sort -r file.txt |
逆序排序 |
|
sort -n numbers.txt |
数字排序 |
|
tail |
输出文件的结尾部分;可实时跟踪变化 | |
tail -f logfile.log |
实时跟踪日志 |
|
tail -n 20 file.txt |
显示最后 20 行 |
|
tail -c 100 file.txt |
显示最后 100 字节 |
|
tar |
创建、列出或解压 tar 压缩包 | |
tar -czf archive.tgz dir/ |
创建压缩的 |
|
tar -xzf archive.tgz |
解压 |
|
tar -tf archive.tgz |
列出压缩包内容 |
|
tee |
从标准输入读取并写入标准输出和文件 | |
echo "test" | tee out.txt |
将输出写入 |
|
ls | tee list.txt |
保存 |
|
command | tee -a log.txt |
追加输出到 |
|
top |
显示 Linux 任务(交互式进程查看器) | |
top |
启动 top |
|
htop |
替代交互式查看器 (htop) |
|
top -o %MEM |
按内存使用排序 |
|
uptime |
显示系统运行时间 | |
uptime -p |
友好格式的运行时间 |
|
uptime -s |
系统启动时间 |
|
wget |
非交互式网络下载工具 | |
wget https://site.com/file.zip |
通过 URL 下载文件 |
|
wget -c file.zip |
恢复中断的下载 |
|
wget -O saved.txt URL |
另存为不同的文件名 |
|
wc |
统计文件的行数、单词数和字节数 | |
wc -l file |
统计行数 |
|
wc -w file |
统计单词数 |
|
wc -m file |
统计字符数 |
|
uniq |
报告或过滤重复行(相邻重复) | |
uniq file.txt |
删除相邻重复行 |
|
sort file | uniq |
排序后删除重复行 |
|
sort file | uniq -c |
统计每行出现次数 |
|
yes |
不断输出字符串直到结束;常用于脚本 | |
yes "y" | command |
始终回答 “y” |
|
yes | rm -i * |
自动确认交互式删除 |
|
yes no | command |
回答 “no” |
🔧 高级命令
命令 |
示例 |
描述 |
|---|---|---|
at |
计划在指定时间运行一次性命令 | |
at now + 1 minute |
在一分钟后运行命令 |
|
atq |
列出待处理的作业 |
|
atrm |
删除待处理的作业 |
|
awk |
模式扫描和处理语言 | |
awk '{print $1}' file |
打印第一列 |
|
ps aux | awk '$3 > 50' |
按 CPU 使用率过滤进程 |
|
cat file.txt | awk '{print $2}' |
打印每行的第二个字段 |
|
awk '/error/ {print $0}' logfile |
打印匹配模式的行 |
|
crontab |
安装、列出或删除用户的 cron 作业 | |
crontab -e |
编辑当前用户的 crontab |
|
crontab -l |
列出 cron 作业 |
|
crontab -r |
删除当前用户的 crontab |
|
cut |
删除或选择文件中每行的部分内容 | |
cut -d':' -f1 /etc/passwd |
打印 |
|
echo "a:b:c" | cut -d':' -f2 |
使用 ‘:’ 作为分隔符切割第二个字段 |
|
cut -c1-5 filename |
按字符位置选择 |
|
df |
报告文件系统磁盘空间使用情况 | |
df -h |
人类可读的大小 |
|
df -T |
显示文件系统类型 |
|
df /home |
显示主目录的使用情况 |
|
env |
在修改后的环境中运行命令或打印环境变量 | |
env | grep PATH |
显示 PATH 条目 |
|
env -i bash |
启动一个干净的空环境 shell |
|
export |
为当前 shell/会话设置环境变量 | |
export VAR=value |
为此 shell 设置变量 |
|
export PATH=$PATH:/new/path |
将目录追加到 PATH |
|
export -p |
列出已导出的变量 |
|
free |
显示内存使用情况 | |
free -m |
以 MB 显示 |
|
free -h |
人类可读的单位 |
|
free -s 5 |
每 5 秒采样一次 |
|
hostnamectl |
查询和更改系统主机名及相关设置 | |
hostnamectl status |
显示主机名状态 |
|
hostnamectl set-hostname newname |
设置新的静态主机名 |
|
ifconfig / ip |
用于查看/管理接口和地址的 IP 工具 | |
ifconfig |
显示网络接口(旧版) |
|
ip a |
使用 |
|
ip link set eth0 up |
启用一个接口 |
|
iostat |
报告 CPU 和 I/O 统计信息 | |
iostat -x 2 |
每 2 秒显示扩展统计信息 |
|
iostat -d 5 3 |
设备统计(间隔 5 秒,3 次报告) |
|
iptables |
IPv4 包过滤和 NAT 管理工具 | |
iptables -L |
列出当前规则 |
|
iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
允许 22 端口的 SSH 连接 |
|
iptables -F |
清空所有规则 |
|
journalctl |
查询 systemd 日志 | |
journalctl -xe |
显示带上下文的最近错误 |
|
journalctl -u nginx.service |
显示某个服务的日志 |
|
journalctl --since "2 hours ago" |
显示自相对时间以来的日志 |
|
ln |
在文件之间创建链接 | |
ln -s target link |
创建符号链接 |
|
ln file.txt backup.txt |
创建硬链接 |
|
ln -sf target link |
强制重新创建符号链接 |
|
sed |
流编辑器,用于过滤和转换文本 | |
sed 's/old/new/g' file |
全局替换字符串 |
|
sed -n '1,5p' file |
仅打印某个范围的行 |
|
sed '/pattern/d' file |
删除匹配的行 |
|
systemctl |
控制 systemd 系统和服务管理器 | |
systemctl status nginx |
显示服务状态 |
|
systemctl start nginx |
启动服务 |
|
systemctl enable nginx |
开机时启用服务 |
|
tr |
转换或删除字符 | |
tr a-z A-Z |
将小写字母转换为大写字母 |
|
echo "hello" | tr 'h' 'H' |
替换字符 |
|
echo "abc123" | tr -d '0-9' |
删除数字 |
|
type |
描述 shell 如何解析名称 | |
type ls |
显示 |
|
type cd |
显示 |
|
type python3 |
显示 |
|
ulimit |
获取或设置用户进程资源限制 | |
ulimit -n |
显示最大打开文件数 |
|
ulimit -c unlimited |
启用核心转储 |
|
ulimit -u 4096 |
限制用户进程数量 |
|
uptime |
显示系统运行时间和平均负载 | |
uptime -p |
美化格式的运行时间 |
|
uptime -s |
显示启动时间 |
|
xargs |
从标准输入构建并执行命令行 | |
xargs -n 1 echo |
将每个参数单独输出一行 |
|
echo "a b c" | xargs -n 1 |
将单词拆分为独立参数 |
|
find . -name '*.txt' | xargs rm |
查找文件并用 xargs 删除它们 |
🌐 网络命令
命令 |
示例 |
描述 |
|---|---|---|
curl |
向服务器传输数据或从服务器获取数据 | |
curl -X POST -d "a=1" URL |
使用表单数据发送 POST 请求 |
|
curl -I URL |
仅获取响应头 |
|
curl -o file.html URL |
下载并保存到文件 |
|
dig |
DNS 查询工具 | |
dig openai.com |
查询 A 记录 |
|
dig +short openai.com |
简短回答 |
|
dig @8.8.8.8 openai.com |
使用特定的 DNS 服务器 |
|
ftp |
文件传输协议客户端 | |
ftp host |
连接到 FTP 服务器 |
|
ftp -n host |
连接时不自动登录 |
|
ftp> get file.txt |
在 FTP 会话中下载文件 |
|
ip address |
显示/操作 IP 地址 | |
ip addr show eth0 |
显示 |
|
ip addr |
列出所有地址 |
|
ip link |
显示/操作网络设备 | |
ip link show |
显示网络链路 |
|
ip link set eth0 up |
启用一个接口 |
|
ip route |
显示/操作 IP 路由表 | |
ip route list |
列出路由表 |
|
ip route add default via 192.168.1.1 |
添加默认路由 |
|
nc |
任意 TCP/UDP 连接和监听 | |
nc -zv host 22 |
扫描主机端口 |
|
nc -l 1234 |
监听 TCP 端口 |
|
nc host 1234 < file |
向远程端口发送文件 |
|
nmap |
网络探测工具和安全/端口扫描器 | |
nmap -sP 192.168.1.0/24 |
对子网进行 ping 扫描 |
|
nmap -sV 192.168.1.1 |
检测服务/版本 |
|
nmap -O 192.168.1.1 |
操作系统检测 |
|
nslookup |
查询互联网域名服务器 | |
nslookup google.com |
查询域名 |
|
nslookup 8.8.8.8 |
对 IP 进行反向查询 |
|
ssh |
OpenSSH 远程登录客户端 | |
ssh user@host |
连接到主机 |
|
ssh -p 2222 user@host |
使用非默认端口连接 |
|
ssh -i ~/.ssh/id_rsa user@host |
使用指定私钥登录 |
|
ss |
检查套接字的工具 | |
ss -tuln |
列出 TCP/UDP 监听端口 |
|
ss -s |
显示摘要统计信息 |
|
ss -l |
列出监听套接字 |
|
telnet |
TELNET 协议用户接口 | |
telnet host 80 |
连接到主机的 80 端口 |
|
telnet example.com 443 |
连接到 443 端口 |
|
telnet localhost 25 |
连接到本地 SMTP |
|
traceroute |
跟踪到网络主机的路由 | |
traceroute 8.8.8.8 |
跟踪到某个 IP 的路径 |
|
traceroute -m 15 8.8.8.8 |
限制最大跳数 |
|
wget |
从网页下载文件 | |
wget -O file.txt URL |
将输出保存到文件 |
|
wget URL |
下载到当前目录 |
|
wget -c URL |
继续未完成的下载 |
🔍 搜索和管理文件
命令 |
示例 |
描述 |
|---|---|---|
basename |
去除文件名中的目录和后缀 | |
basename /path/to/file |
从路径中打印文件名 |
|
basename /path/to/file .txt |
去除名称中的后缀 |
|
dirname |
去除路径中的最后部分 | |
dirname /path/to/file |
显示路径中的目录部分 |
|
dirname /etc/passwd |
显示 |
|
du |
估算文件占用空间 | |
du -sh folder/ |
显示目录大小 |
|
du -h * |
显示当前目录下项目的大小 |
|
du -c folder1 folder2 |
多个目录的累计大小 |
|
file |
确定文件类型 | |
file some.bin |
检测文件类型 |
|
file * |
检测目录下所有文件的类型 |
|
file -i file.txt |
显示 MIME 类型 |
|
find |
搜索文件 | |
find /path -type f -name "*.sh" |
按名称查找 shell 脚本 |
|
find . -size +10M |
查找大于 10 MB 的文件 |
|
find /tmp -mtime -1 |
查找最近一天修改的文件 |
|
locate |
使用数据库按名称查找文件 | |
locate filename |
查找文件名 |
|
locate *.conf |
通配符搜索 |
|
locate -i README |
不区分大小写搜索 |
|
realpath |
打印解析后的绝对路径 | |
realpath file |
解析文件路径 |
|
realpath ../relative/path |
解析相对路径 |
|
stat |
显示文件或文件系统状态 | |
stat file |
显示详细的文件状态 |
|
stat -c %s file |
仅打印文件大小 |
|
stat -f file |
显示文件系统状态 |
|
tree |
以树状格式列出目录内容 | |
tree |
打印目录树 |
|
tree -L 2 |
限制显示深度 |
|
tree -a |
包含隐藏文件 |
📊 系统监控
命令 |
示例 |
描述 |
|---|---|---|
dmesg |
打印或控制内核环形缓冲区 | |
dmesg | tail |
显示最近的内核消息 |
|
dmesg | grep usb |
仅过滤 USB 消息 |
|
free |
显示内存使用情况 | |
free -h |
人类可读的单位 |
|
free -m |
以 MB 显示 |
|
htop |
交互式进程查看器 | |
htop |
运行 |
|
iotop |
显示进程的 I/O 使用情况 | |
iotop |
运行 |
|
iotop -o |
仅显示正在进行 I/O 的进程 |
|
lsof |
列出打开的文件 | |
lsof -i :80 |
显示使用端口 80 的进程 |
|
lsof -u username |
显示用户打开的文件 |
|
uptime |
显示系统运行时间和负载平均值 | |
vmstat |
报告虚拟内存统计信息 | |
vmstat 1 |
每 1 秒刷新一次 |
|
vmstat 5 3 |
每 5 秒间隔,输出 3 次 |
|
watch |
周期性执行程序并显示输出 | |
watch -n 1 df -h |
监视磁盘使用情况 |
|
watch -d free -h |
高亮变化并监视内存 |
📦 软件包管理
命令 |
示例 |
描述 |
|---|---|---|
apt |
APT 包管理器 (Debian/Ubuntu) | |
apt install curl |
安装一个软件包 |
|
apt remove curl |
删除一个软件包 |
|
apt update && apt upgrade |
更新包列表并升级 |
|
dnf |
Dandified YUM (Fedora/RHEL 系列) | |
dnf install curl |
安装一个软件包 |
|
dnf upgrade |
升级软件包 |
|
rpm |
RPM 包管理器 | |
rpm -ivh package.rpm |
安装一个 RPM 软件包 |
|
rpm -e package |
卸载一个软件包 |
|
snap |
Snappy 包管理器 | |
snap install app |
安装一个 snap |
|
snap remove app |
删除一个 snap |
|
yum |
Yellowdog Updater Modified (RHEL/CentOS) | |
yum install curl |
安装一个软件包 |
|
yum remove curl |
删除一个软件包 |
💽 文件系统
命令 |
示例 |
描述 |
|---|---|---|
blkid |
定位/打印块设备属性 | |
blkid |
列出块设备及其属性 |
|
df |
报告文件系统磁盘空间使用情况 | |
df -Th |
按类型以人类可读的大小显示 |
|
fsck |
检查并修复 Linux 文件系统 | |
fsck /dev/sda1 |
检查一个设备 |
|
lsblk |
列出块设备信息 | |
lsblk |
以树状结构列出设备 |
|
mkfs |
创建 Linux 文件系统 | |
mkfs.ext4 /dev/sdb1 |
创建一个 ext4 文件系统 |
|
mount |
挂载文件系统 | |
mount /dev/sdb1 /mnt |
将设备挂载到 |
|
mount | grep /mnt |
按路径过滤显示已挂载的文件系统 |
|
parted |
分区操作程序 | |
parted /dev/sdb |
打开磁盘进行分区 |
|
umount |
卸载文件系统 | |
umount /mnt |
卸载一个挂载点 |
🤖 脚本与自动化
命令 |
示例 |
描述 |
|---|---|---|
alias |
定义或显示 shell 别名 | |
alias ll='ls -la' |
创建一个常用别名 |
|
alias |
列出已定义的别名 |
|
bash / sh |
运行 shell 脚本 | |
bash script.sh |
用 Bash 运行脚本 |
|
sh script.sh |
用 |
|
crontab |
用户级别的定时任务表 | |
crontab -e |
编辑当前用户的 crontab |
|
read |
在 shell 脚本中提示用户输入 | |
read name |
读取输入到变量 |
|
set |
设置 shell 选项/位置参数 | |
set -e |
遇到第一个错误时退出 |
|
source |
在当前 shell 中读取并执行文件中的命令 | |
source ~/.bashrc |
重新加载 shell 配置 |
|
trap |
捕获信号并执行命令 | |
trap "echo 'exit'" EXIT |
在 shell 退出时运行命令 |
🛠 开发与调试
命令 |
示例 |
描述 |
|---|---|---|
gcc |
GNU C 编译器 | |
gcc main.c -o app |
编译一个 C 源文件 |
|
gdb |
GNU 调试器 | |
gdb ./app |
调试已编译的二进制文件 |
|
git |
分布式版本控制系统 | |
git status |
显示工作区状态 |
|
git commit -m "msg" |
提交并添加消息 |
|
ltrace |
库调用跟踪器 | |
ltrace ./app |
跟踪二进制文件的库调用 |
|
make |
维护程序组的工具 | |
make |
根据 Makefile 构建 |
|
shellcheck |
Shell 脚本静态分析工具 | |
shellcheck script.sh |
检查一个 shell 脚本 |
|
strace |
跟踪系统调用和信号 | |
strace ./app |
跟踪程序的系统调用 |
|
valgrind |
构建动态分析工具的检测框架 | |
valgrind ./app |
在 Valgrind 下运行程序 |
|
vim / nano |
命令行文本编辑器 | |
vim file.sh |
用 Vim 编辑 |
|
nano file.sh |
用 Nano 编辑 |
📌 杂项
命令 |
示例 |
描述 |
|---|---|---|
cal |
显示日历 | |
cal 2025 |
显示整年日历 |
|
cal 08 2025 |
显示特定月份 |
|
date |
显示或设置系统日期和时间 | |
date +%T |
打印当前时间 (HH:MM:SS) |
|
date -d "next friday" |
打印相对日期 |
|
factor |
整数分解 | |
factor 100 |
分解一个数字 |
|
man |
格式化并显示联机手册页 | |
man tar |
打开一个手册页 |
|
man -k copy |
按关键字搜索手册 |
|
man 5 passwd |
打开指定章节的手册 |
|
seq |
打印数字序列 | |
seq 1 5 |
从 1 数到 5 |
|
seq 1 2 9 |
带步长计数 |
|
seq -s ',' 1 5 |
用自定义分隔符连接数字 |
|
yes |
重复输出字符串直到终止 | |
yes | rm -r dir |
自动确认递归删除 |
📚 附加资源
📘 man 手册页 - 命令的详细说明文档:
man ls
man rm📙 TLDR - 流行命令的简明用法示例:
🧠 提示: 安装 tldr 获取速查表风格的帮助:
sudo apt install tldr # 或者: npm install -g tldr
tldr tar # tar 命令的简短示例说明🌐 有用的链接
Linux 在线 man 手册 — 官方手册页,可通过命令名称搜索:
https://man7.org/linux/man-pages/
简化和社区驱动的 man 手册 — 社区驱动的帮助页面,包含实用示例:
https://tldr.sh/