命令行不是考试,是开卷作业。这页就是你该贴在浏览器收藏夹里的魔导书:遇到事,搜一下,复制,回车。呼呼呼……用着用着,你自然就背下来了——这就是禁咒的奥秘。
ls -lah列出文件(含详情)cd /路径进入目录cd -回上一个目录pwd我在哪儿cp -r 源 目标复制(目录加 -r)mv 源 目标移动 / 重命名rm -ri 目录删除(带确认)mkdir -p a/b/c递归建目录find . -name "*.pdf"按名找文件tree -L 2树状看目录(需安装)ln -s 源 链接名建软链接(快捷方式)du -sh *各文件占多大df -h磁盘还剩多少cat 文件一口气看完less 文件翻页看(q 退出)head -n 20 文件看前 20 行tail -f 日志盯着日志实时看grep -rn "关键词" .全文搜索wc -l 文件数行数diff -u 旧 新对比两个文件sort 文件 | uniq -c统计每行出现次数nano 文件新手友好编辑器sudo apt install 包Ubuntu/Debian 安装sudo dnf install 包Fedora 安装sudo pacman -S 包Arch 安装apt search / dnf search搜索pacman -Ss 关键词Arch 搜索sudo apt update && sudo apt upgradeUbuntu 更新sudo dnf upgradeFedora 更新sudo pacman -SyuArch 更新sudo apt remove 包卸载flatpak install flathub 应用万能备胎方案sudo 命令以管理员执行sudo !!上一条命令加 sudo 重跑chmod +x 脚本.sh给执行权限chmod 644 文件标准文件权限chmod 755 脚本可执行脚本权限sudo chown 用户:组 文件改所有者htop任务管理器(好看版)ps aux | grep 名找进程kill PID结束进程kill -9 PID强制结束(最后手段)systemctl status 服务查服务状态sudo systemctl enable --now 服务开机自启并启动sudo systemctl restart 服务重启服务journalctl -u 服务 -f追服务日志free -h内存用量lsblk看磁盘和分区uname -a内核信息fastfetch展示你的系统(仪式感)ping baidu.com通不通ip a看 IPcurl -O 网址下载文件wget 网址下载文件curl -I 网址只看响应头(调试用)ss -tlnp谁在监听端口ssh 用户@服务器远程登录scp 文件 用户@服务器:/路径传文件上服务器rsync -avP 源 目标同步目录(可断点续传)tar -czvf 包.tar.gz 目录打包压缩tar -xzvf 包.tar.gz解压tar -tf 包.tar.gz不解压先偷看内容unzip 文件.zip解压 zipzip -r 包.zip 目录打成 zip7z x 文件.7z解压 7z(需 p7zip)git clone 地址克隆仓库git status现在什么状态git add .暂存全部改动git commit -m "说明"提交git push推送到远程git pull拉取最新git log --oneline --graph看提交历史(带分叉图)git switch -c 分支名新建并切换分支git diff看改了什么git stash暂存现场(事后再 pop)git restore 文件丢弃未暂存的修改命令 > 文件输出写入文件(覆盖)命令 >> 文件输出追加到文件命令A | 命令BA 的输出交给 B命令 2>&1错误也并入输出命令 | tee 文件既显示又保存命令A && 命令BA 成功才执行 B... | xargs 命令把上一条结果当参数Tab补全命令和路径(神器)↑ / ↓翻历史命令Ctrl + C中断当前命令Ctrl + L清屏Ctrl + R搜索历史命令Ctrl + A / E跳到行首 / 行尾Ctrl + Z挂起当前程序(fg 唤回)!!重复上一条命令echo $PATH看命令都从哪找export 变量=值设环境变量(本次会话)~/.bashrc每次开终端都加载的配置source ~/.bashrc改完立即生效alias ll='ls -lah'起别名(写进 bashrc 常驻)history看敲过的命令man 命令官方说明书命令 --help快速提示tldr 命令人话版例子(需安装)apropos 关键词不记得命令名时反查换发行版不用重新学。本质上都是「安装、卸载、搜索、更新」四件事,只是单词不同。
| 我想… | Flatpak(全家通吃) | |||
|---|---|---|---|---|
| 安装 | sudo apt install 包 |
sudo dnf install 包 |
sudo pacman -S 包 |
flatpak install flathub 应用 |
| 卸载 | sudo apt remove 包 |
sudo dnf remove 包 |
sudo pacman -Rns 包 |
flatpak uninstall 应用 |
| 搜索 | apt search 关键词 |
dnf search 关键词 |
pacman -Ss 关键词 |
flatpak search 关键词 |
| 更新全部 | sudo apt update && sudo apt upgrade |
sudo dnf upgrade |
sudo pacman -Syu |
flatpak update |
| 查看已安装 | apt list --installed |
dnf list installed |
pacman -Q |
flatpak list |
| 清理缓存 | sudo apt autoremove |
sudo dnf autoremove |
sudo pacman -Sc |
flatpak uninstall --unused |
小抄里的小抄:软件仓库里没有的新版应用,优先试试 Flatpak;Arch 用户另有 AUR 这个十万个包的宝库,装个 yay 或 paru 就能像官方仓库一样用。
第一次面对 / 一脸懵很正常。记住这几个房间,找东西不再靠缘分。
| 路径 | 是什么 | 什么时候会去 |
|---|---|---|
~(即 /home/你) | 你的主目录,桌面、文档、下载都在这 | 99% 的日常操作 |
~/.config | 各软件的配置文件 | 调设置、折腾美化(Ricing) |
/etc | 系统级配置 | 改源、改系统设置(先备份再动手) |
/var/log | 系统和应用日志 | 出问题时来这里破案 |
/usr/bin | 安装好的命令本体 | 好奇某个命令住在哪的时候 |
/opt | 第三方大软件的常规住处 | 手动装某个闭源软件时 |
/tmp | 临时文件,重启即清空 | 随手扔中间产物 |
每个文件有三组权限:所有者 / 所属组 / 其他人,每组由三种动作组成:
r(读)= 4,w(写)= 2,x(执行)= 1rwx = 4+2+1 = 7chmod 755 的意思:我能读写执行,你们只能读和执行644 —— 普通文件:我能改,别人能看。作业、文档、代码都用它755 —— 脚本和目录:所有人都能进、能执行600 —— 私密文件:只有我能读写。SSH 私钥必须是它,不然 ssh 拒绝工作拿不准就先 ls -l 看看别人怎么设的,比瞎猜靠谱。
命令行的威力在组合。下面四套连招覆盖日常 80% 的「救救我」场景,建议直接收藏。
从大到小列出当前目录的占用,第一名往往就是罪魁祸首(通常是某个没删的虚拟机镜像)。
du -sh * | sort -rh | head
# du 算大小 → sort 按人类可读数字倒序 → 只看前 10
先礼后兵:kill 默认发的是「请你退出」;只有它装死时才用 kill -9「就地正法」。
ps aux | grep 程序名
kill 进程号
# 还不行才放大招:kill -9 进程号
journalctl 的 -f 和 tail -f 一样实时滚动,改配置、重启服务时盯着它,报错第一时间现形。
sudo systemctl restart 服务名
journalctl -u 服务名 -f
# 想退出实时日志:Ctrl + C
上个月那条完美的 ffmpeg 命令不用重新研究,历史记录里都躺着呢。
history | grep ffmpeg
# 更快的手法:Ctrl + R,输入关键词即时搜
rm -rf —— 不询问、不进回收站、不可恢复。路径里出现 / 或 * 时,停下来再看一眼。删之前先 ls 确认站在哪个目录。sudo —— 管理员权限意味着系统不拦你。网上抄的命令加 sudo 之前,先搞懂它干什么。> 重定向 —— 覆盖是静默的。> 重要文件 手一滑,文件当场清零。想追加内容请用 >>。dd —— 磁盘级操作,源和目标写反 = 把系统盘抹掉。人送外号 disk destroyer,烧录启动盘时务必用 lsblk 再三确认设备名。curl ... | bash —— 一键脚本很方便,但等于把键盘交给陌生人。先下载下来读一遍再跑,至少确认网址是官方的。真正的护身符只有一条:重要数据有备份。备份到位,上面这些全是纸老虎。