【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 --version
或 conda 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
-
下载 CMake 3.25 或更高版本源码
你可以从 CMake 的官网下载最新版本的源码:- CMake 官方下载链接
-
解压源码并进入目录
假设你下载的文件是cmake-3.25.0.tar.gz
,使用以下命令:tar -zxvf cmake-3.25.0.tar.gz cd cmake-3.25.0
-
编译并安装到用户目录
安装到用户目录(如$HOME/cmake
),避免需要sudo
权限:./bootstrap --prefix=$HOME/cmake make make install
-
更新环境变量
安装完成后,你需要确保新的cmake
路径在PATH
中:export PATH=$HOME/cmake/bin:$PATH
-
验证安装
确保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 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)等。这些工具可以帮助你更高效地处理文本和文件。
特殊功能
- 终端自动补全(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
直接连接