Linux服务器跑深度学习的基础代码

  • Linux 通过命令行关闭进程
ps -u     %显示该用户所有进程的PID号
ps -aux
ps -ef
kill PID     %杀死该进程
  • 通过后台运行python程序
source activate pytorch110    %必须要先激活环境
cd /....    %再进入对应文件的目录
nohup python main.py > myout.file 2>&1 &
  • 进入目录
cd / #表示进入系统根目录
cd usr/ #表示进入当前目录下的usr目录
cd local/ #表示进入当前目录下的local目录
cd ./bin #表示进入当前目录下的bin目录
cd .. #表示进入当前目录的上一级目录
cd ../.. #表示进入当前目录的上级目录的上一级目录
cd /usr/local/bin #进入/usr/local/bin目录
cd ../etc #表示进入和当前目录同级的etc目录 #..表示当前目录的上一级目录 ../etc表示当前目录上级目录下的etc目录(和当前目录同级)
cd ~ #表示进入当前用户的根目录(cd ~ 和直接执行cd后不加目录的效果相同)
	 #例如:root用户进入/root目录,bow用户进入/home/bow目录
cd ~/data #表示进入当前用户根目录下的data目录 例如:root用户则进入了/root/data目录
  • 创建一个目录
mkdir data #在当前目录下创建一个data目录
mkdir ./dir #在当前目录下创建一个dir目录
mkdir /root/tmp #在/root目录下创建一个tmp目录
# mkdir创建目录时,只有在目录的上级目录存在时,才会创建
mkdir -p 目录 #创建目录时,如果没有父目录,会创建父目录,递归地创建目录
mkdir -p a/b/c #在当前目录下创建3级目录
  • 创建文件
touch 1.txt #在当前目录下创建一个1.txt文件
touch /root/2.txt #在/root目录下创建一个2.txt文件
  • 查找文件
find *.txt #查找txt文件
  • 查看当前目录下的文件
ls #表示查看当前目录下的文件
ls -l #表示查看当前目录下的详细信息
ls -a #表示查看当前目录下的所有文件(包含隐藏文件)
ls -la #表示查看当前目录下的所有文件(包含隐藏文件)的详细信息
ls -lh #h是以适当的单位来显示文件的大小 ls -lh表示查看当前目录下的文件的详细信息,并以合适单位显示文件大小 
ls -l / #表示查看根目录"/"下文件的详细信息
ls /etc #表示查看目录/etc下的文件
ls --help #查看命令的帮助文档
  • 删除文件或文件夹
    为什么不直接使用winscp手动删除是因为不知道什么原因,删除的很慢很慢,而且很消耗本地CPU
