『集合』常用命令行命令整理(不定期更新)

Author Avatar
IDforHYIT 7月 30, 2019

本页面访问量

  • 在其它设备中阅读本文章

整理的一些个人平时经常用到的命令,包括且不限于LinuxDockerpipConda等,减少些反复检索。不全、不定期更新补充同步个人笔记~


符号约定

  • # 表示下一行命令语句简要说明 (多个#表示对附近命令的具体解释)
  • $ 表示当前行命令语句执行语句 (注意替换[]中内容)
  • > 表示上一行命令语句输出范例 (不全有)
  • - 表示对附近命令的具体段落解释,同多个#
  • others 行前无任何符号表示特殊内容:附近命令欲操作的文本替换内容、特殊命令、忘记加行前约定符号的、etc

Linux

系统命令

# 查看系统内核版本
$ uname -a
> Linux ubuntu-pc 4.15.0-47-generic #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

# 查看系统发行代号
$ lsb_release -a
> No LSB modules are available.
> Distributor ID:    Ubuntu
> Description:    Ubuntu 18.04.2 LTS
> Release:    18.04
> Codename:    bionic

# 升权命令
$ sudo nautilus
- 执行后,系统自动打开文件管理界面,在这个界面里可以像在Windows系统下的超级管理员账户一样,拥有最高权限,可对文件/文件夹随意操作复制,粘贴 -

文件操作命令

# 删除文件夹及其子文件
$ rm -rf 

升级命令

# 升级安装包相关的命令,刷新可安装的软件列表(但是不做任何实际的安装动作)
$ sudo apt-get update
# 进行安装包的更新(软件版本的升级)
$ sudo apt-get upgrade
# 进行系统版本的升级(Ubuntu版本的升级)
$ sudo apt-get dist-upgrade 
# Ubuntu官方推荐的系统升级方式,若加参数-d还可以升级到开发版本,但会不稳定
$ do-release-upgrade 

换源步骤

# 查看Ubuntu的版本号
$ lsb_release -c
# 备份内置数据源
$ cp /etc/apt/sources.list /etc/apt/sources.list_backup
# 编辑阿里云数据源
$ sudo vi /etc/apt/sources.list
## 注释原内容,添加如下内容,注意`bionic`替换为本机对应的版本代码
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

# 更新配置
$ sudo apt-get update

su:authentication failure的解决办法

# su:authentication failure的解决办法
$ sudo passwd root 
> Enter new UNIX password: 
> Retype new UNIX password: 
> passwd: password updated successfully
# Linux虚拟机共享主机的SSR实现翻墙
https://www.zybuluo.com/CrazyHenry/note/1097693

- 在主机所在系统(Win10)执行ipconfig, 
- VMnet8对应的就是NAT模式的网络,VMnet1对应的就是桥接模式的网络。还有一个就是主机的无线网络。
- 将win10主机的VPN客户端选择“允许局域网的连接”
- 在Ubuntu系统中,输入无线网络或者VMnet8的ipv4地址,端口写1080,然后应用。

Ubuntu 安装 conda 包管理

# Ubuntu 安装 conda 包管理

# 在linux在使用以下命令下载miniconda
$ wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 安装
$ sh Miniconda3-latest-Linux-x86_64.sh
## 输入yes,回车,输入yes,重新登录

# 添加镜像
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
$ conda config --set show_channel_urls yes

# 创建Python3.6环境(目前较流行通用的版本)
$ conda create -n py36 python=3.6
# 设置默认python
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
# 如果要切换到Python2,执行:
$ sudo update-alternatives --config python

Ubuntu 系统安装 Redis

# Ubuntu 系统安装 Redis
$ sudo apt-get update
$ sudo apt-get install redis-server
# 启动 Redis
$ redis-server
# 查看 redis 是否启动
$ redis-cli

Docker

更换国内镜像源

# 更换国内镜像源
- /etc/docker/daemon.json(Linux)
- %programdata%\docker\config\daemon.json(Windows)
## 在该配置文件中加入(没有该文件的话,请先建一个)
{
    "registry-mirrors": ["http://hub-mirror.c.163.com"],
    "max-concurrent-downloads": 10,
    "max-concurrent-uploads": 20,
    "live-restore": true
}
# 执行如下两个命令才会生效
$ sudo systemctl daemon-reload 
$ sudo systemctl restart docker

暂时使用第三方镜像源命令实例

# 暂时使用第三方镜像源命令实例
## 网易
docker pull hub-mirror.c.163.com/ufoym/deepo:all-py36-cu90
## 中科大
docker pull docker.mirrors.ustc.edu.cn/ufoym/deepo

## `:`后表示要拉取得具体镜像标签版本,没有的话拉取过来的是默认的
docker pull hub-mirror.c.163.com/mxnet/python:1.4.1_gpu_cu90_py3

查看cudna及cudnn版本

