【Deep Learning】Ubuntu配置深度学习环境

【start: 250715】

文章目录

ubuntu与深度学习

安装cuda

查看显卡信息(nvidia-smi)

bash 复制代码
(base) ubuntu@ubun:~$ lspci | grep -i vga
03:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 52)
31:00.0 VGA compatible controller: NVIDIA Corporation AD102 [GeForce RTX 4090 D] (rev a1)
4b:00.0 VGA compatible controller: NVIDIA Corporation AD102 [GeForce RTX 4090 D] (rev a1)
b1:00.0 VGA compatible controller: NVIDIA Corporation AD102 [GeForce RTX 4090 D] (rev a1)
ca:00.0 VGA compatible controller: NVIDIA Corporation AD102 [GeForce RTX 4090 D] (rev a1)

ubuntu查看显存的使用情况:
nvidia-smi

或者,实时监控:
watch -n 2 nvidia-smi

效果如下:

bash 复制代码
(base) xqlin@adc-SYS-4028GR-TR:/$ nvidia-smi
Fri Jul 18 11:42:06 2025       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.161.03   Driver Version: 470.161.03   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:04:00.0 Off |                  N/A |
| 16%   27C    P8    18W / 250W |      1MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  On   | 00000000:05:00.0 Off |                  N/A |
| 16%   28C    P8    13W / 250W |      1MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  NVIDIA GeForce ...  On   | 00000000:08:00.0 Off |                  N/A |
| 16%   29C    P8    15W / 250W |      1MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  NVIDIA GeForce ...  On   | 00000000:09:00.0 Off |                  N/A |
| 17%   28C    P8     3W / 250W |      1MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   4  NVIDIA GeForce ...  On   | 00000000:84:00.0 Off |                  N/A |
| 16%   29C    P8     8W / 250W |      1MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   5  NVIDIA GeForce ...  On   | 00000000:85:00.0 Off |                  N/A |
| 16%   27C    P8     1W / 250W |      1MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   6  NVIDIA GeForce ...  On   | 00000000:88:00.0 Off |                  N/A |
| 16%   27C    P8    20W / 250W |      1MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   7  NVIDIA GeForce ...  On   | 00000000:89:00.0 Off |                  N/A |
| 16%   28C    P8     8W / 250W |      1MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

bash 复制代码
(lxq_env) ubuntu@ubun:~/lxq$ nvidia-smi
Sat Jul 19 21:18:34 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.144.03             Driver Version: 550.144.03     CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4090 D      Off |   00000000:31:00.0 Off |                  Off |
| 30%   25C    P8             14W /  425W |      36MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA GeForce RTX 4090 D      Off |   00000000:4B:00.0 Off |                  Off |
| 30%   24C    P8             18W /  425W |      36MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   2  NVIDIA GeForce RTX 4090 D      Off |   00000000:B1:00.0 Off |                  Off |
| 30%   25C    P8             12W /  425W |      36MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   3  NVIDIA GeForce RTX 4090 D      Off |   00000000:CA:00.0 Off |                  Off |
| 30%   25C    P8             14W /  425W |      36MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      4501      G   /usr/lib/xorg/Xorg                              4MiB |
|    0   N/A  N/A    166331      G   /usr/lib/xorg/Xorg                              4MiB |
|    0   N/A  N/A    276933      G   /usr/lib/xorg/Xorg                              4MiB |
|    0   N/A  N/A    374940      G   /usr/lib/xorg/Xorg                              4MiB |
|    1   N/A  N/A      4501      G   /usr/lib/xorg/Xorg                              4MiB |
|    1   N/A  N/A    166331      G   /usr/lib/xorg/Xorg                              4MiB |
|    1   N/A  N/A    276933      G   /usr/lib/xorg/Xorg                              4MiB |
|    1   N/A  N/A    374940      G   /usr/lib/xorg/Xorg                              4MiB |
|    2   N/A  N/A      4501      G   /usr/lib/xorg/Xorg                              4MiB |
|    2   N/A  N/A    166331      G   /usr/lib/xorg/Xorg                              4MiB |
|    2   N/A  N/A    276933      G   /usr/lib/xorg/Xorg                              4MiB |
|    2   N/A  N/A    374940      G   /usr/lib/xorg/Xorg                              4MiB |
|    3   N/A  N/A      4501      G   /usr/lib/xorg/Xorg                              4MiB |
|    3   N/A  N/A    166331      G   /usr/lib/xorg/Xorg                              4MiB |
|    3   N/A  N/A    276933      G   /usr/lib/xorg/Xorg                              4MiB |
|    3   N/A  N/A    374940      G   /usr/lib/xorg/Xorg                              4MiB |
+-----------------------------------------------------------------------------------------+

