常用命令一览
矩池云目前提供的镜像均为 Linux 环境,为了方便大家使用矩池云主机,我们整理了使用过程中常用的一些命令行命令,希望能够对大家有所帮助。
1. Python
Python 是机器学习中最常用的语言,因此矩池云提供了多种 Python 版本的镜像供大家使用。 矩池云目前支持在 Web 端使用 JupyterLab 工具编写 Python,也支持本地 IDE 的远程连接,您可在本地 IDE 中进行配置。
JupyterLab 是一个 Python 的交互式 shell,既支持 Python 脚本运行又支持 Markdown 文档编写,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数,相比 Python 原生 Shell 体验更好。
1.1. Python 运行
JupyterLab 默认生成和使用的文件是 IPython 文件(.ipynb
),若您使用的是 Python 文件(.py
),需要在 Shell 中使用 python 命令运行。
点击 Terminal 进行创建。
在命令行窗口中输入如下命令。
shell复制代码python main.py
会开始执行 main.py
文件
若您在命令行窗口中输入 python
,会进入 Python 交互式环境中,可以输入任何 Python 代码,回车后会立刻得到执行结果。输入 exit()
并回车可退出 Python Shell。
Python 的基本语法、数据类型、函数、第三方库等,可通过各类教材、教程和学习网站学习,本文不再赘述。
1.2. pip 命令
pip 是通用的 Python 包管理工具,提供了 Python 包的查找、下载、安装、卸载的功能。pip 命令可以在 Shell 中运行,也可以在 IPyhon 中通过 !pip
的方式运行。
若矩池云预置的 Python 包无法满足您的需求,您可以通过 pip 命令自行安装,或联系矩池云小助手预置添加。
您可运行 pip
命令,以查看 pip 命令的使用方式。
shell复制代码pip <command> [options]
列表列出已安装的包。
shell复制代码pip list
列表列出有新版本的第三方库。
shell复制代码pip list --outdated:
下面以 beautifulsoup4 包为例,例举常见的 pip 命令。
安装最新版本的 beautifulsoup4 包。
shell复制代码pip install beautifulsoup4
安装指定版本的 beautifulsoup4 包。
shell复制代码pip install beautifulsoup4==4.0.1
升级为最新版本的 beautifulsoup4 包。
shell复制代码pip install -U beautifulsoup4
下载指定源的 beautifulsoup4 包。
shell复制代码pip install beautifulsoup4 -i http:mirrors.aliyun.com/pypi/simple/
下载 beautifulsoup4 包。
shell复制代码pip download beautifulsoup4
卸载 beautifulsoup4 包。
shell复制代码pip uninstall beautifulsoup4
展示 beautifulsoup4 包的信息。
shell复制代码pip show beautifulsoup4
2. BASH 常用命令
BASH 命令的运行环境包括:
- JupyterLab 的 Terminal
- JupyterLab 的 IPython 文件中,前面加"!"
- 您本地的 BASH Shell 。
2.1. 文件系统命令
列出当前目录下所有文件和目录。
shell复制代码ls
创建文件。
shell复制代码touch filename
创建目录。
shell复制代码mkdir dirName
确保目录名称存在,不存在的话新创建。
shell复制代码mkdir -p dirName
查看文件内容。
shell复制代码cat filename
查看文件,支持翻页,支持搜索。
shell复制代码less filename
查看文件前10行内容。
shell复制代码head filename
查看 filename 文件前 20 行内容。
shell复制代码head -n 20 filename
显示文件尾部,默认显示 10 行,和 head 类似,也可以自定义显示的行数,最常用的 tail -f file 监控日志。
shell复制代码tail filename
查看文件的行数,单词数,和字符数等信息。
shell复制代码wc filename
将文件从一个位置移动到另外一个位置,f1 文件的原路径,f2 是目标路径。
shell复制代码mv f1 f2:
将文件从一个位置复制到另外一个位置,f1 文件的原路径, f2是目标路径。
shell复制代码cp f1 f2
删除文件。
shell复制代码rm filename
删除该目录下的所有文件及目录。
shell复制代码rm -r foldername
更改文件的读取,写入和执行权限,-options 最高权限为 777 。
shell复制代码chmod -options filename
压缩与解压
把 mydata 目录压缩为 mydata.zip。
shell复制代码zip -r mydata.zip mydata
直接解压 zip 文件。
shell复制代码unzip mydata.zip
把 mydata.zip 解压到 mydatabak 目录里面。
shell复制代码unzip mydata.zip -d mydatabak
压缩file文件,生成file.gz的压缩文件,并删除file。
shell复制代码gzip file
递归的压缩dir目录下的文件。
shell复制代码gzip -r /dir
解压缩file.gz文件。
shell复制代码gzip -d file.gz
将etc文件夹打包压缩成gz格式,并显示压缩详情。
shell复制代码tar -czvf myetc.tar.gz etc
解压缩 myetc.tar.gz 到当前目录。
shell复制代码tar -xzvf myetc.tar.gz
将 myetc.tar.gz 解压缩到指定目录/home。
shell复制代码tar -xzvf myetc.tar.gz -C /home
find 命令
find 可用于查找文件或目录,find 命令非常强大,几乎可以查询到大部分场景下你希望的条件的内容。
shell复制代码find path -option [ -print ] [ -exec -ok command ] {} \;
查找当前目录及其子目录下所有延伸档名是 py 的文件。
shell复制代码find . -name "*.py"
在root目录及其子目录下查找 passwd 文件。
shell复制代码find / -name passwd
查找最近工作目录下有777权限的所有文件。
shell复制代码find . -type f -perm 0777 -print
查找根目录下所有只读文件。
shell复制代码find / -perm /u=r
查找当前目录及其子目录下所有最近 20 天内更新过的文件。
shell复制代码find . -ctime -20
查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们。
shell复制代码find /var/log -type f -mtime +7 -ok rm {} \;
2.2. 文本操作命令
查找文件内的文本,搜索与一个或多个正则表达式匹配的文本行,并仅输出匹配的行。
shell复制代码grep pattern file
查找 file 中包含 aaa 的内容。
shell复制代码grep aaa file
查找 file 中包含 aaa (不区分大小写)的内容。
shell复制代码grep -i aaa file
查找 aaa 出现的次数。
shell复制代码grep -c aaa file
查找 aaa 的内容,显示每一行的行号。
shell复制代码grep -n aaa file
查找 file 中包含 aaa 以及上下 20 行的内容。
shell复制代码grep -C 20 aaa file
输出一个文件的行数、单词数和字符数。
shell复制代码wc filename
对文件的行进行排序。
shell复制代码sort filename
省略重复的行。
shell复制代码uniq filename
输出指定内容。
shell复制代码echo "Hello World"
tr 把所有小写字母变成大写。
shell复制代码cat example.txt | tr 'a-z' 'A-Z'
2.3. 目录操作命令
生成新目录。
shell复制代码mkdir dirname
跳转到新的目录。
shell复制代码cd dirname
输出当前所在目录。
shell复制代码pwd
2.4. nohup 命令
nohup 命令可将当前命令挂起至后台运行,不会因为 SSH 连接断开而导致运行中断。
shell复制代码# 语法 nohup [Command] & # 将 run.py 挂至后台运行,输出会写进当前目录的 nohup.out 文件 nohup python run.py & # 将 run.py 挂至后台运行,输出会写进当前目录的 runlog 文件 nohup python run.py > runlog 2>&1 &
2.5. 其他常见命令
apt 更新
shell复制代码apt update
安装第三方工具包
shell复制代码apt install [package]
卸载第三方工具包
shell复制代码apt remove <package_name>
查找第三方工具包
txt复制代码apt search <package_name>
查看系统运行时间
shell复制代码uptime
查看 GPU 信息
shell复制代码nvidia-smi
实时查看 GPU 信息
shell复制代码nvidia-smi -l 5
查看系统中各个进程的资源占用状况
shell复制代码top
查看用户的身份信息(uid,gid,用户名等等)
shell复制代码id
显示文件系统信息
shell复制代码df -h
3. Conda 常用命令
3.1 Conda Pack
Conda-pack 是一个命令行工具,用于打包 conda 环境,其中包括该环境中安装的软件包的所有二进制文件。您可在矩池云中,使用 Conda Pack 在不同机器间恢复使用环境。注意,Conda 中只包含了 Python 包,系统安装包不在其中。
要安装 conda-pack,请确保您位于 root 或 base 环境中,以便 conda-pack 在子环境中可用。
shell复制代码pip install conda-pack
打包一个环境:
shell复制代码# 将当前环境 my_env 打包成 my_env.tar.gz conda pack -n my_env # 将当前环境 my_env 打包成 out_name.tar.gz conda pack -n my_env -o out_name.tar.gz # 将当前环境打包到指定目录 conda pack -p /explicit/path/to/my_env
重现环境:
shell复制代码# 将 my_env 环境解压到 `my_env` mkdir -p my_env tar -xzf my_env.tar.gz -C my_env # 使用 Python ./my_env/bin/python # 激活当前 Conda 环境 source my_env/bin/activate # 在激活后的环境中运行 Python (my_env) $ python # 清除残留文件 (my_env) $ conda-unpack
3.2 Conda Export
可以使用 -export 选项生成一个 environment.yml 文件,以在 不同的平台和操作系统之间 复现项目环境。
导出 environment.yml 文件:
shell复制代码conda env export > environment.yml
如果当前路径已经有了 environment.yml 文件,conda 会重写这个文件。
重现环境:
shell复制代码conda env create -f environment.yml
3.3 Conda Create
Conda Create 可以用来创建想要的新环境,这里以创建一个 Python 3.6 的虚拟环境为例。
先列出当前存在的环境
bash复制代码conda env list
创建虚拟环境,py36可以改成你自己想要的名字
bash复制代码conda create -n py36 python=3.6
退出当前环境
bash复制代码conda deactivate
进入python3.6的环境
bash复制代码conda activate py36
修改 Terminal 默认进入的环境
bash复制代码vim ~/.bashrc
拉到最后找到找到 source activate myconda
将他改成 source activate py36
保存即可。