内容纲要
Ubuntu 基础命令文档
本文档适用于刚接触 Ubuntu 系统的新手,覆盖日常操作、文件管理、系统监控、网络工具等核心命令,帮助快速熟悉 Linux 环境。内容设计兼顾通用性与模型训练场景(如文件传输、包管理、进程监控等),适合作为入门参考。
一、基础概念与准备
1.1 终端(Terminal)
Ubuntu 的命令行操作界面,所有命令需在终端中输入。
- 打开终端:
Ctrl + Alt + T
(最常用);或通过菜单搜索“终端”。 - 命令格式:
命令 [选项] [参数]
(选项以-
或--
开头,参数是操作对象)。
二、基础文件与目录操作
2.1 查看当前目录(pwd
)
作用:显示当前所在的绝对路径(从根目录/
开始的完整路径)。
示例:
pwd # 输出类似:/home/username/Documents
2.2 列出目录内容(ls
)
作用:查看当前目录或指定目录下的文件/文件夹。
常用选项:
-l
:长格式显示(详细信息:权限、大小、修改时间等)。-a
:显示所有文件(包括隐藏文件,以.
开头)。-h
:配合-l
,以人类可读的格式显示大小(如2K
、1.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
基础操作:
- 打开文件:
vim file.txt
- 模式切换:
- 普通模式(默认):按
i
进入插入模式(编辑文本)。 - 命令模式:按
Esc
退出插入模式,输入:
进入命令模式(如保存、退出)。
- 普通模式(默认):按
- 常用命令:
:w
:保存文件。:q
:退出(若未保存会提示)。:wq
:保存并退出。:q!
:强制退出(不保存)。/keyword
:搜索文本(按n
查找下一个)。
- 示例:
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
- 下载 Miniconda 安装脚本(推荐 Python 3.9 版本):
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
- 运行安装脚本:
bash Miniconda3-latest-Linux-x86_64.sh # 按提示操作(默认安装到 ~/miniconda3)
- 激活 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
。
十、注意事项(新手必看!)
- 权限问题:涉及系统级操作(如修改
/etc
目录、安装软件)需加sudo
(代表“超级用户权限”),但不要滥用sudo
。 - 危险命令:
rm -rf
会强制删除目录(包括非空目录),切勿对/
、/home
等关键路径使用! - 路径规范:使用绝对路径(如
/usr/bin
)或相对路径(如../data
)时,注意目录是否存在。 - 命令补全:输入命令或路径时按
Tab
键自动补全(避免手误)。
附录:模型训练常用扩展命令
- 查看 GPU 信息(NVIDIA 显卡):
nvidia-smi
(实时监控显存/算力占用)。 - 后台运行任务:`nohup python train.py > log
留言