Skip to main content

Tiu MoAbout 5 min

使用国内镜像源

$ pip3 install pk_name(要安装的包) -i https://pypi.tuna.tsinghua.edu.cn/simple
ChannelURL
阿里云https://mirrors.aliyun.com/pypi/simple/
中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣https://pypi.douban.com/simple/
清华大学https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学https://pypi.mirrors.ustc.edu.cn/simple/

重邮镜像源

重庆邮电大学开源镜像站 | CQUPT OpenSource Mirroropen in new window

查看显卡占用

$ watch -n 0.1 -d nvidia-smi   #每隔0.1秒刷新一次

Linux 文件操作-常用命令

$ du -sh *  # 查看占用空间的文件
$ df  # 显示磁盘相关信息

$ ls  # 列出当前文件夹内容
$ cd YOUR_DIR_PATH  # 进入路径
$ mkdir YOUR_DIR_NAME  # 创建文件夹

远程查看Tensorboard

$ ssh -L 16006:127.0.0.1:6006 username@remote_server_ip
'or' $ ssh -L 8008:localhost:6006 用户名@远程服务器ip
$ tensorboard --logdir=/path/your/log/directory/ 

# 测试未成功 2021-0117-
$ tensorboard --host [YOUR IP ADDR] --logdir [YOUR LOG DIR] 

Pycharm 自定义变量

# PyCharm -> Preferences -> Live Templates
1. 'add' Template Group then 'add' Live Template
2. Abbreviation: time  # 触发词
3. Template: $date$  # 名称
4. Edit variables -> Expression: date("yyyy-MM-dd EEE HH:mm:ss")
5. No applicable contexts. Define -> Applicable in Everywhere

显卡驱动相关

# 开机卡在 /dev/sda3:clean,***files,***blocks,且磁盘未满
$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup  
$ sudo rm -rf /etc/X11/xorg.conf  

# 安装显卡驱动
-> 点击“软件和更新”,进入管理器,选择“附加驱动”选项卡

# 添加环境变量
$ sudo vim ~/.bashrc
$ source ~/.bashrc

if [ $LD_LIBRARY_PATH ]; then
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
else
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64
fi

if [ $PATH ]; then
    export PATH=$PATH:/usr/local/cuda/bin
else
    export PATH=/usr/local/cuda/bin
fi

if [ $CUDA_HOME ]; then
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
else
    export CUDA_HOME=/usr/local/cuda
fi

7.挂载磁盘

# 查看分区
sudo fdisk -l  

# 查询UUID
$ sudo blkid /dev/sda3

# 编辑/etc/fstab
$ sudo gedit /etc/fstab # 或者用vim

# <file system> <mount point> <type> <options> <dump> <pass>
'add' UUID=eb7568d0-fa94-4a1a-9fe6-75ff37faa310 /home/leng/NewDisk ext4 defaults 0 2

# 查看挂载
$ sudo mount -a  # 挂载后原来文件夹中的东西覆盖,取消挂载才能看到
$ df -h # 查看挂载

$ du -sh  # 查看当前文件夹大小

# 移除挂载
$ sudo umount /dev/sda3
# 复制 /home 至 / 
$ mkdir home_bak
$ cp -Rvp /home /home_bak

# 取消/home分区的挂载
$ sudo vim /etc/fstab

'#' UUID=eb7568d0-fa94-4a1a-9fe6-75ff37faa310 /home/leng/NewDisk ext4 defaults 0 2
$ umount /home
$ mv home_bak home
$ umount /home

$ reboot

8.切换CUDA版本

https://blog.csdn.net/u013905398/article/details/103799621

更新软链接

$ cd /usr/local/
$ sudo rm -rf cuda
$ sudo ln -s /usr/local/cuda-11.3 /usr/local/cuda

在home/下修改.bashrc的注释,即环境变量

# # for CUDA 8.0
# export PATH=/usr/local/cuda-8.0/bin:$PATH 
# export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/$LD_LIBRARY_PATH

# export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda/lib64”
# export CUDA_HOME=/usr/local/cuda

# added by cuda 11.3 installer
export PATH="/usr/local/cuda-11.3/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH"
export CUDA_HOME=/usr/local/cuda

然后更新 .bashrc

$ cp /home/gaoxb/.bashrc /home/chentaiyue/.bashrc
$ source .bashrc

遇到的问题:

Failed to initialize NVML: Driver/library version mismatch

重启就好了

创建新用户

$ sudo adduser xxxx
$ sudo usermod -aG sudo username  # 添加到 sudo 组
$ sudo deluser username sudo  # 从sudo组移除

$ getent group sudo  # 查看所有sudo 用户
$ groups user_name  # 查看单个用户组

$ cp /home/gaoxb/.bashrc /home/chentaiyue/.bashrc
$ source .bashrc
$ sudo addgroup groupname
$ sudo adduser username groupname

$ sudo chown -R 1000:1012 /opt/anaconda3


