当前位置:首页>Linux>Linux 常用指令实战教程:从入门到 AI 项目部署

Linux 常用指令实战教程:从入门到 AI 项目部署

  • 2026-09-10 17:15:58
Linux 常用指令实战教程:从入门到 AI 项目部署

Linux 常用指令整理为面试/实战版本,涵盖权限管理、文件操作、Git 版本控制、Conda 环境管理、Docker 容器化以及 SSH 远程连接,助你轻松搞定服务器开发全流程。


1. sudo(管理员权限)

Linux 默认普通用户权限受限,涉及系统级操作(如安装软件、修改配置)时需使用 sudo 提权。

1.1 sudo -i

  • 作用:切换到 root 超级管理员账号。
  • 使用场景:需要连续执行多条管理员命令,避免反复输入 sudo。
  • 实际例子:
    sudo -i# 提示符变为 root@server:~#,此时拥有最高权限apt install docker.io
  • 注意事项:Root 权限极大,操作需极其谨慎,误删系统文件可能导致系统崩溃。

1.2 sudo apt update

  • 作用:更新软件包索引列表(从远程仓库获取最新软件版本信息)。
  • 使用场景:安装新软件前,或想查看有哪些软件可以升级时。
  • 注意事项:这只是“刷新目录”,并不会真正下载或升级软件。

1.3 sudo apt upgrade

  • 作用:根据更新后的索引,下载并安装所有可升级的软件包。
  • 使用场景:系统维护,修复漏洞,升级内核或工具版本。
  • 实际例子:
    sudo apt update    # 先更新索引sudo apt upgrade   # 再执行升级

1.4 sudo apt install

  • 作用:下载并安装指定软件包。
  • 使用场景:部署环境时安装 Git、Vim、Curl、Docker 等工具。
  • 实际例子:
    sudo apt install git        # 安装 Gitsudo apt install python3    # 安装 Python3sudo apt install wget       # 安装下载工具

2. ls(查看目录内容)

ls (list) 用于列出当前目录下的文件和文件夹。

2.1 ls

  • 作用:查看当前目录下的非隐藏文件。
  • 实际例子:
    ls# 输出:data  model  test.py  README.md

2.2 ls -a

  • 作用:查看所有文件,包括隐藏文件。
  • 参数含义:-a (all) 显示所有文件。
  • 使用场景:查看 .git 目录、.env 配置文件或 .bashrc。
  • 注意事项:Linux 中以 . 开头的文件默认为隐藏文件。

2.3 ls -l

  • 作用:以长格式显示文件详细信息。
  • 参数含义:-l (long) 显示权限、所有者、大小、修改时间。
  • 实际例子:
    ls -l# 输出:-rwxr-xr-x 1 root root 1024 Jul 30 10:00 test.py

3. cd(切换目录)

cd (Change Directory) 用于在文件系统中导航。

3.1 cd ..

  • 作用:返回上一级目录。
  • 使用场景:层级跳转,例如从 /home/user/project 返回 /home/user。

3.2 cd ~

  • 作用:返回当前用户的家目录。
  • 实际例子:
    • 普通用户:/home/username
    • Root 用户:/root

3.3 cd /

  • 作用:进入 Linux 根目录。
  • 注意事项:cd ~ 是回家目录,cd / 才是进系统根目录(包含 bin, etc, usr 等文件夹的地方)。

4. vi / vim(文本编辑器)

Linux 服务器通常无图形界面,vi 或 vim 是必备的命令行编辑器。

  • 作用:编辑代码、配置文件(如 .conf, .py, .sh)。
  • 三种模式:
    1. 命令模式:默认进入,用于移动光标、复制、删除。
    2. 编辑模式:按 i 进入,左下角显示 -- INSERT --,可输入代码。
    3. 底行模式:按 Esc 退出编辑模式,输入 : 执行命令。
  • 常用指令:
    • :w:保存。
    • :q:退出。
    • :wq:保存并退出。
    • :q!:强制退出(不保存)。

5. rm(删除文件)

⚠️ 高危指令:删除后通常不可恢复,请务必确认路径。

5.1 rm 文件名

  • 作用:删除指定文件。
  • 实际例子:rm test.py

5.2 rm -r 目录名

  • 作用:递归删除目录及其下所有内容。
  • 参数含义:-r (recursive) 递归。
  • 使用场景:删除包含子文件的文件夹。

5.3 rm -rf 目录名

  • 作用:强制递归删除,不提示确认。
  • 参数含义:-f (force) 强制。
  • 注意事项:严禁执行 rm -rf /,这会清空整个系统!

