教程
在 Ubuntu 和 Debian 上使用 CLI
一份面向 Ubuntu 与 Debian 命令行的实践指南:apt、systemd、权限模型,以及让这些发行版在开发场景中流行的日常工具。
终端入口
在 Ubuntu 和 Debian 上,你通常通过 GNOME Terminal、Konsole 或 Alacritty、Ghostty 等第三方模拟器进入命令行。服务器则往往直接从 SSH 会话开始,甚至没有图形界面。
# 查看当前 shell
$ echo $SHELL
/bin/bash
# 查看发行版信息
$ cat /etc/os-release
# 查看内核版本
$ uname -a
apt 基础
apt 是 Debian 系系统的包管理器,负责从配置的软件源安装、更新和卸载软件。
# 刷新软件源索引
$ sudo apt update
# 安装常用工具
$ sudo apt install git curl build-essential tmux
# 搜索软件包
$ apt search tmux
# 升级已安装软件
$ sudo apt upgrade
# 卸载软件包
$ sudo apt remove tmux
系统层包 用 apt 管理 shell 工具、编译器和底层依赖。
语言层包 进入具体语言生态后,再用 npm、pip、cargo、uv 等工具管理项目依赖。
文件系统与权限
Linux 采用以 / 为根的 Unix 风格文件系统。理解 home 目录、隐藏文件、可执行位和归属关系至关重要。
| 命令 | 用途 | 示例 |
|---|---|---|
pwd | 显示当前目录 | $ pwd |
ls -la | 列出文件(含隐藏) | $ ls -la ~/.config |
chmod | 修改权限 | $ chmod +x script.sh |
chown | 修改所有者/组 | $ sudo chown user:user file.txt |
sudo | 以更高权限执行 | $ sudo systemctl restart nginx |
# 查看文件权限
$ ls -l deploy.sh
-rwxr-xr-x 1 stone stone 914 Mar 20 09:14 deploy.sh
# 添加执行权限
$ chmod +x deploy.sh
服务与日志
现代 Ubuntu 和 Debian 使用 systemd 管理服务。systemctl 和 journalctl 成为日常工具。
# 查看正在运行的进程
$ ps aux | head
# 查看服务状态
$ systemctl status ssh
# 查看近期日志
$ journalctl -u ssh --since today
# 设置开机自启
$ sudo systemctl enable nginx
SSH 与远程工作
即使在本地桌面练习,很多真实工作流最终还是会移动到远程服务器或云主机上。
# 连接远程服务器
$ ssh user@example.com
# 上传文件
$ scp app.tar.gz user@example.com:/srv/app/
# 生成 SSH 密钥
$ ssh-keygen -t ed25519 -C "you@example.com"
开发工具链
熟悉 apt 和权限后,安装常用开发栈。
# 常见基础工具
$ sudo apt install git curl tmux jq ripgrep fd-find
# Git 身份
$ git config --global user.name "Your Name"
$ git config --global user.email "you@example.com"
# 查看语言运行时
$ python3 --version
$ node --version
下一步
- 把
apt、chmod、chown练熟。 - 在本地虚拟机或云测试机上练习 SSH。
- 学会
systemctl、日志和进程排查。 - 用 Git、Docker 或 shell 脚本固化一条自己的开发流程。