Skip to content

Linux 常用命令速查

只收录本机实际装了、能直接用的命令。环境:Omarchy(Arch Linux)、zsh + oh-my-zsh(emacs 键位)、Hyprland、mise、Docker。

想不起来时先试:tldr 命令名、命令 --help | rg 关键词、alias | rg 关键词。

远端服务器运维见 Linux 服务器运维速查。

按键 作用
Ctrl + A / Ctrl + E 光标跳到行首 / 行尾
Alt + B / Alt + F 按单词左移 / 右移(Ctrl + → 也行)
Ctrl + W 删除光标前一个单词
Ctrl + U 删除整行
Ctrl + K 删除光标到行尾
Ctrl + Y 粘贴刚才删掉的内容
Ctrl + R 搜索历史命令,再按一次找更早的
Alt + . 插入上一条命令的最后一个参数,多按几次往前翻
Ctrl + L 清屏
Ctrl + C 终止当前命令
Ctrl + Z 把当前命令挂起到后台,fg 恢复、bg 让它在后台继续跑
Ctrl + D 退出当前 shell(输入为空时)
想做什么 命令
重复上一条命令 !!
用 sudo 重跑上一条 sudo !!
上一条命令的最后一个参数 !$
回到上一个目录 -(别名,等于 cd -)
往上跳两级 / 三级目录 ... / ....
跳到常去的目录(模糊匹配) z 关键词,例如 z itsworks
交互式选目录再跳 zi
新建多级目录 md a/b/c(等于 mkdir -p)
列出详细文件 l(ls -lah)、ll、la
查某个别名是什么 alias gst
搜历史 history | rg 关键词
想做什么 命令
好看的文件列表(含 git 状态) eza -la --git
树形列出目录 eza --tree --level=2
带语法高亮看文件 bat 文件
在当前目录搜内容 rg '关键词'
只列出包含关键词的文件名 rg -l '关键词'
按文件名找文件 fd 名字
按扩展名找 fd -e md
交互式模糊选文件 fzf,例如 nvim $(fzf)
看当前目录各项占多大 du -sh * | sort -h
看磁盘剩余空间 df -h
打包 / 解包 tar.gz tar -czf out.tar.gz 目录 / tar -xzf file.tar.gz
解压 zip unzip file.zip -d 目标目录
同步复制(可断点续传) rsync -avh --progress 源/ 目标/
把输出复制到剪贴板 命令 | wl-copy,或 wl-copy < 文件
粘贴剪贴板内容 wl-paste
想做什么 命令
更新整个系统(Omarchy 推荐) omarchy-update
更新系统(含 AUR) yay
安装软件(官方仓库 + AUR) yay -S 包名
搜索软件 yay -Ss 关键词
搜索已安装的包 pacman -Qs 关键词
查看包的信息 pacman -Qi 包名
列出包装了哪些文件 pacman -Ql 包名
某个文件属于哪个包 pacman -Qo /usr/bin/dig
卸载并清理依赖和配置 yay -Rns 包名
清理孤立依赖 pacman -Qdtq | sudo pacman -Rns -
清理旧版本缓存(保留最近 3 个) paccache -r
想做什么 命令
图形化看 CPU / 内存 / 进程 btop
找某个进程 ps aux | rg 名字
按名字结束进程 pkill -f 名字
强制结束某个 PID kill -9 PID
看内存使用 free -h
系统信息概览 fastfetch
查看服务状态 systemctl status 服务名
重启服务 sudo systemctl restart 服务名
开机自启并立即启动 sudo systemctl enable --now 服务名
用户级服务 systemctl --user status 服务名
实时看某个服务的日志 journalctl -u 服务名 -f
看本次开机的错误日志 journalctl -b -p err
看最近的日志并带解释 journalctl -xe
想做什么 命令
看本机 IP(简洁) ip -br a
看哪些端口在监听、被谁占用 ss -tlnp
只看响应头 curl -I https://example.com
格式化 JSON 输出 curl -s URL | jq
查域名的 NS(是否已指向 Cloudflare) dig NS example.com +short
绕过本机缓存查 dig NS example.com @1.1.1.1 +short
问 .com 顶级域服务器(最权威) dig NS example.com @a.gtld-servers.net +norecurse
从根服务器追踪解析过程 dig +trace NS example.com
查 A 记录 dig A example.com +short
查注册商登记的 NS whois example.com | rg -i 'name server'

修改 NS 后,dig ... @a.gtld-servers.net 或 whois 已经变了、但普通 dig 还是旧值,说明只是缓存没过期,等一会儿即可。

