【start: 250715】

文章目录

  • ubuntu与深度学习
    • 安装cuda
      • 查看显卡信息(nvidia-smi)
      • 升级驱动
      • 下载cuda
    • 安装conda
      • 安装anaconda
      • 默认指向自己的conda
      • 初始化conda
      • 确认 conda.sh 被加载
      • 安装cuda-toolkit
        • 直接安装cuda-toolkit(高级的)
        • 安装高于cuda等级的cuda-toolkit
        • 无sudo权限安装CUDA
      • 验证nvcc(nvcc --version)
      • 迁移env到新conda
    • 配置环境
      • 创建conda env(conda环境)
      • 创建.venv(标准的 Python 虚拟环境)
      • 安装加速源
    • 安装torch
      • 下载torch(wget whl)
      • 安装torch(pip whl)
      • 安装torchvision和torchaudio
      • 查看torch
      • 打印torch
      • ubuntu 18下载 pytorch 2.7
    • 安装其他库
      • 安装cmake工具
      • xformers
      • 查看安装的库的位置
    • 兼容分布式训练
      • PyTorch 分布式训练加载权重
      • Singularity
      • ShardedTensor
    • 存储数据集
      • 存储位置
      • 查看磁盘空间
      • 修改权限
  • ubuntu终端的基本操作
    • 打开终端
    • 复制粘贴
    • 基本命令
    • 退出终端
    • 特殊功能
  • ubuntu的用户注册
    • 登录
    • 创建与删除
    • 进入与退出
    • 赋予权限
  • ubuntu的文件处理
    • 解压文件
    • 打印文件目录
      • 打印一级目录
      • 打印所有目录
      • 打印目录树状结构(在根目录)
      • 打印目录树结构(进入某一个文件夹后)
    • 查看文件内容
    • 查找文件或目录
  • ubuntu的文件传输
    • ubuntu与todesk
    • ubuntu与百度云
  • ubuntu与远程连接
    • apt工具
    • ssh协议
      • OpenSSH
      • 生成公私钥
      • vscode
    • rdp协议
      • todesk

ubuntu与深度学习

安装cuda

查看显卡信息(nvidia-smi)

