常用又容易遗忘的指令备忘录
linux命令和相关应用
增加用户
useradd -m <username> -p <passwd> -s <shell> -G docker
文件权限
linux的文件管理,权限管理是绕不开的话题,如下实例是一个文件的属性
drwxr-xr-x 22 root root 4096 9月 2 19:33 logs/
常用的权限指令如下
chmod +x filename -R
增加文件的可执行权限
chown owner filename -R
修改文件拥有者的信息,实例如下
golfbears@golfbears-pc:chown golfbears logs -R
drwxr-xr-x 22 golfbears root 4096 9月 2 19:33 logs/
chgrp owner filename -R
修改文件所属群组信息
实例如下
golfbears@golfbears-pc:chgrp golfbears logs -R
drwxr-xr-x 22 golfbears golfbears 4096 9月 2 19:33 logs/
linux给用户添加sudo权限
chmod u+w /etc/sudoers
“vim /etc/sudoers”,进入编辑模式,找到这一 行:“root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL”(这里的xxx是你的用户名),然后保存退出。
chmod u-w /etc/sudoers
linux 给用户添加用户组
groups 找出目标用户组
usermod -a -G sudo user 将user添加到sudo用户组
groups user 检查添加是否成功
目录查询
递归统计当前目录下文件夹的个数
ls -lR | grep "^d" | wc -l
如果不想递归
ls -l | grep "^d" | wc -l
递归统计当前目录下文件的个数
ls -lR| grep "^-" | wc -l
如果不想递归
ls -l | grep "^-" | wc -l
文件和磁盘
显示磁盘分区上可以使用的磁盘空间
df -h/-H
显示指定的目录或文件所占用的磁盘空间
du -h/-H
最常用的还有这条:只显示第一级子目录
du --max-depth=1 -h
删除0size的批量文件
find . -name "*" -type f -size 0c | xargs -n 1 rm -f
free 可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer
显示像硬盘这样的 sata 设备的信息
sudo hdparm -i /dev/sdb
cuda配置
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:"$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export PATH=/usr/local/cuda/bin:$PATH
docker配置
Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。docker应用要分清楚如下三个概念:
- 镜像(Image): 类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
- 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
- 仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。
我们最常用的是从镜像运行一个容器,在容器(沙盒)运行完后,停止并删除这个容器,而通过挂载宿主文件的方法,将运行的结果传递给宿主计算机。
基本命令
docker version、docker --help、docker pull centos、docker images
在dokcer hub上找到你要的镜像,下载到本地
pull tensorflow/tensorflow:2.3.0
利用镜像启动一个新的容器
docker run --name=golfbears --gpus=all -it -v /home:/home tensorflow/tensorflow:2.3.0
docker run -it centos:latest /bin/bash
docker run -it -v /test:/soft centos /bin/bash
exit退出后查找你建立的容器
docker ps -a
启动、停止、重启和再次进入以及删除容器
docker start container_id
docker stop container_id
docker restart container_id
docker attach container_id
docker rmcontainer_id
利用上述命令就可以在镜像的容器里简单的运行你要的程序了。
查询容器并将自定义的容器生成镜像文件
docker ps -a
docker commit -m "centos with git" -a "name" 72f1a8a0e394 name/centos:git
udo docker commit -m "audio neural networks" -a "golfbears" ee89a5d03e1c tensorflow/tensorflow:2.3.0.golfbears
nvidia 工具
nvidia-smi
nvcc --version
python偶尔用到的重要方法
os&sys
判断目录是否为空if not os.listdir(path_dir)
这个是对files=os.listdir(path_dir)的灵活使用,返回的如果是个空的列表,也就是说明目录时空的。
增加执行目录到系统sys.path.append(os.path.abspath(os.curdir))很多场景下需要设定一下,不认模块的import关系容易报错
virtualenv篇
pip install virtualenv 安装
virtualenv -p python3 myenv 创建
source myenv/bin/activate 激活启动
deactivate 停止
动态切换python版本
update-alternatives --display python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
sudo update-alternatives --config python