教程

在 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 管理服务。systemctljournalctl 成为日常工具。

# 查看正在运行的进程
$ 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

下一步

  1. aptchmodchown 练熟。
  2. 在本地虚拟机或云测试机上练习 SSH。
  3. 学会 systemctl、日志和进程排查。
  4. 用 Git、Docker 或 shell 脚本固化一条自己的开发流程。