$ su - username  # 切换用户
$ sudo whoami # 显示当前
$ sudo ls -l /root  # 测试权限

$ sudo deluser --remove-home tt
$ sudo deluser --remove-all-files tt  # 删除用户所有


Ubuntu更改密码步骤:
 1、进入Ubuntu,打开一个终端,输入 sudo su转为root用户。 注意,必须先转为root用户!!!
 2、sudo passwd user(user 是对应的用户名)
 3、输入新密码,确认密码。
 4、修改密码成功,重启,输入新密码进入Ubuntu。


Ubuntu更改用户名步骤:
 1、进入Ubuntu,打开一个终端,输入 sudo su转为root用户。 注意,必须先转为root用户!!!
 2、gedit /etc/passwd ,找到代表你的那一行,修改用户名为新的用户名。 注意:只修改用户名!后面的全名、目录等不要动!
 3、gedit /etc/shadow,找到代表你的那一行,修改用户名为新用户名
 4、gedit /etc/group,你应该发现你的用户名在很多个组中,全部修改!
 5、修改完,保存,重启。

限制用户

who # 查看当前在线用户

# 限制用户内存
$ sudo vi /etc/security/limits.conf 

'add'
* hard core 0 
* hard rss 5000000  # 单位为kb 
* hard nproc 20 

$ sudo vi /etc/pam.d/login

'add'
session required /lib/security/pam_limits.so 

# 退出账户在重新登陆,使用下述命令可以查看内存配额
$ ulimit -a

# 限制用户磁盘空间

# touch /home/quota.user
# touch /home/quota.group
# chmod 600 /home/quota.user
# chmod 600 /home/quota.group
# quotacheck -acugvm

Once done, perform the fix quotas script again.

# /scripts/fixquotas –force

https://www.cnblogs.com/GodZhe/p/10911635.html

$ sync  # 释放内存
$ free -m # 查看内存 

systemctl restart lighdm  # 重启显示

ssh gaorui@10.16.125.247
ssh guest@10.16.74.91

put 源文件位置 目标位置
get 源文件位置 目标位置

scp -p 源文件位置 主机名@IP地址:目标位置

RTX A6000

169.254.82.253

0102768	
WDcqupt19900910

sudo adduser username
sudo usermod -aG sudo username

docker pull
docker run --name 容器名字 -idt 镜像id
docker restart 容器名字
docker attach 容器名字
docker commit 容器id 新镜像名:tag
docker save 镜像名 -o 压缩包名


vim name.txt                         打开文件

lspci | grep -i vga                   查看显卡
nvcc -V                                  查看cuda
nvidia-smi

du -sh *                                  查看占用空间大小

mkdir -p                                 创建文件夹
cp -r a.file b.file                       复制
mv a.file b.file                          移动

echo 内容>>文件
touch 文件名

unzip a.file -d path                   解压
tar -xf a.tar                               解压
tar -zcvf 新路径  打包目录          压缩

chomd a+u                             (降低)更改权限
sed -i 's/abs/xxx/g' file              修改文件内容(abs为被替换内容,xxx为替换内容)

source ~/.bashrc
vi ~/.condarc

dos2unix xxx.sh                     将windows脚本转化为linux脚本

watch -n 0.5 -d nvidia-smi

tmux new -s roclinux 新窗口
Ctrl+B;C                  新窗口
Ctrl+B;d                  退出
tmux ls                      查看
tmux a -t roclinux      恢复


os.path.dirname() 去掉文件名,返回目录
os.path.abspath() 返回绝对目录
os.listdir()             返回当前文件夹下的子目录
A.endswith('s')        判断文件A的格式是否是s

lambda x: x

np.fromfile(file_path, dtype= , count=-1)读取bin文件
np.setdiff1d([A],[B])   B中没有而A中有的元素
np.squeeze(A, axis=) 删除A的维度等于1的维度
np.expand_dims(A, i) 对矩阵A在i维度上增加一个维度
x[:, np.newaxis, :, :]    增加维度
np.concatenate((a,b,...), axis=) 在维度i上将多个矩阵拼接(注:多个矩阵在维度i上可以不等,但在其他维度上必须一致)
np.hstack()                以列为单位进行拼接
np.vstack()                以行为单位进行拼接
np.split(A, [n,m,k],i)   在维度i上拆分  
np.identity()              单位矩阵
np.eye()                    类单位阵
np.linalg.norm(A, ord=1/2/np.inf) 矩阵A的ord范式
np.trace(A)               矩阵的迹
np.mgrid[:,:]             生成矩阵
np.ravel()                 拉直
np.c_[A,B]                配对
np.random.rand      均匀分布
np.random.randn    正态分布
np.random.randint(1,100,[5,5])  随机整数

tf.concat([a, b, c], i)    对a,b,c在i维度上拼接
tf.split(A, [n,m,k], i)    对A在i维度上拆分成三块分别为n,m,k的子块

torch.from_numpy()