查询常用 Linux 命令及使用示例。
ls
列出目录内容
$ ls -la /var/log
cd
切换当前目录
$ cd /etc/nginx
pwd
显示当前工作目录路径
$ pwd
cp
复制文件或目录
$ cp -r src/ dest/
mv
移动或重命名文件
$ mv old.txt new.txt
rm
删除文件或目录
$ rm -rf build/
mkdir
创建目录
$ mkdir -p a/b/c
rmdir
删除空目录
$ rmdir empty_dir
touch
创建空文件或更新文件时间戳
$ touch app.log
find
按条件递归查找文件
$ find . -name '*.log' -mtime -1
locate
基于索引快速查找文件
$ locate nginx.conf
tree
以树状结构显示目录
$ tree -L 2
ln
创建硬链接或软链接
$ ln -s /opt/app/bin/app /usr/local/bin/app
stat
显示文件详细元信息
$ stat package.json
file
识别文件类型
$ file archive.tar.gz
diff
逐行比较两个文件差异
$ diff -u old.conf new.conf
rsync
增量同步文件/目录(本地或远程)
$ rsync -avz ./dist/ user@host:/var/www/
scp
通过 SSH 拷贝文件到远程主机
$ scp app.tar.gz user@host:/tmp/
chmod
修改文件/目录权限
$ chmod 755 deploy.sh
chown
修改文件所有者和所属组
$ chown -R www:www /var/www
chgrp
修改文件所属组
$ chgrp devs project/
umask
查看或设置新建文件的默认权限掩码
$ umask 022
sudo
以其他用户(通常是 root)身份执行命令
$ sudo systemctl restart nginx
su
切换到另一个用户身份
$ su - deploy
chattr
修改文件的扩展属性(如不可修改位)
$ chattr +i /etc/resolv.conf
ps
查看当前运行的进程
$ ps aux | grep node
top
实时查看系统资源与进程占用
$ top
htop
更友好的交互式进程监控工具
$ htop
kill
向进程发送信号(默认 TERM)
$ kill -9 1234
killall
按进程名批量结束进程
$ killall node
pkill
按名称/模式匹配结束进程
$ pkill -f 'next dev'
nohup
使命令忽略挂断信号,退出终端后继续运行
$ nohup node server.js &
jobs
列出当前 shell 的后台任务
$ jobs -l
bg / fg
将任务切到后台/前台运行
$ fg %1
nice
以指定优先级启动进程
$ nice -n 10 ./heavy-task.sh
systemctl
管理 systemd 服务(启动/停止/开机自启)
$ systemctl status nginx
pm2
Node.js 进程守护与管理(本项目部署用)
$ pm2 restart codedoz
ping
测试与目标主机的连通性
$ ping -c 4 example.com
curl
发起 HTTP 等协议请求
$ curl -I https://example.com
wget
下载文件
$ wget https://example.com/file.tar.gz
ssh
远程登录到另一台主机
$ ssh user@203.0.113.10
netstat
查看网络连接与监听端口(较旧,常被 ss 取代)
$ netstat -tulnp
ss
查看 socket 连接状态,netstat 的现代替代
$ ss -tulnp
ip
查看/配置网络接口、路由
$ ip addr show
dig
查询 DNS 记录
$ dig example.com +short
nslookup
查询域名对应的 IP 地址
$ nslookup example.com
traceroute
追踪数据包到目标的路由路径
$ traceroute example.com
lsof
列出打开的文件/端口占用(常用于排查端口冲突)
$ lsof -i :3000
iptables
配置 Linux 防火墙规则
$ iptables -L -n
ufw
Ubuntu 简化版防火墙管理工具
$ ufw allow 443/tcp
tar
打包/解包 tar 归档文件
$ tar -czf backup.tar.gz ./data
gzip / gunzip
gzip 格式压缩与解压
$ gzip -k access.log
zip / unzip
zip 格式压缩与解压
$ unzip site.zip -d ./site
7z
7-Zip 高压缩比归档工具
$ 7z x archive.7z
cat
查看/拼接文件内容
$ cat access.log | wc -l
less
分页查看大文件(支持搜索、上下翻页)
$ less /var/log/syslog
head
查看文件开头几行
$ head -n 50 app.log
tail
查看文件末尾几行,-f 可持续跟踪
$ tail -f app.log
grep
按模式搜索文本行
$ grep -rn 'TODO' src/
sed
流式文本替换/编辑
$ sed -i 's/foo/bar/g' config.yml
awk
按列处理结构化文本
$ awk '{print $1, $NF}' access.log
sort
对文本行排序
$ sort -nr scores.txt
uniq
去除相邻重复行(常配合 sort 使用)
$ sort ips.txt | uniq -c
wc
统计行数/单词数/字节数
$ wc -l package.json
cut
按分隔符提取列
$ cut -d ':' -f1 /etc/passwd
xargs
把标准输入转为命令参数
$ find . -name '*.tmp' | xargs rm
jq
命令行 JSON 处理与查询
$ curl api.example.com | jq '.data[0]'
uname
查看系统内核与架构信息
$ uname -a
uptime
查看系统运行时长与负载
$ uptime
df
查看磁盘空间使用情况
$ df -h
free
查看内存使用情况
$ free -h
whoami
显示当前登录用户名
$ whoami
history
查看命令历史记录
$ history | grep ssh
date
查看或设置系统日期时间
$ date '+%Y-%m-%d %H:%M:%S'
env
查看当前环境变量
$ env | grep NODE
which
查找命令对应的可执行文件路径
$ which node
man
查看命令的官方手册
$ man tar
apt
Debian/Ubuntu 系包管理器
$ sudo apt install nginx
yum / dnf
RHEL/CentOS/Fedora 系包管理器
$ sudo dnf install git
npm
Node.js 包管理器
$ npm install
pnpm
更快、更省磁盘的 Node.js 包管理器(本项目使用)
$ pnpm install --frozen-lockfile
snap
跨发行版的沙盒化软件包管理
$ sudo snap install certbot --classic
useradd
创建新用户
$ sudo useradd -m deploy
userdel
删除用户
$ sudo userdel -r olduser
passwd
修改用户密码
$ passwd deploy
usermod
修改用户属性(如加入用户组)
$ usermod -aG docker deploy
groups
查看用户所属用户组
$ groups deploy
id
查看用户 UID/GID 及所属组
$ id deploy
du
统计目录/文件占用空间
$ du -sh node_modules
mount
挂载文件系统
$ mount /dev/sdb1 /mnt/data
umount
卸载文件系统
$ umount /mnt/data
fdisk
查看/管理磁盘分区表
$ fdisk -l
lsblk
以树状结构列出块设备
$ lsblk
可搜索的常用 Linux/Bash 命令速查表,包含关键参数说明与使用示例,方便在终端工作时快速查阅。
不会,它仅作为参考速查表,只展示命令语法与示例,不会实际执行任何命令。