升级驱动

NVIDIA-SMI 470.161.03 Driver Version: 470.161.03

驱动与 CUDA 版本的兼容性限制

驱动版本 470.161.03 的 CUDA 支持上限为 11.4(可通过 NVIDIA 官方文档或 nvidia-smi 输出确认)。

若强行安装 CUDA 11.8,会因驱动不兼容导致以下问题:

  • nvcc --version 可能显示 CUDA 11.8,但实际运行时(如 nvidia-smi 或深度学习框架)会报错。 可能出
  • 现类似 CUDA driver version is insufficient for CUDA runtime version 的错误。

升级目标版本:

推荐选择 525.xx.xx 或 535.xx.xx(LTS 版本),稳定性更高。

避免选择测试版驱动(如 545.xx.xx 的 RC 版本)

下载cuda

https://developer.nvidia.com/cuda-11-8-0-download-archive

安装conda

安装anaconda

复制代码
# 下载 Miniconda 安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 运行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh

默认指向自己的conda

修改 .bashrc 文件

打开 ~/.bashrc 文件,确保 Conda 环境路径指向 Miniconda 的安装路径:

/home/xqlin/.bashrc

bashrc 复制代码
# >>> conda initialize for local miniconda >>>
export PATH="$HOME/miniconda3/condabin:$PATH"
__conda_setup="$($HOME/miniconda3/bin/conda 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then
        . "$HOME/miniconda3/etc/profile.d/conda.sh"
    fi
fi
unset __conda_setup
# <<< end initialize >>>

检查:
conda info --envs

复制代码
(base) xqlin2@adc-SYS-4028GR-TR:~/studio/code/Cell/Virtual_Cell/mine$ conda info --envs

# conda environments:
#
cell310                /home/xqlin2/.conda/envs/cell310
base                 * /home/xqlin2/miniconda3

初始化conda

在 Miniconda 安装完后,需要初始化 Conda,使其自动配置 shell 环境。

复制代码
conda init bash

这条命令会更新你的 .bashrc 文件,使 Conda 在每次打开终端时自动激活。

确认 conda.sh 被加载

复制代码
source /home/lxq/miniconda3/etc/profile.d/conda.sh

安装cuda-toolkit

直接安装cuda-toolkit(高级的)
bash 复制代码
sudo apt install nvidia-cuda-toolkit
bash 复制代码
conda install cuda -c nvidia/label/cuda-11.8.0 -y
conda install cuda -c nvidia/label/cuda-12.8.0 -y
安装高于cuda等级的cuda-toolkit
bash 复制代码
(medai310) xqlin@adc-SYS-4028GR-TR:~/studio$ conda install cuda -c nvidia/label/cuda-11.8.0 -y
...

(medai310) xqlin@adc-SYS-4028GR-TR:~/studio$ nvidia-smi
Sat Jul 19 21:58:36 2025       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.161.03   Driver Version: 470.161.03   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+

驱动限制:由于驱动版本为 470.161.03,系统仅能识别到 CUDA 11.4 作为最高兼容版本,因此 nvidia-smi 显示为 11.4。

Toolkit 安装:Conda 安装的 CUDA 11.8 Toolkit 可能已存在于环境中(可通过 nvcc --versionconda list 验证),但受限于驱动,其高级功能(如新架构支持)无法生效。

