远程操作Linux的常用指令
这是远程操作Linux系统时我常用的一些指令,还会继续更新的~
文章目录
GXU_HPC
基本操作
- sinfo 查看队列和节点资源的占用情况
- srun -p [queueName] -w [nodeName] python main.py
- srun -N [nodeNumber] python main.py
- salloc 进行资源分配,再 srun python main.py
- scancel 取消一个已提交的作业
- squeue 查看作业的运行状态
sbatch 指令
执行 sbatch [脚本文件名],python.slurm 脚本文件如下:
#!/bin/bash
#SBATCH -J jobName
#SBATCH -p gpu
#SBATCH -N 1
#SBATCH -n 1
#SBATCH --gres=gpu:1
#SBATCH -o out.%j
#SBATCH -e err.%j
cd $SLURM_SUBMIT_DIR
srun python train.py
Linux下装Conda+pytorch+tensorflow+keras
参考的文章:
1、Linux下conda安装及使用
2、Linux服务器安装conda+pytorch+tensorflow
- 下载conda安装包
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
- 使用安装包
sh Miniconda3-latest-Linux-x86_64.sh
- 添加环境变量
vim ./bashrc
# 添加
export PATH=~/miniconda3/bin:$PATH
:wq 退出
source ~/.bashrc
参考:解决Linux下conda命令失效的问题
每次进终端都得这样激活环境变量未免太过复杂,所以:
在用户远程连接Linux后,系统一般会先执行~/.bash_profile
文件,所以在~/.bash_profile文件开头添加如下代码:
# 编辑
vim ~/.bash_profile
# 添加
if test -f .bashrc ; then
source .bashrc
fi
然后esc + “:” + "wq"保存退出。
- 添加清华源
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
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
清除源:
conda config --remove-key channels
- 创建名为python37的虚拟环境
# 创建环境
conda create -n python37 python==3.7
# 查看环境
conda env list
# 激活环境
conda activate python37 或 source activate python37
# 离开环境
conda deactivate
# 复制虚拟环境
conda create -n new-env2 --clone old-env1
# 删除虚拟环境
conda remove -n env-name --all
-
激活虚拟环境后,可以安装pytorch、tensorflow等框架
pytorch网址:https://pytorch.org,选相应的版本,我们学校的cuda是10.0.130,python是3.7.0,例如:
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0
conda install --channel https://conda.anaconda.org/anaconda tensorflow-gpu=1.14.0
conda install keras==2.2.5
Screen指令
screen -S 【name】 创建一个会话
screen -S 【name】 -X quit 终止
screen -d 【name】 离线detach
screen -r 【name】 激活attached,回到name这个session
screen -ls 列出当前会话
一个会话下可以建多个窗口
ctrl+a,c 创建一个新窗口
ctrl+a, n/p 下一个/上一个窗口
ctrl+a, d 暂时离开当前会话,放后台执行
ctrl+d 或 exit 退出窗口
TOP相关指令
ps u 查看进程信息
top 进程状态
kill PID 杀死进程
q 退出
Scp命令
1、从服务器上下载文件
scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
2、上传本地文件到服务器
scp /path/filename username@servername:/path
例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
3、从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/(远程目录)/var/www/local_dir(本地目录)
例如:scp -r root@192.168.0.101:/var/www/test /var/www/
4、上传目录到服务器
scp -r local_dir username@servername:remote_dir
例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录
ZIP指令
远程服务器压缩解压ZIP
1.压缩文件夹
zip -r 目标文件名.zip 要压缩的文件夹
2.把文件解压到目的地
unzip 文件 目的地
把/home目录下面的mydata.zip解压到mydatabak目录里面
3.把文件解压到当前目录