常用命令一览

该文档为零基础用户整理了一些常用的命令

矩池云目前提供的镜像均为 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 命令运行。
main文件
点击 Terminal 进行创建。
打开Terminal
在命令行窗口中输入如下命令。
shell
python main.py
会开始执行 main.py 文件
执行main文件
若您在命令行窗口中输入 python,会进入 Python 交互式环境中,可以输入任何 Python 代码,回车后会立刻得到执行结果。输入 exit() 并回车可退出 Python Shell。
Python环境
Python 的基本语法、数据类型、函数、第三方库等,可通过各类教材、教程和学习网站学习,本文不再赘述。

1.2. pip 命令

pip 是通用的 Python 包管理工具,提供了 Python 包的查找、下载、安装、卸载的功能。pip 命令可以在 Shell 中运行,也可以在 IPyhon 中通过 !pip 的方式运行。
若矩池云预置的 Python 包无法满足您的需求,您可以通过 pip 命令自行安装,或联系矩池云小助手预置添加。
您可运行 pip 命令,以查看 pip 命令的使用方式。
shell
pip <command> [options]
pip
列表列出已安装的包。
shell
pip list 
列表列出有新版本的第三方库。
shell
pip list --outdated:
piplist
下面以 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
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
uptime
查看 GPU 信息
shell
nvidia-smi
查看系统中各个进程的资源占用状况
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