无sudo权限安装CUDA

不能sudo,可以安装 cuda 11.8吗?

【ref】linux 服务器无 sudo 权限非 root 用户安装特定版本 cuda------https://blog.csdn.net/qq_35831906/article/details/138415615

验证nvcc(nvcc --version)

nvcc 是 NVIDIA CUDA Compiler(CUDA 编译器)的简称。它是 CUDA Toolkit 中的一个核心工具,用于把 CUDA 源码(.cu 文件)编译成 GPU 可以执行的二进制代码。

nvcc --version

bash 复制代码
(medai310) xqlin@adc-SYS-4028GR-TR:~/studio$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

conda list | grep cuda

bash 复制代码
(ai310) xqlin@adc-SYS-4028GR-TR:~$ conda list | grep cuda
cuda                                    12.4.1           hb982923_0
cuda-cccl                               12.4.127         h06a4308_2
cuda-cccl_linux-64                      12.4.127         h06a4308_2

迁移env到新conda

把env复制粘贴到新的地方时,要做如此操作:

bash 复制代码
python -m ensurepip --upgrade
python -m pip install --upgrade pip

conda activate env_name

pip install ipykernel

python -m ipykernel install --user --name env_name --display-name "Python (env_name)"

配置环境

创建conda env(conda环境)

查看环境:

bash 复制代码
conda env list

创建环境:

bash 复制代码
conda create -n myenv python=3.8
conda activate myenv

创建.venv(标准的 Python 虚拟环境)

创建环境:

bash 复制代码
python3 -m venv .venv
# 或者指定版本
/usr/bin/python3.10 -m venv .venv

激活环境:

bash 复制代码
cd ~/studio/code/Cell/Virtual_Cell/state
source .venv/bin/activate

把.venv添加到vscode的jupyter中:

bash 复制代码
pip install ipykernel
python -m ipykernel install --user --name=venv --display-name "venv"

安装加速源

pip添加镜像源:

bash 复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

conda添加镜像源:

bash 复制代码
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

安装torch

2.0.0+cu118

下载torch(wget whl)

常用的版本:cu118

torch-2.0.0+cu118-cp310-cp310-linux_x86_64.whl

torch-2.6.0+cu118-cp310-cp310-linux_x86_64.whl

torch-2.7.0+cu118-cp310-cp310-manylinux_2_28_x86_64.whl