6. mkdir(创建目录)

  • 作用:创建新的文件夹。
  • 实际例子:
    • mkdir project:创建单层目录。
    • mkdir -p a/b/c:-p 参数用于递归创建多级嵌套目录(若父目录不存在则自动创建)。

7. git(版本控制工具)

AI 项目协作与代码管理的核心工具。

7.1 git clone

  • 作用:克隆远程仓库代码到本地。
  • 使用场景:获取团队代码或开源项目(如 Llama3, ChatGLM)。
  • 实际例子:
    git clone https://github.com/test/demo.git

7.2 git lfs pull

  • 作用:拉取 Git LFS(大文件存储)管理的大文件。
  • 使用场景:AI 项目中,模型权重(.bin, .pt)通常很大,普通 git 只下载指针,需此命令下载实体文件。
  • 关联命令:git lfs ls-files(检查大文件是否完整)。

8. conda(虚拟环境工具)

解决 Python 版本和依赖包冲突的神器。

8.1 conda create

  • 作用:创建独立的 Python 环境。
  • 实际例子:
    conda create -n myenv python=3.10# 创建名为 myenv,Python 版本为 3.10 的环境

8.2 conda init

  • 作用:初始化 Conda,使其在 Shell 中生效。
  • 注意事项:通常安装完 Miniconda 后执行一次,需重启终端。

8.3 conda activate

  • 作用:激活指定环境。
  • 实际例子:conda activate myenv(提示符前会出现 (myenv))。

9. pip(Python 包管理器)

  • 作用:安装 Python 第三方库。
  • 实际例子:
    • pip install torch:安装 PyTorch。
    • pip install -r requirements.txt:根据依赖文件批量安装(项目部署必备)。
  • 国内加速:建议使用清华源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名。

10. python(执行脚本)

  • 作用:运行 Python 程序。
  • 实际例子:
    • python3 test.py:执行脚本。
    • python3 --version:查看版本。
  • 注意事项:Linux 中建议用 python3 而非 python,后者可能指向已停止维护的 Python 2。

11. docker(容器化工具)

将应用、环境、依赖打包,实现“一次构建,到处运行”。

11.1 基础查看

  • docker ps:查看正在运行的容器。
  • docker ps -a:查看所有容器(含已停止)。
  • docker images:查看本地镜像(类似安装包)。
  • docker --version:查看版本,验证安装。

11.2 容器生命周期

  • docker run <镜像名>:创建并启动新容器。
    • 例子:docker run alpine echo "Hello World"(下载 alpine 镜像并运行 echo 命令)。
  • docker start/stop <容器ID>:启动/停止指定容器。
  • docker restart <容器ID>:重启容器。
    • 技巧:docker restart $(docker ps -q) 可重启所有运行中的容器。
  • docker rm <容器ID>:删除容器(需先停止)。

11.3 docker-compose(多容器编排)

  • 作用:通过 docker-compose.yml 文件管理多个服务(如 Web + DB + Redis)。
  • docker-compose up -d:后台启动所有服务。
  • docker-compose down:停止并删除服务。
  • docker-compose restart:重启所有服务。

12. ssh(远程连接与隧道)

12.1 SSH 登录

  • 作用:安全远程登录服务器。
  • 实际例子:
    ssh -p 33736 root@region-45.autodl.pro# -p 指定端口(非默认22端口时必选)

12.2 SSH 隧道(端口转发)

  • 作用:将远程服务器的内部端口映射到本地,用于访问 Web 服务(如 TensorBoard, Jupyter)。
  • 实际例子:
    ssh -CNg -L 6006:127.0.0.1:8501 root@region-45.autodl.pro -p 33736
  • 参数详解:
    • -C:压缩数据。
    • -N:不执行远程命令,仅做转发。
    • -g:允许外部主机连接。
    • -L:本地端口转发(本地6006 -> 远程8501)。
  • 效果:本地浏览器访问 localhost:6006 即可看到远程服务器 8501 端口的服务。

AI 开发服务器常用流程总结

  1. 登录服务器:ssh -p ...
  2. 拉取代码:git clone ...
  3. 创建环境:conda create -n ...
  4. 激活环境:conda activate ...
  5. 安装依赖:pip install -r requirements.txt
  6. 启动服务:docker-compose up -d 或 python3 app.py
  7. 查看状态:docker ps 或 nvidia-smi
  8. 访问服务:配置 SSH 隧道或开放防火墙端口。

最新文章

随机文章