想做什么 命令
看分区、文件系统和挂载点 lsblk -f
看分区的 PARTUUID lsblk -o NAME,PARTUUID,FSTYPE,SIZE,MOUNTPOINTS
看 UEFI 启动项 efibootmgr -v
调整启动顺序 sudo efibootmgr -o 0002,XXXX
只让下次从某项启动 sudo efibootmgr -n XXXX
看固件模式和安全启动状态 bootctl status
查看 Limine 菜单条目 sudo limine-entry-tool --tree

这些命令的来龙去脉见双系统安装指南和双系统引导原理说明,工具汇总见 Tools。

别名 等于
gst git status
gaa git add --all
gcmsg "说明" git commit --message "说明"
gp / gl git push / git pull
gd git diff
glog git log --oneline --decorate --graph
gsw 分支 / gcb 新分支 git switch 分支 / git checkout -b 新分支
gsta / gstp git stash push / git stash pop
grhh git reset --hard(会丢掉未提交的修改,慎用)
图形化操作 lazygit
想做什么 命令
看权限(数字 + 符号) stat -c '%a %A %U:%G %n' 文件
改权限 chmod 644 文件 / chmod u+x 脚本
递归改目录权限(目录 755、文件 644) find 目录 -type d -exec chmod 755 {} +; find 目录 -type f -exec chmod 644 {} +
改所有者 sudo chown -R 用户:组 目录
看当前用户 / 组 id
临时用 root 跑一条 sudo 命令;开 root shell:sudo -i
看谁能写这个文件 getfacl 文件(若装了 acl)
想做什么 命令
登录 ssh 用户@主机
指定密钥 / 端口 ssh -i ~/.ssh/id_ed25519 -p 22 用户@主机
带端口转发(本地 5432 → 远端 Postgres) ssh -L 5432:127.0.0.1:5432 用户@主机
只建隧道不落 shell ssh -N -L 8080:127.0.0.1:80 用户@主机
拷文件过去 / 过来 scp 文件 用户@主机:路径 / scp 用户@主机:路径 .
目录同步(比 scp 更合适) rsync -avh --progress ./dir/ 用户@主机:~/dir/
测连通与延迟 ssh -v 用户@主机(看握手卡在哪)
清掉旧主机指纹 ssh-keygen -R 主机名或IP

常用 ~/.ssh/config 片段:

Host myserver
HostName 1.2.3.4
User deploy
IdentityFile ~/.ssh/id_ed25519
ForwardAgent yes

然后直接 ssh myserver。

想做什么 命令
看容器 docker ps / docker ps -a
看镜像 docker images
进容器 shell docker exec -it 容器名 sh(或 bash)
跟日志 docker logs -f --tail 200 容器名
停 / 删容器 docker stop 容器名 / docker rm 容器名
组合项目起来 docker compose up -d
组合项目停掉并删容器 docker compose down
看占用 docker system df
清悬空镜像与缓存(慎用) docker system prune -f
想做什么 按键 / 命令
新建会话 tmux new -s 名字
列出会话 tmux ls
挂上已有会话 tmux attach -t 名字
前缀键(默认) Ctrl + B
拆左右 / 上下窗格 前缀 + % / 前缀 + "
窗格间移动 前缀 + 方向键
新建窗口 / 切换 前缀 + c / 前缀 + n p 或数字
断开会话(进程继续跑) 前缀 + d
滚屏翻历史 前缀 + [,q 退出

远端跑长任务:SSH 上去先 tmux new -s work,断线也不丢。

想做什么 命令
取 JSON 字段 命令 | jq '.data.items[].id'
美化 JSON 文件 jq . file.json
数行 / 字 wc -l 文件
排序去重 sort 文件 | uniq -c | sort -nr
两文件差集 comm -23 <(sort a) <(sort b)
替换文件内字符串(先预览) rg '旧' -n;改:sd '旧' '新' 文件 或 sed -i 's/旧/新/g' 文件
看差异 diff -u a b 或 delta a b(若装了)
截取列 cut -d: -f1 /etc/passwd
并行跑多条(GNU parallel 若有) fd -e md -x wc -l
想做什么 命令
看 mise 管了哪些工具 mise ls
安装 / 切换 Node mise use node@22
看当前 node / pnpm node -v / pnpm -v
项目依赖 pnpm install / pnpm add 包
Python 虚拟环境(uv 若有) uv venv && source .venv/bin/activate
没有 uv 时 python3 -m venv .venv && source .venv/bin/activate
跑一次性脚本不污染全局 pnpm dlx 包 / npx 包 / uvx 包