在 bash 中下载 whl 文件(网址:https://download.pytorch.org/whl/torch/):

bash 复制代码
wget https://download.pytorch.org/whl/cu118/torch-2.0.0%2Bcu118-cp310-cp310-linux_x86_64.whl#sha256=4b690e2b77f21073500c65d8bb9ea9656b8cb4e969f357370bbc992a3b074764
wget https://download.pytorch.org/whl/cu118/torch-2.6.0%2Bcu118-cp310-cp310-linux_x86_64.whl#sha256=715d3b039a629881f263c40d1fb65edac6786da13bfba221b353ef2371c4da86
wget https://download.pytorch.org/whl/cu118/torch-2.7.0%2Bcu118-cp310-cp310-manylinux_2_28_x86_64.whl#sha256=8c25f2641ef57d55aeeb56f5d616186400119a400b0232281f963218ac1bc92b

然后 pip install 这个whl文件

安装torch(pip whl)

或者,还可以直接用代码安装torch(下载 torch 的 whl 文件的官网:https://pytorch.org/get-started/previous-versions/):

bash 复制代码
pip install torch==2.6.0 --index-url https://download.pytorch.org/whl/cu118

安装torchvision和torchaudio

安装torchvision或torchaudio时,可以去掉torch,并且加上--no-deps,防止重复下载

bash 复制代码
pip install torchvision==0.21.0 torchaudio==2.6.0 --no-deps --index-url https://download.pytorch.org/whl/cu118

查看torch

pip list | grep torch

bash 复制代码
(medai310) xqlin@adc-SYS-4028GR-TR:/disk4/lxq_data/whl$ pip list | grep torch
torch                         2.0.0+cu118
torchaudio                    2.0.1+cu118
torchvision                   0.15.1+cu118

打印torch

python 复制代码
import subprocess
# 检查 nvcc 版本
try:
    nvcc_output = subprocess.check_output(["nvcc", "--version"], text=True)
    print("🛠️ nvcc 信息:\n", nvcc_output)
except FileNotFoundError:
    print("❌ 未检测到 nvcc(CUDA Toolkit 可能未安装)")

import torch
import torchvision
import torchaudio

print("🧠 PyTorch 版本:", torch.__version__)
print("🎨 Torchvision 版本:", torchvision.__version__)
print("🎵 Torchaudio 版本:", torchaudio.__version__)

# 检查 CUDA
if torch.cuda.is_available():
    print("⚡ CUDA 可用: True")
    print(f"🎯 GPU 数量: {torch.cuda.device_count()}")
    for i in range(torch.cuda.device_count()):
        print(f"   └─ GPU {i}: {torch.cuda.get_device_name(i)}")
else:
    print("⚡ CUDA 可用: False")
    print("❌ 当前环境未检测到 GPU,将使用 CPU")

🛠️ nvcc 信息:

nvcc: NVIDIA ® Cuda compiler driver

Copyright © 2005-2022 NVIDIA Corporation

Built on Wed_Sep_21_10:33:58_PDT_2022

Cuda compilation tools, release 11.8, V11.8.89

Build cuda_11.8.r11.8/compiler.31833905_0

🧠 PyTorch 版本: 2.6.0+cu118

🎨 Torchvision 版本: 0.21.0+cu118

🎵 Torchaudio 版本: 2.6.0+cu118

⚡ CUDA 可用: True

🎯 GPU 数量: 8

└─ GPU 0: NVIDIA GeForce RTX 2080 Ti

└─ GPU 1: NVIDIA GeForce RTX 2080 Ti

└─ GPU 2: NVIDIA GeForce RTX 2080 Ti

└─ GPU 3: NVIDIA GeForce RTX 2080 Ti

└─ GPU 4: NVIDIA GeForce RTX 2080 Ti

└─ GPU 5: NVIDIA GeForce RTX 2080 Ti

└─ GPU 6: NVIDIA GeForce RTX 2080 Ti

└─ GPU 7: NVIDIA GeForce RTX 2080 Ti

ubuntu 18下载 pytorch 2.7

安装其他库

安装cmake工具

这个错误提示 cmake: command not found,说明系统缺少 cmake 工具。pyarrow 依赖 cmake 来构建它的 C++ 代码,因此你需要先安装 cmake

从源码编译安装更高版本的 CMake

  1. 下载 CMake 3.25 或更高版本源码

    你可以从 CMake 的官网下载最新版本的源码:

  2. 解压源码并进入目录

    假设你下载的文件是 cmake-3.25.0.tar.gz,使用以下命令:

    bash 复制代码
    tar -zxvf cmake-3.25.0.tar.gz
    cd cmake-3.25.0
  3. 编译并安装到用户目录

    安装到用户目录(如 $HOME/cmake),避免需要 sudo 权限:

    bash 复制代码
    ./bootstrap --prefix=$HOME/cmake
    make
    make install
  4. 更新环境变量

    安装完成后,你需要确保新的 cmake 路径在 PATH 中:

    bash 复制代码
    export PATH=$HOME/cmake/bin:$PATH
  5. 验证安装

    确保 cmake 安装成功且版本正确:

    bash 复制代码
    cmake --version

然后再试着安装 pyarrow,这应该能解决版本问题。如果有任何问题,随时告知我!

xformers

复制代码
pip install -U --no-deps xformers --index-url https://download.pytorch.org/whl/cu118

查看安装的库的位置

可以通过 pip install -e . 或等效命令(如 uv tool install -e .)把项目安装为 editable 模式

python 复制代码
import state; print(state.__file__)
bash 复制代码
(cell310) xqlin@adc-SYS-4028GR-TR:~/studio/code/Cell/Virtual_Cell/state$ python -c "import state; print(state.__file__)"
/home/xqlin/studio/code/Cell/Virtual_Cell/state/src/state/__init__.py

此外,为了在 PyPI 上避免包名冲突,同时保持用户导入时模块名简洁清晰,开发者常常使用 安装名 ≠ 导入名 (arc-state ≠ state) 的做法。这是 Python 社区广泛采用的一种惯例。

兼容分布式训练

PyTorch 分布式训练加载权重

Singularity

你这边是在一个 GPU服务器环境下运行,有多个 GPU,且不属于 Slurm 或 HPC 集群,说明你是自己可以控制的服务器(或者至少管理员权限较高、不强制要求使用 Singularity)------

🔔 结论:你 ✅ 完全可以不使用 Singularity,直接用 Anaconda 虚拟环境 或者 pip 环境运行你的 DINOv2 微调和分类任务即可。

ShardedTensor

PyTorch DistributedTensor (DTensor) 是一种使用分布式张量原语进行原型设计的 API,可以更简单的在 SPMD(单程序多设备)范例中创作分布式计算。 当使用 shard 和 replicate 策略来表达张量分布时,这些原语很简单但功能强大。 PyTorch DTensor 支持 PyTorch Tensor Parallelism 以及其他高级并行性策略。 此外,它还提供了一种统一的方式来保存/加载 state_dict 以用于分布式模型状态保存。支持多个分布式策略相结合,例如结合张量并行与参数分片,即 2D-Parallel(DP+TP)。关于这部分的内容 PyTorch 在 2021 年的 RFC 中 ShardedTensor 已经开始了设计,ShardedTensor 被初始化并以类似 SPMD 的方式使用。 基本上每个节点都有一个 ShardedTensor 实例,它保存本地分片以及整个 Tensor 的全局信息(例如:所有分片及其远程设备)。

存储数据集

存储位置

一般存在disk盘中

bash 复制代码
(base) xqlin@adc-SYS-4028GR-TR:/$ ls
bin   cdrom  disk1  disk3  etc   initrd.img      lib    lost+found  mnt  old_home  proc  run   snap  swapfile  tmp  var      vmlinuz.old
boot  dev    disk2  disk4  home  initrd.img.old  lib64  media       NAS  opt       root  sbin  srv   sys       usr  vmlinuz

查看磁盘空间

bash 复制代码
df -h
du -sh /disk4/heyan_miccai_survival

修改权限

chmod

读(r)、写(w)、执行(x)

chmod:修改文件或目录权限的命令(Change Mode)。

770:三位八进制数字,分别定义 所有者(Owner)、所属组(Group) 和 其他用户(Others) 的权限。

/disk4/lxq_data:目标目录路径。

bash 复制代码
(base) xqlin@adc-SYS-4028GR-TR:/$ ls -ld /disk4/lxq_data
drwxrwxr-x 4 xqlin xqlin 4096 7月  17 19:06 /disk4/lxq_data
(base) xqlin@adc-SYS-4028GR-TR:/$ chmod 770 /disk4/lxq_data
(base) xqlin@adc-SYS-4028GR-TR:/$ ls -ld /disk4/lxq_data
drwxrwx--- 4 xqlin xqlin 4096 7月  17 19:06 /disk4/lxq_data

ubuntu终端的基本操作

在Ubuntu终端中进行基本操作是Ubuntu系统使用的基础。以下是一些基本的操作步骤,帮助你开始使用Ubuntu终端:

打开终端

通过图形界面:你可以通过在Ubuntu桌面的搜索栏中输入"Terminal"或"终端",然后点击打开。

快捷键:你也可以通过快捷键Ctrl + Alt + T快速打开终端。

复制粘贴

‌图形界面下的快捷键‌:

‌复制‌:Ctrl + C

‌粘贴‌:Ctrl + V

适用于大多数图形应用程序(如文本编辑器、浏览器等)。‌‌

‌终端环境下的快捷键‌:

‌复制‌:Ctrl + Shift + C

‌粘贴‌:Ctrl + Shift + V

基本命令

查看当前目录内容:输入ls命令,按回车。这会列出当前目录下的所有文件和文件夹。

改变目录:使用cd命令后跟目录的路径来改变当前工作目录。例如,cd Documents会将你带到Documents文件夹。使用cd ~可以回到你的主目录,而cd ...可以让你回到上一级目录。

创建目录:使用mkdir命令后跟目录名来创建一个新目录。例如,mkdir newfolder会创建一个名为newfolder的目录。

创建文件:你可以使用touch命令后跟文件名来创建一个空文件。例如,touch newfile.txt会创建一个名为newfile.txt的文件。

删除文件:使用rm命令后跟文件名来删除文件。例如,rm newfile.txt会删除名为newfile.txt的文件。注意,这会永久删除文件,没有回收站。

删除目录:使用rmdir命令后跟目录名来删除空目录。如果要删除非空目录,可以使用rm -r 目录名。例如,rm -r newfolder会删除名为newfolder的目录及其内容。

复制文件或目录:使用cp命令,例如,cp source.txt destination.txt会将文件从源位置复制到目标位置。如果是复制整个目录,可以使用cp -r 目录名 目标目录名。

移动或重命名文件/目录:使用mv命令,例如,mv oldname.txt newname.txt会将文件重命名或移动到新位置。

退出终端

输入exit或按Ctrl + D可以退出终端会话。

以上是一些Ubuntu终端的基本操作。随着你对命令行的熟悉,你可以探索更多高级功能和工具,如管道(pipe)、文本处理工具(如grep, awk, sed)等。这些工具可以帮助你更高效地处理文本和文件。

特殊功能

  1. 终端自动补全(Tab 补全)
    终端支持 Tab 键自动补全 命令、文件名、路径等,提高输入效率。

示例:

输入 cd /usr/lo 后按 Tab,会自动补全为 cd /usr/local/。

输入 apt inst 后按 Tab,会自动补全为 apt install。

ubuntu的用户注册

登录

(base) PS C:\Users\lenovo> ssh xqlin@59.77.5.136 -p 8001

Enter passphrase for key 'C:\Users\lenovo.ssh\id_rsa':...

创建与删除

Ubuntu创建新用户
https://blog.csdn.net/winycg/article/details/134428846

(1)在Ubuntu中创建新用户需要以管理员身份进行操作。因此,我们需要运行以下命令将当前用户提升为管理员:

sudo su

(2)在管理员身份下,使用以下命令创建一个新用户:
adduser username

其中,username代表你要创建的新用户的用户名,按照提示输入新用户的密码即可。如果需要在新用户创建过程中添加更多信息,如全名、电话号码等,也可以按照提示进行输入。

(3)为新用户设置sudo权限:

创建用户后,可以将其添加到 sudo 组,就可以将其转为 sudo 用户。要将用户添加到 sudo 组,需要使用 -aG 组合选项。使用 -a 选项是为了确保向组中"追加"。
sudo usermod -aG sudo <username>

在上面的命令中:

usermod 更改用户的属性和权限;

-a 选项表示将用户追加到给定组,但是不将其从现有组中删除。如果没有 -a 选项,该用户将会被从其现有组中删除;

-G 选项列明要添加用户的组,在我们的例子中,它是 "sudo"。

(4)删除用户:

删除用户但是保留用户文件:
sudo userdel <username>

删除用户及用户所有文件(/home/username/路径下的所有文件):
sudo userdel -r <username>

进入与退出

su - newuser(我的用户)
su - ubuntu(主用户)

赋予权限

在ubuntu账户中使用lxq账户

bash 复制代码
sudo chown ubuntu /home/lxq

返还权限给lxq账户

bash 复制代码
sudo chown lxq /home/lxq

ubuntu的文件处理

解压文件

验证 ZIP 内部结构(可选)

如果不确定 ZIP 文件内部结构,可以先查看:

bash 复制代码
unzip -l /disk4/lxq_data/dataset/Colorectal/CRC100K/NCT-CRC-HE-100K.zip | head -n 10

这会列出 ZIP 文件的前10个条目,帮助你判断是否需要创建顶层目录。

bash 复制代码
unzip /disk4/lxq_data/dataset/Colorectal/CRC100K/NCT-CRC-HE-100K.zip -d /disk4/lxq_data/dataset/Colorectal/CRC100K/

-d 指定解压目标目录(如果不指定,默认解压到当前目录)

bash 复制代码
unzip /disk4/lxq_data/dataset/Colorectal/CRC100K/NCT-CRC-HE-100K.zip

打印文件目录

打印一级目录

bash 复制代码
ls -ld /disk4/lxq_data/dataset/Colorectal/CRC100K/NCT-CRC-HE-100K/*/

打印所有目录

bash 复制代码
find /home/xqlin/studio/pth/Colorectal -type f
find /disk4/lxq_data/dataset/Colorectal/CRC100K/NCT-CRC-HE-100K -type f

打印目录树状结构(在根目录)

bash 复制代码
find /disk4/lxq_data/dataset/WSI/TCGA/clinical/00b9eb65-04c6-4d62-9cf6-6b77d75ab79b | sed 's|[^/]*/|│   |g;s|│   \([^│]\)|├── \1|'

temp:

bash 复制代码
find "H:\千佛山CRC总" | sed 's|[^/]*/|│   |g;s|│   \([^│]\)|├── \1|'

打印目录树结构(进入某一个文件夹后)

bash 复制代码
cd /home/xqlin/studio/code/Cell/Virtual_Cell/state/src
find . -print | sed -e "s;[^/]*/;|----;g" -e "s;^\./;;" | sed '/^\s*$/d'

查看文件内容

查看文本文件内容:使用cat 文件名命令可以查看文本文件的内容。例如,cat example.txt。

查看大文件的开头部分:使用head 文件名可以查看文件的开头几行(默认是前10行)。

查看大文件的末尾部分:使用tail 文件名可以查看文件的末尾几行(默认是最后10行)。

查找文件或目录

使用find命令:使用find 路径 -name "文件名"可以搜索指定路径下的文件或目录。例如,find /home -name "example.txt"会在用户的主目录下搜索名为example.txt的文件。

ubuntu的文件传输

window如何快速向ubuntu传文件

ubuntu与todesk

直接传到内网很慢

ubuntu与百度云

先传到公网,再直接下载到内网可能比较快

ubuntu命令行方式下载百度网盘文件 - 正经学社的文章 - 知乎------https://zhuanlan.zhihu.com/p/715462573

bash 复制代码
(medai310) xqlin@adc-SYS-4028GR-TR:/disk2/lxq/dataset/IHC$ bypy info
Please visit:
https://openapi.baidu.com/oauth/2.0/authorize?client_id......
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done

先把文件上传到"我的应用数据/bypy"

bypy list #查看目录下列表

bash 复制代码
bypy downfile data_IHC

bypy downfile "dinov2_CKPT.zip" ./

bypy downfile "NCT-CRC-HE-100K.zip" ./

ubuntu与远程连接

apt工具

apt 是 Ubuntu 及其衍生 Linux 发行版中的核心包管理工具,用于安装、更新、卸载和管理软件包,其全称为 Advanced Packaging Tool(高级包管理工具)。以下是关于 apt 的详细介绍:

一、apt 的核心功能

安装软件包

使用 sudo apt install <package_name> 安装指定软件包及其依赖项。

示例:安装 Firefox 浏览器

bash

sudo apt install firefox


检查占用锁文件的进程

如果系统提示 /var/lib/dpkg/lock-frontend 被占用,直接查找锁文件的使用情况:

bash

sudo lsof /var/lib/dpkg/lock-frontend 2>/dev/null

(base) ubuntu@ubun:~$ sudo lsof /var/lib/dpkg/lock-frontend 2> /dev/null

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

aptd 2843154 root 26u REG 259,3 0 90702343 /var/lib/dpkg/lock-frontend

aptd 2843154 root 32u REG 259,3 0 90702343 /var/lib/dpkg/lock-frontend

apt 4153478 root 4uW REG 259,3 0 90702343 /var/lib/dpkg/lock-frontend

sudo kill -9 2843154 4153478


总结

终止占用进程:

bash

sudo kill -9 2843154 4153478

删除锁文件:

bash

sudo rm /var/lib/dpkg/lock*

修复包管理器:

bash

sudo dpkg --configure -a

sudo apt --fix-broken install

重新尝试 apt 命令:

bash

sudo apt update # 或其他你原本想执行的命令

执行后,你的 apt 命令应该可以正常运行! 🚀

ssh协议

OpenSSH

生成公私钥

生成公私钥:希望重新生成一对公私钥并发送公钥,以下是针对"怎么生成公私钥"的常见方法说明(以Windows系统下使用OpenSSH为例,也可用于其他支持场景):

一、生成公私钥步骤

打开命令提示符(CMD)或PowerShell

按下 Win + R,输入 cmd 或 powershell,回车。

生成密钥对

输入以下命令,按提示操作:

bash

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

-t rsa:指定使用RSA算法(也可用 ed25519 等更现代的算法)。

-b 4096:密钥长度(RSA推荐4096位)。

-C "注释":可选注释(如邮箱),方便识别。

设置保存路径和密码(可选)

系统会提示输入保存路径,默认在 C:\Users\你的用户名.ssh\id_rsa(私钥)和 id_rsa.pub(公钥)。

可设置密码(Passphrase),增加安全性(直接回车则不设置)。

确认生成

生成完成后,会显示密钥指纹和随机艺术图。

二、获取公钥内容

查看公钥文件

打开 id_rsa.pub 文件(用记事本或其他文本编辑器)。

或通过命令显示内容:

bash

type ~/.ssh/id_rsa.pub

复制公钥

全选内容并复制,发送给幸(如通过聊天工具粘贴)。

vscode

vscode连接ubuntu服务器(图形化的)

Vscode连接VM Ubuntu ssh配置

https://zhuanlan.zhihu.com/p/703021988

注意,很多服务器只能兼容1.85以下的版本的vscode,如果版本过高,将无法联通ssh!

复制代码
Version: 1.85.2
Commit: 8b3775030ed1a69b13e4f4c628c612102e30a681
Date: 2024-01-18T06:40:10.514Z
Electron: 25.9.7
ElectronBuildId: 26354273
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: 11.4.183.29-electron.0
OS: Windows_NT x64 10.0.26100

rdp协议

todesk

直接连接

相关推荐
先做个垃圾出来………3 小时前
残差连接的概念与作用
人工智能·算法·机器学习·语言模型·自然语言处理
AI小书房3 小时前
【人工智能通识专栏】第十三讲:图像处理
人工智能
fanstuck3 小时前
基于大模型的个性化推荐系统实现探索与应用
大数据·人工智能·语言模型·数据挖掘
bug攻城狮3 小时前
解决Ubuntu中apt-get -y安装时弹出交互提示的问题
linux·运维·ubuntu
xiachong274 小时前
ubuntu18.04安装PCL1.14
linux·ubuntu
多看书少吃饭4 小时前
基于 OpenCV 的眼球识别算法以及青光眼算法识别
人工智能·opencv·计算机视觉
一条数据库5 小时前
南京方言数据集|300小时高质量自然对话音频|专业录音棚采集|方言语音识别模型训练|情感计算研究|方言保护文化遗产数字化|语音情感识别|方言对话系统开发
人工智能·音视频·语音识别
Yingjun Mo5 小时前
1. 统计推断-基于神经网络与Langevin扩散的自适应潜变量建模与优化
人工智能·神经网络·算法·机器学习·概率论