跳转至

常用 Linux 命令

本节整理在 VIS Lab 服务器上最常用的一些 Linux 命令。

sudo rm -rf /
sudo rm -rf

1. 确认当前所在位置

刚登录服务器时,建议先确认当前身份、服务器和目录。

命令 作用
whoami 登录用户名。
hostname 服务器主机名。
pwd 所在目录。
ls 目录下的文件。
ls -lh 文件大小。
ls -la 同时显示隐藏文件。
history 最近执行过的命令。

常见的登录后确认流程:

whoami
hostname
pwd
ls -lh

2. 切换目录

命令 作用
cd folder_name 进入某个目录。
cd .. 返回上一级目录。
cd ~ 回到自己的 home 目录。
cd - 回到上一次所在的目录。
cd /absolute/path 进入某个绝对路径。

路径中如果有空格,需要用引号包起来:

cd "folder with spaces"

3. 文件和文件夹基础操作

命令 作用
mkdir folder_name 创建文件夹。
mkdir -p path/to/folder 创建多级文件夹;中间目录不存在时会一起创建。
touch file.txt 创建空文件,或更新文件时间戳。
cp source.txt target.txt 复制文件。
cp -r source_folder target_folder 复制文件夹。
mv old_path new_path 移动文件或文件夹。
mv old_name.txt new_name.txt 重命名文件。
rm file.txt 删除文件。
rm -r folder_name 删除文件夹。

rm 删除后通常不能恢复

rm 不会把文件移动到回收站。执行前至少先运行:

pwd
ls -lh

确认自己在哪个目录、准备删除什么文件。

特别小心下面这类命令:

rm -rf folder_name
rm -rf *

在共享服务器上,不要在自己不理解路径含义时运行 rm -rf,也不要对别人的目录执行删除操作。

sudo rm -rf /
linux-directory-structure

4. 查看文件内容

命令 作用
cat file.txt 一次性输出整个文件,适合小文件。
less file.txt 分页查看文件,适合大文件;按 q 退出。
head file.txt 查看文件开头。
head -n 20 file.txt 查看文件前 20 行。
tail file.txt 查看文件末尾。
tail -n 50 file.txt 查看文件最后 50 行。
tail -f log.txt 实时查看日志更新。

训练模型时最常用的是查看日志:

tail -f train.log

退出 tail -f 时按 Ctrl + C

5. 搜索文件和文本

查找当前目录下的 Python 文件:

find . -name "*.py"

查找文件名中包含 config 的文件:

find . -iname "*config*"

在当前目录下搜索文本:

grep -R "learning_rate" .

只在 Python 文件中搜索:

grep -R "learning_rate" --include="*.py" .

如果服务器安装了 rg,也可以使用 ripgrep,速度通常更快:

rg "learning_rate"

6. 编辑文本文件

服务器上常见的命令行文本编辑器包括 nanovimemacs。如果你完全不熟悉终端编辑器,建议优先使用 VS Code Remote SSH。

对新手来说,命令行里最容易上手的是 nano

nano file.txt

nano 中:

操作 快捷键
保存 Ctrl + O,然后按 Enter
退出 Ctrl + X
取消当前操作 Ctrl + C

7. 查看硬盘和目录占用

查看服务器磁盘分区使用情况:

df -h

查看当前目录占用空间:

du -sh .

查看当前目录下每一项的大小:

du -sh *

按大小排序查看当前目录内容:

du -sh -- ./* ./.??* 2>/dev/null | sort -hr

8. 查看 CPU、内存和进程

命令 作用
lscpu 查看 CPU 型号和核心信息。
top 查看当前 CPU、内存和进程使用情况。
htop 更直观地查看 CPU、内存和进程;不一定每台服务器都已安装。
free -h 查看内存总体使用情况。
ps -u $USER 查看自己当前运行的进程。
ps aux 查看系统中的进程列表。

按进程名查找:

ps aux | grep python

查看某个进程的详细信息:

ps -fp PID

这里的 PID 需要替换成实际进程号。

终止自己启动的进程:

kill PID

如果普通 kill 无效,可以在确认进程确实属于自己且需要停止后使用:

kill -9 PID

9. 查看 GPU 使用情况

深度学习或图形计算任务通常需要使用 GPU。开始训练前,先确认 GPU 是否空闲,避免抢占其他人的资源。

查看 GPU 状态:

nvidia-smi

每隔 1 秒刷新一次:

watch -n 1 nvidia-smi

更多共享 GPU 使用规则请看 GPU / 硬盘 / 内存使用规范

10. 查看当前登录用户

命令 作用
who 查看当前登录到服务器的用户。
w 查看当前登录用户和他们正在运行的命令。
last 查看最近登录记录。

这些命令用于判断当前服务器是否有其他人在使用。

11. 压缩和解压

解压 .zip 文件:

unzip file.zip

压缩成 .zip 文件:

zip -r archive.zip folder_name

解压 .tar.gz 文件:

tar -xzf archive.tar.gz

压缩成 .tar.gz 文件:

tar -czf archive.tar.gz folder_name

查看 .tar.gz 文件中包含什么:

tar -tzf archive.tar.gz | head

12. 权限相关命令

查看文件权限:

ls -l file.txt

给脚本增加可执行权限:

chmod +x run.sh

修复 SSH 私钥权限:

chmod 600 ~/.ssh/id_ed25519_vis

修复 .ssh 目录和 authorized_keys 权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

不要随意使用 chmod -R 777

chmod -R 777 会让目录下的文件对所有用户可读、可写、可执行。共享服务器上通常不应该这样做。如果遇到权限问题,先确认文件属于谁、当前目录在哪里、真正需要开放哪些权限。

13. 命令行常用技巧

命令或符号 作用
Ctrl + C 中断当前正在前台运行的命令。
Ctrl + L 清屏。
Tab 自动补全命令或路径。
/ 查看上一条或下一条命令。
command > out.txt 把输出写入文件,覆盖原内容。
command >> out.txt 把输出追加到文件末尾。
command 2> err.txt 把错误信息写入文件。
command --help 查看命令帮助。
man command 查看命令手册;按 q 退出。

把训练输出同时显示在屏幕上并写入日志:

python train.py 2>&1 | tee train.log

如果想追加到已有日志:

python train.py 2>&1 | tee -a train.log

参考