内容纲要

Ubuntu 基础命令文档

本文档适用于刚接触 Ubuntu 系统的新手,覆盖日常操作、文件管理、系统监控、网络工具等核心命令,帮助快速熟悉 Linux 环境。内容设计兼顾通用性与模型训练场景(如文件传输、包管理、进程监控等),适合作为入门参考。


一、基础概念与准备

1.1 终端(Terminal)

Ubuntu 的命令行操作界面,所有命令需在终端中输入。

  • 打开终端:Ctrl + Alt + T(最常用);或通过菜单搜索“终端”。
  • 命令格式:命令 [选项] [参数](选项以---开头,参数是操作对象)。

二、基础文件与目录操作

2.1 查看当前目录(pwd

作用:显示当前所在的绝对路径(从根目录/开始的完整路径)。
示例

pwd   # 输出类似:/home/username/Documents

2.2 列出目录内容(ls

作用:查看当前目录或指定目录下的文件/文件夹。
常用选项

  • -l:长格式显示(详细信息:权限、大小、修改时间等)。
  • -a:显示所有文件(包括隐藏文件,以.开头)。
  • -h:配合-l,以人类可读的格式显示大小(如2K1.5G)。
    示例

    ls          # 显示当前目录非隐藏文件  
    ls -l       # 长格式显示(示例输出:-rw-r--r-- 1 user user 1024 Jun 1 12:00 file.txt)  
    ls -lh ~    # 长格式+可读大小,查看用户家目录(~代表用户主目录)  

2.3 切换目录(cd

作用:进入指定目录。
常用参数

  • ..:父目录(上一级)。
  • .:当前目录。
  • ~:用户主目录(如/home/username)。
  • /:根目录(所有目录的起点)。
    示例

    cd Documents          # 进入当前目录下的 Documents 文件夹  
    cd ..                 # 返回上一级目录  
    cd ~                  # 回到用户主目录  
    cd /usr/local         # 进入绝对路径 /usr/local 目录  

2.4 创建/删除目录(mkdir/rmdir

  • mkdir:创建新目录。
    mkdir projects                  # 在当前目录创建 projects 文件夹  
    mkdir -p data/train             # 递归创建多级目录(若父目录不存在则自动创建)  
  • rmdir:删除空目录(仅当目录为空时有效)。
    rmdir empty_dir                 # 删除空目录  

2.5 文件操作(touch/cp/mv/rm

  • touch:创建空文件或更新文件时间戳。
    touch note.txt                  # 创建 note.txt 文件(若已存在则更新修改时间)  
  • cp:复制文件/目录。
    cp file.txt backup/             # 将 file.txt 复制到 backup 目录  
    cp -r src/ dest/                # 递归复制目录(-r 表示递归,必选!)  
  • mv:移动文件/目录(或重命名)。
    mv data.csv /tmp                # 将 data.csv 移动到 /tmp 目录  
    mv old_name.py new_name.py      # 重命名文件(本质是移动到同目录+新名称)  
  • rm:删除文件/目录(危险操作!)。
    rm test.txt                     # 删除 test.txt 文件(无法恢复!)  
    rm -r logs/                     # 递归删除目录 logs(目录非空时必选 -r)  
    # 注意:rm -rf / 会删除整个系统!新手切勿尝试!  

三、系统信息与监控

3.1 查看系统/硬件信息

  • uname:查看系统内核信息。
    uname -a                         # 显示完整内核信息(如 Linux ubuntu 5.4.0-100-generic)  
  • df:查看磁盘空间占用(-h 可读格式)。
    df -h                            # 输出:Filesystem Size Used Avail Use% Mounted on  
  • free:查看内存/swap 使用情况(-h 可读格式)。
    free -h                          # 输出:Mem: 7.7G 2.3G 5.4G ...  

3.2 进程监控(top/htop

  • top:实时监控进程资源占用(按q退出)。
    top                              # 显示 CPU、内存占用最高的进程  
  • htop(需先安装):更友好的交互式进程监控工具(功能更强大)。
    sudo apt install htop            # 安装 htop  
    htop                             # 启动监控(支持鼠标操作)  

3.3 查看用户与登录信息

  • whoami:显示当前登录用户名。
    whoami                           # 输出:username  
  • w:查看当前登录用户及活动。
    w                                # 输出:10:00:00 up 2 days, 2 users, load average: 0.12, 0.05, 0.01  

四、网络相关命令

4.1 查看网络状态(ip/ping

  • ip addr:查看网卡信息(替代旧版ifconfig)。
    ip addr                          # 输出:eth0:  mtu 1500 ...  
  • ping:测试网络连通性(-c 指定次数)。
    ping -c 5 www.baidu.com          # 向百度发送 5 次 ICMP 请求(测试网络是否通)  

4.2 文件传输(scp

作用:通过 SSH 协议在本地与远程服务器间传输文件(模型训练常用)。
格式scp [选项] 本地路径 远程用户@远程IP:远程路径(或反向)。
示例

# 本地 → 远程(上传)  
scp /home/user/model.pth root@192.168.1.100:/data/models/  

# 远程 → 本地(下载)  
scp root@192.168.1.100:/data/logs/train.log /home/user/logs/  

# 传输目录(加 -r)  
scp -r /home/user/dataset root@192.168.1.100:/data/  

4.3 SSH 远程登录(ssh

作用:远程连接到另一台 Linux 服务器(模型训练常用)。
示例

ssh username@192.168.1.100        # 连接 IP 为 192.168.1.100 的服务器(需输入密码)  
ssh -p 2222 username@example.com  # 连接指定端口(如 2222)的服务器  

五、包管理(APT)

Ubuntu 使用 apt 工具管理软件包(类似“应用商店”命令行版)。

5.1 基础操作

sudo apt update                   # 更新软件包列表(获取最新可用版本)  
sudo apt upgrade                  # 升级已安装的软件包(需先 update)  
sudo apt install package_name     # 安装软件(如:sudo apt install python3)  
sudo apt remove package_name      # 卸载软件(保留配置文件)  
sudo apt purge package_name       # 彻底卸载(删除配置文件)  
sudo apt autoremove               # 自动删除不再需要的依赖包  

5.2 搜索软件包

apt search keyword                # 搜索包含关键字的软件包(如:apt search tensorflow)  
apt show package_name             # 查看软件包详情(版本、依赖等)  

六、用户与权限管理

6.1 用户权限基础

Linux 中每个文件/目录有 读(r)、写(w)、执行(x) 权限,分为三个角色:

  • 文件所有者(u):文件的拥有者。
  • 同组用户(g):与所有者同一用户组的用户。
  • 其他用户(o):除以上两类外的用户。

6.2 修改权限(chmod

作用:调整文件/目录的权限(+添加,-移除,=设置)。
示例

chmod u+x script.sh               # 给所有者添加执行权限(脚本运行常用)  
chmod 755 dir/                    # 数字模式:7(rwx)给所有者,5(r-x)给同组和其他用户  

6.3 修改所有者(chown

作用:变更文件/目录的所有者或所属组。
示例

sudo chown new_user file.txt      # 将 file.txt 的所有者改为 new_user(需管理员权限)  
sudo chown user:group dir/        # 将 dir 目录的所有者改为 user,所属组改为 group  

七、文本处理工具

7.1 查看文件内容(cat/less

  • cat:快速查看小文件内容(直接输出到终端)。
    cat data.txt                     # 显示 data.txt 全部内容(文件太大时会刷屏)  
  • less:分页查看大文件(支持上下翻页,按q退出)。
    less large_log.log               # 分页查看 large_log.log  

7.2 编辑文件(nano/vim

nano(新手推荐)

作用:轻量级文本编辑器(比 Vim 更友好,适合新手)。
示例

nano config.ini                   # 打开 config.ini 编辑(界面下方有操作提示)  
# 编辑完成后按 Ctrl+O 保存,Ctrl+X 退出。  

vim(高效但需学习)

作用:功能强大的文本编辑器(需掌握基础操作)。
安装

sudo apt install vim              # 安装 vim  

基础操作

  1. 打开文件vim file.txt
  2. 模式切换
    • 普通模式(默认):按 i 进入插入模式(编辑文本)。
    • 命令模式:按 Esc 退出插入模式,输入 : 进入命令模式(如保存、退出)。
  3. 常用命令
    • :w:保存文件。
    • :q:退出(若未保存会提示)。
    • :wq:保存并退出。
    • :q!:强制退出(不保存)。
    • /keyword:搜索文本(按 n 查找下一个)。
  4. 示例
    vim script.py                  # 编辑 script.py  
    # 按 i 进入插入模式 → 修改代码 → Esc → :wq 保存退出  

7.3 搜索文本(grep

作用:在文件中搜索包含指定关键字的行(模型日志分析常用)。
示例

grep "error" app.log              # 搜索 app.log 中包含 "error" 的行  
grep -i "Warning" sys.log         # 忽略大小写搜索(-i 选项)  

八、Python 与 Conda 环境管理

8.1 Python 基础

安装 Python

sudo apt install python3          # 安装 Python 3(Ubuntu 默认自带)  
sudo apt install python3-pip      # 安装 pip(Python 包管理工具)  

常用命令

python3 --version                # 查看 Python 版本  
pip list                         # 查看已安装的 Python 包  
pip install numpy                # 安装 Python 包(如 numpy)  
pip freeze > requirements.txt    # 导出当前环境的所有依赖包  
pip install -r requirements.txt  # 根据 requirements.txt 安装依赖  

8.2 Conda 环境管理

安装 Miniconda

  1. 下载 Miniconda 安装脚本(推荐 Python 3.9 版本):
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh  
  2. 运行安装脚本:
    bash Miniconda3-latest-Linux-x86_64.sh  
    # 按提示操作(默认安装到 ~/miniconda3)  
  3. 激活 Conda:
    source ~/miniconda3/bin/activate  # 激活 Conda(每次新终端需执行)  

常用 Conda 命令

conda create -n myenv python=3.8  # 创建名为 myenv 的 Python 3.8 环境  
conda activate myenv              # 激活 myenv 环境  
conda deactivate                 # 退出当前环境  
conda env list                   # 列出所有环境  
conda remove -n myenv --all      # 删除 myenv 环境  
conda install numpy              # 在当前环境安装包(等同 pip install)  

导出/恢复环境

conda env export > environment.yml  # 导出当前环境配置  
conda env create -f environment.yml # 根据 environment.yml 创建环境  

九、Tmux 终端复用器

9.1 Tmux 简介

作用:终端复用工具,允许在单个终端窗口中创建多个会话、窗口和面板,适合长时间运行任务(如模型训练)。

安装 Tmux

sudo apt install tmux            # 安装 Tmux  

9.2 基础操作

启动 Tmux

tmux                             # 启动新会话(默认编号为 0)  
tmux new -s session_name         # 创建命名会话(如 tmux new -s train)  

会话管理

  • 分离会话(后台运行):Ctrl + B 松开后按 D
  • 查看会话列表
    tmux ls                         # 查看所有会话  
  • 重新连接会话
    tmux attach -t 0                # 连接编号为 0 的会话  
    tmux attach -t session_name     # 连接命名会话  
  • 关闭会话
    exit                            # 在会话中输入 exit 关闭  
    或  
    tmux kill-session -t 0          # 强制关闭编号为 0 的会话  

窗口管理

  • 创建新窗口Ctrl + B 松开后按 C
  • 切换窗口
    • Ctrl + B 松开后按 数字键(如 0 切换到第 1 个窗口)
    • Ctrl + B 松开后按 N(下一个窗口)或 P(上一个窗口)
  • 关闭当前窗口Ctrl + B 松开后按 &

面板管理

  • 水平分割面板Ctrl + B 松开后按 "
  • 垂直分割面板Ctrl + B 松开后按 %
  • 切换面板Ctrl + B 松开后按方向键(上下左右)
  • 关闭面板Ctrl + B 松开后按 X

9.3 高级技巧

  • 滚动查看历史输出Ctrl + B 松开后按 [,然后使用方向键或鼠标滚轮浏览,按 Q 退出。
  • 同步输入到所有面板Ctrl + B 松开后按 :,输入 setw synchronize-panes

十、注意事项(新手必看!)

  1. 权限问题:涉及系统级操作(如修改 /etc 目录、安装软件)需加 sudo(代表“超级用户权限”),但不要滥用 sudo
  2. 危险命令rm -rf 会强制删除目录(包括非空目录),切勿对 //home 等关键路径使用!
  3. 路径规范:使用绝对路径(如 /usr/bin)或相对路径(如 ../data)时,注意目录是否存在。
  4. 命令补全:输入命令或路径时按 Tab 键自动补全(避免手误)。

附录:模型训练常用扩展命令

  • 查看 GPU 信息(NVIDIA 显卡):nvidia-smi(实时监控显存/算力占用)。
  • 后台运行任务:`nohup python train.py > log
最后修改日期: 2025年 7月 14日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。