炼丹锦囊1:常用 Linux 命令

炼丹锦囊1:常用 Linux 命令

熟悉使用炼丹炉,才能快速的炼出金丹!下面是我总结里自己炼丹时常用的一些命令,欢迎补充~

默认使用 Ubuntu,其他发行版本类似。

硬件篇

1 监控显卡状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# watch 命令以周期性的方式执行给定的指令,可以方便的监控命令的运行结果
# -n 1 指令执行的间隔时间为 1 秒
# -d 高亮显示前后两次结果的不同之处
# nvidia-smi 是一个监控 GPU 使用情况的工具
watch -n 1 -d nvidia-smi

# 类似的监控效果也可以用 nvidia-smi 的 -l 参数实现
# 不过这种闪屏的刷新方式不太方便看清具体的数值
nvidia-smi -l 1

# gpustat 对显示内容进行来优化,提供更美观简洁的展示
# 安装
pip install gpustat
# 使用
watch --color -n1 gpustat -cpu

2 监控内存状态

1
2
# watch 命令解释同上
watch -n 1 -d free -h

程序篇

1 查看进程状态

1
2
3
4
5
6
7
8
9
10
11
# htop 是 top 的增强版,不但展示了进程信息,还有 CPU 的使用情况以及内存占用
sudo apt install htop
htop

# ps 命令是 Process Status 的缩写,用来列出系统中当前运行的进程
# grep 后可加任意关键词,以查找 python 进程为例
ps aux | grep python

# kill 命令用于删除某个进程
# -9 表示强制中止,$PID 为要杀死的进程标识号
kill -9 $PID

2 查看依赖包的版本

1
2
3
# $PACKAGE 为依赖包名称
# 如果执行后没有任何输出,则说明未安装该依赖包
pip list | grep $PACKAGE

文件篇

1 统计当前文件夹下的文件数量

1
2
3
# wc 命令的作用统计文件内容数量,可以是字节数、字数、行数
# 比如校验数据集的数量
ls -l | grep ^- | wc -l

2 查看当前目录下的文件和文件夹大小

1
2
# du 命令用于显示目录或文件的大小
du -sh *

3 下载数据

1
2
3
4
5
6
7
8
9
10
11
# wget 简单方便,但不支持多线程
sudo apt install wget
wget $URL

# curl 同样不支持多线程,但比 wget 更快
sudo apt install curl
curl -o $FILE $URL

# aria2 支持多线程、多源、多协议下载,非常快
sudo apt install aria2
aria2c -c $URL

4 传送文件

1
2
3
4
# scp 基于 ssh 协议,可以在两个主机之间传送文件
scp -r $FILE $URL
# rsync 支持断点传输
rsync -P --rsh=ssh $FILE $URL

5 文件解压

1
2
3
4
5
6
7
8
# 根据不同的后缀,选择对应的命令解压
tar –xvf $FILE.tar
tar -xzvf $FILE.tar.gz
tar -xjvf $FILE.tar.bz2

unrar e $FILE.rar

unzip $FILE.zip

6 为数据文件建立软链接

1
2
3
# 有时工程文件和数据文件会在不同的盘上,为数据文件建立软链接可以方便我们访问数据
ln -s /media/user/dataset/ ./data/
# 这样访问 ./data/dataset/ 就相当于访问 /media/user/dataset/

快捷使用

1 通过添加名字别名的方法,快捷执行命令

1
2
3
4
5
6
7
8
9
10
vi ~/.bashrc

# 在末尾添加
alias nvi="watch -n 1 -d nvidia-smi"
alias fre="watch -n 1 -d free -h"
alias scp="rsync -P --rsh=ssh"
alias wcl="ls -l | grep ^- | wc -l"

# 使之生效
source ~/.bashrc

参考

作者

Ailln

发布于

2020-02-01

更新于

2024-03-02

许可协议

评论