# 查看cuda 版本 
$ cat /usr/local/cuda/version.txt
> CUDA Version 9.0.176
# 查看cudnn 版本 
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
> define CUDNN_MAJOR 7
> define CUDNN_MINOR 0
> define CUDNN_PATCHLEVEL 5

常用docker操作命令

# 创建容器
$ docker images    ## 获取镜像ID
$ nvidia-docker run -d -it --name="[容器名]" [镜像ID] bash

# 进入容器
$ docker exec -it [容器名或容器ID] bash

# 终止容器
$ docker stop [容器名或容器ID]

# 删除容器
$ docker rm [容器名或容器ID]

# commit
$ docker commit -a "[提交用户名]" -m "[提交说明]" 4668a778b55a mxnet_cv:v2-cpu

# 删除镜像
$ docker ps    ## 如有欲删除镜像的运行容器实例,先终止容器并删除容器
$ docker images
$ docker rmi [镜像ID]

Vim

# 关闭行号
:set nonumber

# 开启行号
:set number

Git

# git config

# 查看当前配置
git config --list

pip

换国内源

$ pip install pip -U
$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 导出项目包依赖
## 生成requirements.txt文件
pip freeze > requirements.txt
## 安装requirements.txt依赖
pip install -r requirements.txt

pipenv

参考:https://hellopython.readthedocs.io/zh_CN/latest/pipenv.html#virtualenv

# 将虚环境文件的默认创建目录设置在项目根目录下
## 新建系统环境变量
===
Name:WORKON_HOME
Value:PIPENV_VENV_IN_PROJECT
===
- 在windows下使用pipenv shell时,虚拟环境文件夹会在C:\Users\Administrator\.virtualenvs\目录下默认创建,为了方便管理,将这个虚环境的文件的位置更改一下
- 新建一个名为“ WORKON_HOME ”的环境变量(如果已存在就忽略此步骤),然后将环境变量的值设置为“ PIPENV_VENV_IN_PROJECT ” 

更换项目包源镜像

# 编辑修改项目文件夹下的Pipfile(也就是说修改仅对当前项目有效)

[[source]]

url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
verify_ssl = true
name = "pypi"

> 也可以到pyenv源码中修改替换对应内容,达到对所有项目默认使用国内镜像源的效果
> 修改Pipenv源码文件...\Lib\site-packages\pipenv\project.py的127行
...
else:
    DEFAULT_SOURCE = {
        u"url": u"https://pypi.tuna.tsinghua.edu.cn/simple/",
        u"verify_ssl": True,
        u"name": u"pypi",
    }
...

常用命令

# 将 virtualenv 环境的位置改为工程目录下
> 在项目根目录下手动创建 .venv 目录,然后再执行 pipenv install

# 创建Pipenv虚拟环境
$ pipenv install 
## or 
$ pipenv shell
- 初始化虚拟环境后,会在项目目录下生成Pipfile和Pipfile.lock,以及目录.venv
- Pipfile和Pipfile.lock为pipenv包的配置文件,代替原来的 requirement.txt
- 项目提交时,可将Pipfile 文件和Pipfile.lock文件一并提交,待其他开发克隆下载,根据此Pipfile运行命令pipenv install –dev生成自己的虚拟环境

# 安装包
$ pipenv install [package_name]

# 卸载包
$ pipenv uninstall [package_name]

# 查看安装的包的情况
$ pipenv run pip list

# 删除卸载环境
$ pipenv --rm
- 注意: 删除虚拟环境后,只是删除了.venv目录,但项目下面的Pipfile和Pipfile.lock并没有被删除。

# 优化Pipfile.lock以防太慢
pipenv install --skip-lock [package_name]
pipenv lock

Conda


常用conda命令

# 查看本机已有环境
$ conda info -e

# 激活目标环境
$ conda activate [envs_name]

# 创建新环境
$ conda create -n py36 python=3.6
# 激活目标环境
$ conda activate py36
# 查看当前激活环境已安装包
$ conda list
# 删除环境
$ conda env remove -n py36

## 除了使用pip命令来生成及安装requirement.txt文件以外,也可以使用conda命令来安装。
$ conda install --yes --file requirements.txt

Jupyter

Google colab 本地编译器命令

# 目标环境
$ conda activate py36
# 安装并启用
$ pip install jupyter_http_over_ws
$ jupyter serverextension enable --py jupyter_http_over_ws
# 启动服务器并进行身份验证
$ conda activate py36
$ jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' --port=8888 --NotebookApp.port_retries=0

# 查看当前工作目录
$ !pwd
# 切换目录
$ %cd

PyInstaller

# UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 122: invalid continuation byte
out = out.decode(encoding, errors='ignore')

This blog is under a CC BY-NC-SA 3.0 Unported License
本文链接:https://idforhyit.github.io/2019/07/30/Command_Notes/