目前
Ubuntu常用命令
如何远程连接服务器?
如何创建anaconda虚拟环境?
如何从github上下载代码到服务器?
如何移动、复制、删除文件夹?
如何在服务器间传输文件?
如何在服务器后台运行代码?
2.5 创建anaconda虚拟环境一直出现HTTP错误的问题
相关命令
conda配置文件打开、退出与编辑(VIM中的保存和退出)
① 打开:
vim .condarc
② 退出:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑命令历史
③ 编辑:(进入编辑模式方可编辑)
进入编辑模式,按键i,此时可以移动光标到想要修改的位置,即可修改内容(此时左下角进入到insert的模式,代表现在是编辑模式)
退出编辑模式,并保存,按键esc退出insert模式,然后按shift+:(shift+冒号键),然后输入wq,保存退出。
完整报错:
Collecting package metadata (current_repodata.json): failedCondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/noarch/current_repodata.json>
Elapsed: -An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.'https://repo.anaconda.com/pkgs/main/noarch'
问题解决:
- 打开conda配置文件
vim .condarc
- 删除原文件内容并替换为下面的
channels:- defaults
show_channel_urls: true
default_channels:- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
参考:conda使用清华源一直出现HTTP错误问题
2.4 路由跟踪 / 问题排查
假如遇到服务器无法正常登陆情况,可根据该指令,判断问题出在哪里。
① Tracert简介
Tracert命令用于测试数据包从发送主机到目的地所经过的设备,它主要检查网络连接是否可达,以及分析网络什么地方发生了故障。
② 命令格式
Windows系统下:
tracert [参数] hostname
例如,不解析主机名:tracert -d 123.xxx.xxx.220
;
指定最大TTL数值:tracert -h 5 123.xxx.xxx.220
。
③ Linux系统下
traceroute [参数] hostname
备注:
Tracert命令详解——Ping和Tracert命令
2.3 后台服务器运行 / 前台实时查看
2.3.1 nohup方法(不挂起)
# 进入要运行的py文件目录
nohup python -u test.py > test.log 2>&1 &
含义解释
- nohup 不挂起的意思,python test.py表示:python 运行test.py文件;
- -u 代表程序不启用缓存,也就是把输出直接放到log中,没这个参数的话,log文件的生成会有延迟
- test.log 将输出日志保存到这个log中 ;
- 2>1,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;
- 2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出;最后一个& ,代表该命令在后台执行。
命令运行后的提示
[1] 1725465 # 代表进程1725465 中运行。如果是1906590则表示进程1906590在运行
基本用法:
① 基本 nohup
命令
nohup command &
此时程序的输出会重定向到out.file文件中;
② 若想更改输出为指定文件
nohup command > file 2>&1 &
例如,在后台运行train_col.py并规定输出到nohup_train_01.out文件中,
则需要:nohup python train_col.py >> nohup_train_01.out 2>&1 &
;
2.3.2 tail查看nohup.out文件内容
③ 前台实时查看nohub.out文件内容
tail -f nohup.out
例如,tail -f nohup_train_01.out
其他
- 根据关键字查看
tail -f nohup.out |grep "关键字"
- 输出文件最后100行
tail -n 100 nohup.out
- 输出文件最后100行,含关键字
tail -n 100 nohup.out |grep "关键字"
一些查看命令:
④ 查看后台任务pid
ps -aux | grep "train_col.py"
⑤ 查看后台运行的所有进程
ps -aux
⑥ 查看后台运行的所有python进程
ps aux |grep python 或者 ps -ef | grep python
⑦ 查看正在运行的GPU以及相应的进程号
nvidia-smi
⑧ 动态监听进程的运行状态
top
备注:
ps 命令详解——Linux ps命令详解:查看正在运行的进程
top命令详解——Linux top命令详解:持续监听进程运行状态
ps | grep命令详解——【Linux】ps -ef|grep详解
2.2 Linux中如何删除文件夹
① 删除命令
rm -rf 目录名字
options
-r:向下递归,不管有多少级目录,一并删除;
-f:直接强行删除,没有任何提示。
例如,删除目录名为datasets文件夹:rm -rf datasets
2.1 Linux复制文件夹到指定文件夹并覆盖
① 语法
cp [options] source dest
或
cp [options] source... directory
备注:
参数详解——Linux cp 命令
options
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合;
-f:覆盖已经存在的目标文件而不给出提示;
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
例如,将yyy下的direct1 移动到xxx文件夹下:cp -af /data/xxx/yyy/direct1 /data/xxx/
;
把test1下的文件1.TXT复制到test2目录下(1.TXT在当前目录下):
cp 1.txt /home/test/test2/2.txt
1.6 Linux移动文件夹命令 | 同时移动多个文件夹
① 移动单个文件到指定文件夹
mv source_file(文件) dest_directory(目录)
例如,将当前目录下的file1文件移动到指定目录LJY下:mv file1 /data/xxx/envs/LJY/
② 同时移动多个文件到指定文件夹
mv source_file1 source_file2 source_file3 -t dest_directory
options
-t, --target-directory=DIRECTORY 指定目标目录,移动多个源文件到此目录,此时目标目录在前,源文件在后(当然没必要这么死板~)
例如,将当前目录下的三个文件同时移动到指定目录LJY下:mv file1 file2 file3 -t LJY/
③ 如此亦可:mv file1 file2 file3 LJY/
(网上很多,比如多文件夹移动,一般使用-t;但是呢,没有它也行~)
1.5 关于远程连接服务器
所谓远程连接服务器,实际上就是配置所示脑图中的两个主要部分:Deployment和Python Interpreter;一个用于连接,一个用于解释。
① 脑图
② 关键页面
图一,远程部署:Deployment
图二,python解释器:Python Interpreter
详细请参见——如何远程连接服务器
1.4 如何下载github代码到服务器?
① 下载
wget 下载地址
例如,从github上下载所需代码:wget https://github.com/xxx.git
;
② 解压缩
unzip filename.zip
例如,对上一步下载的zip文件进行解压缩:unzip main.zip
1.3 如何在两台服务器之间传输文件
① 服务器间传输文件
scp -r /home/myfile username@192.000.000.000:/home/
传送门:如何在两台服务器之间传输文件
② 本地文件上传服务器
scp -r C:\Users\xxx\myfile username@192.000.000.000:/home/
可以看出,其实是一样的~
1.2 指定位置创建anaconda虚拟环境
我们为何要创建不同的anaconda虚拟环境呢?
一方面,不同的项目/代码需要不同的python环境,它们需要安装不同的python包,特定的虚拟环境可服务于特定的project;
另一方面,由于clone不同的代码,它们的python版本不尽相同,使用专用的虚拟环境,避免版本冲突…
① 创建命令
conda create --prefix=/[绝对路径]/[环境名称] python=[python版本号]
例如,创建:conda create --prefix-/data1/envs/python_37 python=3.7
;
查看创建成功:conda env list
② 激活虚拟环境命令
source\conda activate /[指定绝对路径]/[新环境名]
例如,关闭:conda deactivate
③ 关闭虚拟环境命令
conda deactivate
例如,激活:conda activate /data1/envs/ljy_MM_37
1.1 Ubuntu常用命令
① 查看存储空间
df -h
② 创建文件夹
mkdir a
③ 删除文件夹
rm -rf a
④ 查看文件目录
ls
⑤ 查看GPU信息
nvidia-smi