自己整理的一些命令,有些简单常用就是记不住,有些不太常用但很有用,一并在此记录,以后也会更新。
没什么逻辑,比较乱,只当记录。
1. 链接CUDA:
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64
2. CUDA报错
Q: Couldn't open CUDA library libcupti.so.9.0. LD_LIBRARY_PATH: /usr/local/cuda-9.0/lib64
解决方法: export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
3. Linux 查看文件大小
显示文件大小:
$ du -sh * | sort -n
显示磁盘情况:
$ df -h
统计当前目录下文件的个数(不包括目录):
$ ls -l | grep "^-" | wc -l
统计当前目录下文件的个数(包括子目录):
$ ls -lR| grep "^-" | wc -l
查看某目录下文件夹(目录)的个数(包括子目录):
$ ls -lR | grep "^d" | wc -l
命令解析:
ls -l
长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。
grep "^-"
过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"。
wc -l
统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。
4. Anaconda 更换源:
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 --remove-key channels
5. conda 环境
source activate py36 (py36是个环境名)
退出环境
source deactivate
6. 对于解压多个.tar.gz文件的,用下面命令:
for tar in *.tar.gz; do tar xvf $tar; done
7. 指定GPU
export CUDA_VISIBLE_DEVICES=1
8. 设置文件权限
例如,ssh用户是qinuxman,我不想它访问/root目录及下面的文件和目录,那么我就这样设置
setfacl -R -m u:qinuxman:- /root
-R 是递归的意思,-m就是设置和修改的意思,u就是user的意思,冒号后面是用户名又一个冒号后面是权限,-表示没有任何权限 /root是要设置的目录
如果要给它读权限,把-替换成r就可以了,还有rwx需要什么就给什么
设置好以后,ll看权限的时候,文件权限后面有个+号,表示这个文件设置了ACL规则,使用
getfacl /root
命令查看/root目录的ACL规则详情。
要删除ACL规则就
setfacl -b /root
setfacl -R -m u:usrname:- /root ##-代表无权限,rwx为所有权限 /root 代表要设置的目录
9. pip使用清华镜像加速:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/
10. 终端配色代码:
把下面的命令直接复制粘贴在 ./bashrc 文件中即可。
# set color options for terminal
export CLICOLOR=1
PS1="\[\e[32;1m\][\[\e[33;1m\]\u\[\e[31;1m\]@\[\e[33;1m\]\h \[\e[36;1m\]\w\[\e[32;1m\]]\[\e[34;1m\]\$ \[\e[0m\]"
unset LS_COLORS
11. pip 升级包
pip install --upgrade pip
12. Vim查找
在normal模式下按下 / 即可进入查找模式,输入要查找的字符串并按下回车。
Vim会跳转到第一个匹配。 按下 n 查找下一个,按下 N 查找上一个。 Vim查找支持正则表达式,例如 /vim$ 匹配行尾的 "vim
13. 在linux下执行sh文件时提示下面信息:
-bash: ./xx.sh: Permission denied
解决:
chmod 777 xx.sh
14. 通用
# -*- coding: utf8 -*-
15. 查看GPU信息
watch --color gpustat
watch -n 1 gpustat -n 后加数字,表示刷新速度(秒)
16. 快速输出环境包
pip freeze > requirements.txt # 输出本地包环境至文件
pip install -r requirements.txt # 根据文件进行包安装
17. jupyter 清除输出:
from IPython.display import clear_output
clear_output(wait = True)
18. 检测设备信息:(gpu, cpu)
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
19. 建立软链接,
相当于把原目标文件夹复制一份到 目标文件夹
ln -s 源文件 目标文件。
有创建就有删除
rm -rf symbolic_name 注意不是rm -rf symbolic_name/
来自 https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/05/2199534.html
20. jupyter中添加conda虚拟环境
首先安装ipykernel
在terminal下执行命令行:
conda install ipykernel
在虚拟环境下创建kernel文件
在terminal下执行命令行:
conda install -n 环境名称 ipykernel
比如我的虚拟环境叫python27(后面举例都默认这个虚拟环境),那么我的就是:conda install -n python27 ipykernel
激活conda环境
在terminal下执行命令行:
windows版本:source activate 环境名称 我的命令是:source activate python27
linux版本:source activate 环境名称我的命令是:activate python27
将环境写入notebook的kernel中
python -m ipykernel install --user --name 环境名称 --display-name "在jupyter中显示的环境名称"
这里引号里面的名称自己可以随便起,用于在jupyter里面做标识,这里我仍然在jupyter里面叫python27,所以我的命令是:
python -m ipykernel install --user --name python27 --display-name "python27"
打开notebook服务器
在terminal下执行命令行
jupyter notebook
来自 https://blog.csdn.net/u014665013/article/details/81084604
21. conda安装 opencv3
conda install -c https://conda.binstar.org/menpo opencv3
22. Linux挂载硬盘
查看硬盘信息命令:fdisk -l
查看挂载后的信息:df -h
新硬盘的话,首先要格式化:
sudo mkfs -t ext4 /dev/sdb
再挂载: /xxx/ 为新建的要挂载的文件夹
sudo mount /dev/sdb /xxx/
df -h 查看一下,硬盘已经挂载上了。
23. 查看硬盘读写:
- 命令 iotop(需要root)
- 查看硬盘读写信息:
iostat -x -m sda1 sdb1 1 2
查看sda1 和sda2 硬盘负载信息,每1秒输出一次,共输出2次。
参数:
-c 仅显示CPU统计信息.与-d选项互斥.
-d 仅显示磁盘统计信息.与-c选项互斥.
-k 以K为单位显示每秒的磁盘请求数,默认单位块.
-p device | ALL
与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:
# iostat -p hda
或显示所有设备
# iostat -p ALL
-t 在输出数据时,打印搜集数据的时间.
-V 打印版本号和帮助信息.
-x 输出扩展信息.
输出的含义:
avg-cpu段:
%user: 在用户级别运行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%idle: CPU空闲时间的百分比.
Device段:
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read: 读入的block总数.
Blk_wrtn: 写入的block总数.
24. 服务器之间传递文件:
Rsync 它比scp更强大,支持“不覆盖”原目录
例子:rsync -avz --progress /root/client/ [email protected]:/home/work/
//将本机的/root/client/拷贝至远程的202.112.23.12:/home/work/目录,--progress可以查看拷贝的过程
例子:rsync -avzu --progress /root/client/ [email protected]:/home/work/ //u选项,指定不覆盖原目录内容
升级jupyter lab
conda update jupyter_core jupyter_client