Linux 命令速查
从入门到日常使用,陆续积累的一些 Linux 命令。按主题分组方便查找,每条都附最常见的用法。
文件与目录
pwd # 显示当前所在目录
ls # 列出目录内容
ls -lh # 详细列表,大小用 KB/MB
ls -a # 显示隐藏文件(以 . 开头的)
cd /path/to/dir # 切换目录
cd ~ # 回到用户家目录
cd - # 回到上一个目录
mkdir new-dir # 新建目录
mkdir -p a/b/c # 递归新建多级目录
rm file # 删除文件
rm -rf dir # 递归强制删除目录(慎用)
cp src dst # 复制文件
cp -r src dst # 递归复制目录
mv old new # 重命名 / 移动
查看文件
cat file # 输出文件全部内容
less file # 分页查看(空格翻页,q 退出)
head -n 20 file # 看前 20 行
tail -n 20 file # 看末 20 行
tail -f log.txt # 实时跟踪日志末尾
搜索
grep "word" file # 在文件中查找字符串
grep -r "word" . # 递归在当前目录中查找
grep -i "Word" file # 忽略大小写
find . -name "*.py" # 在当前目录递归找 .py 文件
find . -type d -name "log" # 找名为 log 的目录
权限
chmod 755 file # 设置权限(数字表示法)
chmod +x script.sh # 给文件加执行权限
chown user:group f # 改文件归属人 / 组
权限三位数字含义:第一位是文件所有者权限,第二位是同组,第三位是其他人。其中 7=读写执行,6=读写,5=读执行,4=只读。
进程
ps aux # 列出所有进程
ps aux | grep nginx # 过滤含 nginx 的进程
top # 实时进程监控(q 退出)
kill <pid> # 发送终止信号
kill -9 <pid> # 强制杀死(SIGKILL)
网络
ping example.com # 测试网络连通性
curl https://example.com # 下载或调试 HTTP
wget https://example.com # 下载文件
ss -tnlp # 查看监听的 TCP 端口
ifconfig 或 ip addr # 查看网络接口
磁盘
df -h # 查看各磁盘剩余空间
du -sh dir # 看目录大小
du -h --max-depth=1 # 看一级子目录大小
小结
这些命令是我每天都会用到的。一开始觉得多,用熟之后会发现 Linux 的命令哲学很统一:"一条命令做一件事,通过管道串起来",上手后效率会比图形界面高很多。