(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

效果如下:

(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                                                 |
+-----------------------------------------------------------------------------+

(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

# >>> 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 ]; theneval "$__conda_setup"
elseif [ -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(高级的)
sudo apt install nvidia-cuda-toolkit
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
(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

(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

(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复制粘贴到新的地方时,要做如此操作:

python -m ensurepip --upgrade
python -m pip install --upgrade pipconda activate env_namepip install ipykernelpython -m ipykernel install --user --name env_name --display-name "Python (env_name)"

配置环境

创建conda env(conda环境)

查看环境:

conda env list

创建环境:

conda create -n myenv python=3.8
conda activate myenv

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

创建环境:

python3 -m venv .venv
# 或者指定版本
/usr/bin/python3.10 -m venv .venv

激活环境:

cd ~/studio/code/Cell/Virtual_Cell/state
source .venv/bin/activate

把.venv添加到vscode的jupyter中:

pip install ipykernel
python -m ipykernel install --user --name=venv --display-name "venv"

安装加速源

pip添加镜像源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

conda添加镜像源:

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/):

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/):

pip install torch==2.6.0 --index-url https://download.pytorch.org/whl/cu118

安装torchvision和torchaudio

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

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

(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

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 torchaudioprint("🧠 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 的官网下载最新版本的源码:

    • CMake 官方下载链接
  2. 解压源码并进入目录
    假设你下载的文件是 cmake-3.25.0.tar.gz,使用以下命令:

    tar -zxvf cmake-3.25.0.tar.gz
    cd cmake-3.25.0
    
  3. 编译并安装到用户目录
    安装到用户目录(如 $HOME/cmake),避免需要 sudo 权限:

    ./bootstrap --prefix=$HOME/cmake
    make
    make install
    
  4. 更新环境变量
    安装完成后,你需要确保新的 cmake 路径在 PATH 中:

    export PATH=$HOME/cmake/bin:$PATH
    
  5. 验证安装
    确保 cmake 安装成功且版本正确:

    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 模式

import state; print(state.__file__)
(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盘中

(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

查看磁盘空间

df -h
du -sh /disk4/heyan_miccai_survival

修改权限

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

chmod:修改文件或目录权限的命令(Change Mode)。
770:三位八进制数字,分别定义 所有者(Owner)、所属组(Group) 和 其他用户(Others) 的权限。
/disk4/lxq_data:目标目录路径。

(base) xqlin@adc-SYS-4028GR-TR:/$ ls -ld /disk4/lxq_data
drwxrwxr-x 4 xqlin xqlin 4096 717 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 717 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账户

sudo chown ubuntu /home/lxq

返还权限给lxq账户

sudo chown lxq /home/lxq

ubuntu的文件处理

解压文件

验证 ZIP 内部结构(可选)
如果不确定 ZIP 文件内部结构,可以先查看:

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

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

unzip /disk4/lxq_data/dataset/Colorectal/CRC100K/NCT-CRC-HE-100K.zip -d /disk4/lxq_data/dataset/Colorectal/CRC100K/

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

unzip /disk4/lxq_data/dataset/Colorectal/CRC100K/NCT-CRC-HE-100K.zip

打印文件目录

打印一级目录

ls -ld /disk4/lxq_data/dataset/Colorectal/CRC100K/NCT-CRC-HE-100K/*/

打印所有目录

find /home/xqlin/studio/pth/Colorectal -type f
find /disk4/lxq_data/dataset/Colorectal/CRC100K/NCT-CRC-HE-100K -type f

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

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

temp:

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

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

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

(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 #查看目录下列表

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

直接连接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/96260.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/96260.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/96260.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

车载数据采集(DAQ)解析

<摘要> 车载数据采集&#xff08;DAQ&#xff09;软件模块是现代汽车电子系统的核心组件&#xff0c;负责实时采集、处理、记录和传输车辆运行数据。本文系统解析了DAQ模块的开发&#xff0c;涵盖其随着汽车智能化演进的历史背景&#xff0c;深入阐释了信号、协议、缓存等…

强化学习框架Verl运行在单块Tesla P40 GPU配置策略及避坑指南

1.前言 由于比较穷,身边只有1块10年前的Tesla P40 GPU卡(2016年9月发布),想利用起来学习强化学习框架Verl。程序员学习开源代码,大部分人的第一直觉不是分析模块组成,而是跑起来试试,然后去debug一下后面的运行逻辑。 由于在官方部署指导文档中并未指明跑通Verl的最低…

leetcode169.多数元素

题目描述给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。题目解法博耶-摩尔多数投票算法&#xff08;英语&#xff1a;Boyer–Moore…

基于机器学习的P2P网贷平台信用违约预测模型

使用平台提供的借款人信息&#xff08;年龄、收入、历史信用等&#xff09;和借款信息&#xff0c;构建一个二分类模型来预测借款人是否会违约。重点解决类别不平衡问题和模型可解释性。逻辑回归、随机森林、XGBoost、SMOTE过采样、模型评估&#xff08;AUC, KS, F1-Score&…

豆瓣网影视数据分析与应用

源码链接&#xff1a;点击下载源码 相关文档&#xff1a;点击下载相关文档 摘 要 随着互联网的快速发展&#xff0c;豆瓣网作为一个综合性的影视评分和评论平台&#xff0c;积累了大量的用户数据&#xff0c;这些数据为影视分析提供了丰富的素材。借助Hadoop这一大数据处理框…

四、计算机网络与分布式系统(中)

一、局域网与广域网1、局域网&#xff08;1&#xff09;定义将有限地理范围内的多台计算机通过传输媒体连接&#xff0c;借助网络软件实现设备间通信与资源共享的通信网络&#xff08;2&#xff09;特点1.地理范围小&#xff1a;通常为数百米至数公里内。2.传输速率高&#xff…

Python 面向对象实战:私有属性与公有属性的最佳实践——用线段类举例

描述 在绘图软件、GIS、CAD 或简单的图形编辑器中&#xff0c;线段&#xff08;Segment&#xff09;是非常基础的对象。每个线段有两个端点&#xff08;x1,y1&#xff09;和&#xff08;x2,y2&#xff09;。在实现时我们通常希望&#xff1a; 封装端点数据&#xff08;防止外部…

流式细胞术样本处理全攻略(一):组织、血液、体液制备方法详解

摘要 流式细胞术作为多参数、高通量的细胞分析技术,在细胞表型鉴定、免疫反应研究、疾病机制探索及药物效果评估中发挥关键作用。而样本制备是流式实验成功的核心前提,需将不同来源样本处理为单颗粒悬液,并最大程度减少细胞死亡与碎片干扰。本文针对组织、外周血 / 骨髓、体…

【C#】理解.NET内存机制:堆、栈与装箱拆箱的底层逻辑及优化技巧

文章目录前言一、栈与堆1.1 栈&#xff08;Stack&#xff09;1.1.1 基本信息1.1.2 特点1.2 堆&#xff08;Heap&#xff09;1.2.1 基本信息1.2.2 特点1.3 从代码中窥见堆栈二、装箱与拆箱2.1 装箱2.2 拆箱2.3 如何避免不必要的装箱与拆箱2.3.1 泛型集合2.3.2 泛型参数总结前言 …

人工智能学习:Transformer结构中的子层连接(Sublayer Connection)

Transformer结构中的子层连接(Sublayer Connection) 一、子层连接介绍 概念 子层连接(Sublayer Connection),也称为残差连接(Residual Connection),是Transformer模型中的一个关键设计,用于将多个子层(如自注意力层和前馈全连接层)组合在一起。它通过残差连…

解锁Roo Code的强大功能:深入理解上下文提及(Context Mentions)

在AI使用中&#xff0c;我们经常需要AI或AI工具描述代码中的某个具体部分。但如果工具能直接“看到”所指的代码、错误信息甚至终端输出&#xff0c;协作效率会不会大幅提升&#xff1f;这正是 Roo Code 的“上下文提及&#xff08;Context Mentions&#xff09;”功能所要实现…

第5篇、 Kafka 数据可靠性与容错机制

在分布式消息队列系统中&#xff0c;数据可靠性 与 容错能力 是核心指标。Kafka 作为高吞吐、可扩展的流式处理平台&#xff0c;依靠副本复制、Leader 选举和 ISR 机制&#xff0c;保证了在节点故障时消息依然能够可靠传输与消费。 &#x1f4da; 目录 理论基础 一、数据复制…

Excel表格如何制作?【图文详解】表格Excel制作教程?电脑Excel表格制作?

一、问题背景 在日常办公中&#xff0c;无论是统计数据、整理报表&#xff0c;还是记录信息&#xff0c;Excel表格都是必不可少的工具。 但对新手来说&#xff0c;打开Excel后面对空白的单元格&#xff0c;常常不知道从何下手——不知道怎么选表格范围、怎么加边框让表格显形、…

阿里兵临城下,美团迎来至暗时刻?

9月10日&#xff0c;赶在阿里巴巴成立26周年之际&#xff0c;高德地图推出了首个基于用户行为产生的榜单“高德扫街榜”&#xff0c;被定义为“阿里生活服务超级新入口”&#xff0c;试图重新构建一套线下服务的信用体系。 上线第二天&#xff0c;就有媒体报道称“使用高德扫街…

Android逆向学习(十一) IDA动态调试Android so文件

Android逆向学习&#xff08;十一&#xff09; IDA动态调试Android so文件 一、 写在前面 这是吾爱破解论坛正己大大的第12个教程&#xff0c;并且发现一个神奇的事情&#xff0c;正己大大的教程竟然没有第11个&#xff0c;感觉很奇怪 写这个博客的主要原因是希望提供一种新的解…

Django全栈班v1.03 Linux常用命令 20250911 下午

课程定位 命令行 ! 黑客专属。 这套视频带你从Linux小白到命令行大师&#xff0c;涵盖文件管理文本处理系统监控网络操作。 零基础也能30分钟掌握程序员必备的技能。 课程亮点 1、零基础友好&#xff1a;从最基础的ls&#xff0c;cd命令开始&#xff0c;循序渐进 2、实战导向&a…

离线应用开发:Service Worker 与缓存

引言&#xff1a;离线应用开发在 Electron 中的 Service Worker 与缓存核心作用与必要性 在 Electron 框架的开发实践中&#xff0c;离线应用开发是提升用户体验和应用可用性的关键技术&#xff0c;特别是使用 Service Worker 实现缓存和离线功能&#xff0c;结合 Node.js 处理…

英发睿能闯关上市:业绩波动明显,毅达创投退出,临场“移民”

撰稿|张君来源|贝多商业&贝多财经近日&#xff0c;四川英发睿能科技股份有限公司&#xff08;下称“英发睿能”&#xff09;递交招股书&#xff0c;报考在港交所上市。据贝多商业&贝多财经了解&#xff0c;英发睿能还于9月3日披露《整体协调人公告&#xff0d;委任&…

Elixir通过Onvif协议控制IP摄像机,ExOnvif库给视频流叠加字符

Elixir 通过 ExOnvif 库&#xff0c;Onvif 协议可以控制IP摄像机等设备&#xff0c;这篇文章记录&#xff1a;使用ExOnvif库&#xff0c;给视频流叠加文字&#xff0c;使用ExOnvif库的接口模块&#xff1a;ExOnvif.Media、ExOnvif.Media2。 ExOnvif官方文档 此文章内容&#xf…

线程安全相关的注解

主要有下面三个加在类上的线程安全相关的注解。一.Immutable标记一个类为不可变的。这意味着该类的实例在构造完成后&#xff0c;其状态&#xff08;数据&#xff09;永远不能被更改。实现不可变性的严格条件&#xff08;Java内存模型中的定义&#xff09;&#xff1a;所有字段…