#先通过 cd/ 命令进入相应的文件夹中
rm -rf dir1
#使用 rm -rf 的时候一定要格外小心,linux没有回收站的
rm -rf * #删除当前目录下的所有内容
rm -rf a/* #删除当前目录下a目录下的所有内容
rm -rf *.txt #删除当前目录下的所有txt文件
rm -rf *s* #删除当前目录下所有名字中包含s的文件或文件夹
  • 将一个文件夹下的所有内容复制到另一个文件夹下
cp -r /home/packageA/* /home/cp/packageB/
或
cp -r /home/packageA/. /home/cp/packageB/
可能存在输入命令一段时间内没反应的 状况,等上一段时间就好了
  • 将一个文件夹复制到另一个文件夹下
cp -r /home/packageA /home/packageB
#运行命令之后packageB文件夹下就有packageA文件夹了。
cp 1.txt a/ #将1.txt文件拷贝到a目录下
cp 1.txt 2.txt #将1.txt拷贝到2.txt
cp -r a data #-r参数表示将目录和目录下的文件一起拷贝,将a目录拷贝到data目录

可能存在输入命令一段时间内没反应的 状况,等上一段时间就好了

  • 移动一个文件夹到另一个文件夹下面
mv /home/packageA /home/packageB/
或
mv /home/packageA /home/packageB

如果是移动文件夹下的所有文件的话就可以文件夹后面跟上 /*
mv /home/packageA/* /home/packageB/

可能存在输入命令一段时间内没反应的 状况,等上一段时间就好了

  • 远程拷贝
scp -r 本地文件路径 用户名@ip[:port]:远程路径 #将本地文件拷贝到远程服务器
scp -P 255 -r 2.txt root@192.168.5.105:/root/data/ #将本地的2.txt拷贝到192.168.5.105的/root/data目录下
 
scp -r 用户名@ip[:port]:远程文件路径 本地路径 #将远程文件拷贝到本地
scp -r -p 255 root@192.168.5.105:/root/3.bak /root/data #将远程的/root/3.bak文件拷贝到本地的/root/data目录
  • 修改文件夹及其子文件权限
sudo chmod 777 -R /home/data/temp/*
  • 查看系统硬盘使用情况
df #查看系统硬盘使用情况
df -h #查看硬盘使用,并以合适单位显示大小
  • 压缩命令
  • zip命令
安装zip和unzip命令:
yum -y install zip unzip

zip压缩命令
zip 2.zip 2.txt #将2.txt压缩到2.zip中
zip data.zip data #只会压缩文件夹,不会压缩文件夹下的内容
zip da.zip da/* #压缩文件夹和文件夹内的文件(压缩文件夹和它的下一级文件) 
zip -r data.zip date #-r表示递归地将文件夹及它的子目录文件全部压缩 

unzip解压命令
unzip 2.zip #将2.zip压缩包解压到当前目录下
unzip -l 压缩文件名 #不解压文件,查看压缩包内的文件
unzip -l da.zip #查看da.zip压缩文件中包含的文件
unzip da.zip -d 目标目录 #将压缩文件解压到指定目录 
unzip da.zip -d tm/ #将压缩文件da.zip解压到tm目录下
  • tar压缩命令
压缩.tar包:
tar cvf 压缩文件名 要压缩的文件或目录
tar cvf 2.tar 2.txt #将2.txt压缩为2.tar包
tar cvf data.tar data #将data目录夸张到data.tar包中

解压.tar包:
tar xvf 2.tar #将2.tar解压到当前目录
tar xvf 2.tar -C a/ #将2.tar解压到a目录
tar xvf data.tar #解压data.tar到当前目录

压缩.tar.gz包:
tar zcvf 压缩文件名 要压缩的文件
tar zcvf tm.tar.gz tm #将当前目录下的tm目录压缩为tm.tar.gz

解压.tar.gz包:
tar zxvf 压缩文件名
tar zxvf tm.tar.gz #将tm.tar.gz解压到当前目录
gzip命令,将文件压缩为.gz包(可以用来压缩.tar文件)
gzip 要压缩的文件 
gzip 2.txt #将2.txt压缩为2.txt.gz
gzip data.tar #将data.tar压缩为data.tar.gz


  • 查看文件
cat 1.txt #查看当前目录下1.txt的内容
cat /root/1.txt #查看/root目录下的1.txt文件内容
  • 创建环境及安装python第三方库
# 创建新环境,后面需要指定python的版本,否则可能无法创建
conda create --name 新环境的名称 python=3.6
# 观察已有环境
conda env list
# 完成之后进入环境
Linux: source activate pytorch110py36
Win: conda activate pytorch110py36
# 先检查一下查看第三方库安装的位置是否正确
pip show wheel
# 安装新的第三方库
pip install torch
#有些时候需要在后面加--user
pip install torch --user
# 使用国内源
pip install --index https://pypi.mirrors.ustc.edu.cn/simple/  + 第三方库名称
# 查看已安装库
conda list
conda list -n pytorch110py36
# 退出当前环境
source deactivate 环境名

在这里插入图片描述

  • 配置环境
# 观察已有环境
conda env list
# 激活进入pytorch环境
source activate 环境名
# 退出当前环境
source deactivate 环境名
  • 观察当前环境pytorch的版本(先激活环境)
python
import torch
torch.__version__
  • linux查看当前路径
pwd
  • 修改密码
passwd
  • 查看文件夹大小
df -h		# 查看总内存使用情况
du -sh 		# 查看所在文件夹内存大小
du -h 		# 查看该目录下“所有子文件”大小
du -sh *	# 查看该目录下所有文件及文件夹的大小
  • 打开软件
# 在当前环境pytorch下打开spyder(先激活环境)
spyder

# 使用matlab,打开命令窗口,输入
matlab

# 使用pycharm
cd /opt/pycharm-community-2018.3.1/bin
sh pycharm.sh
#打开后需要手动设定一下解释器,pytorch的解释器:
/opt/Anaconda3/envs/pytorch/python
  • 配置显卡
# 观察显卡占用
nvidia-smi

# 持续观察显卡占用
watch nvidia-smi

# 退出持续观察显卡占用
Ctrl +C

# 设置GPU卡
 # 在命令行窗口设置
export CUDA_VISIBLE_DECIVES=0
# 在.py文件中设置
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
# 在.py文件中设置方便,但有时候可能会出错
  • 服务器添加或删除用户
# 推荐使用adduser,输入下方命令后直接提示输入密码,同时自动在home文件夹下创建该用户名的文件夹,而使用useradd命令用起来很麻烦
sudo adduser pipixia
# 删除用户
sudo userdel pipixia
  • 服务器出现问题
  1. 驱动问题:
# 使用watch nvidia-smi时报错:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

解决:

ls /usr/src | grep nvidia
# 显示安装的nvidia版本:418.56
sudo apt install dkms
sudo dkms install -m nvidia -v 418.56
  1. 权限问题
useradd:无法锁定 /etc/passwd,请稍后再试

解决:
这是有可能是因为修改权限sudoers文件,但并没有关闭将 /etc/sudoers的权限修改为只读。通过下面命令进行修改。

# 这个只能在终端使用,无法通过ssh
pkexec chmod 0440 /etc/sudoers
# 通过ssh解决:
https://www.bianchengquan.com/article/605891.html

注意该命令只能在主机的终端才能执行成功,在ssh上不可以!会报以下错误:

Authentication is needed to run `/usr/sbin/visudo' as the super user
Authenticating as: ubuntu,,, (ubuntu)
Password:
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized
  • 4
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值