du
Linux du(英文全拼:disk usage)命令用于显示目录或文件的大小。du 会显示指定的目录或文件所占用的磁盘空间。 用例:当前路径/home/hzf/Voice/wespeaker-master
$ du -h -d 1
371G ./examples
52K ./tools
280K ./runtime
444K ./wespeaker
12K ./docs
195M ./data
12K ./.github
371G .
watch
Linux中的watch命令提供了一种方式处理重复的任务。默认watch会每2秒重复执行命令。watch是一个很好的观察log的工具。 用例:查看GPU占用
$ watch -n 1 -d nvidia-smi
Every 1 .0s: nvidia-smi
Fri Feb 10 20 :29:56 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.80 Driver Version: 460.80 CUDA Version: 11.2 |
| -------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
| == == == == == == == == == == == == == == == = += == == == == == == == == == == = += == == == == == == == == == == = |
| 0 GeForce GTX 108 .. . Off | 00000000:02:00.0 Off | N/A |
| 37 % 53C P0 63W / 250W | 0MiB / 11178MiB | 0 % Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108 .. . Off | 00000000:03:00.0 Off | N/A |
| 41 % 55C P0 65W / 250W | 0MiB / 11178MiB | 0 % Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 2 GeForce GTX 108 .. . Off | 00000000:82:00.0 Off | N/A |
| 40 % 53C P0 60W / 250W | 0MiB / 11178MiB | 0 % Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 3 GeForce GTX 108 .. . Off | 00000000:83:00.0 Off | N/A |
| 37 % 52C P0 58W / 250W | 0MiB / 11178MiB | 3 % Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
| == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == == = |
| No running processes found |
+-----------------------------------------------------------------------------+
参数解释:-n
在更新之间等待的秒数,-d
突出显示更新之间的更改
ps、grep、awk、xargs、kill
Linux ps(英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。 Linux grep 命令用于查找文件里符合条件的字符串。 awk 是一种处理文本文件的语言,是一个强大的文本分析工具。 xargs(英文全拼:extended arguments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。 Linux kill 命令用于删除执行中的程序或工作。 用例:列出所有进程的详细信息,查找名称带有指定字符串的进程,过滤掉grep进程,提取出pid,传递给kill,从而批量杀死进程。
$ ps -ef | grep python | grep -v grep
root 1485 1 0 2022 ? 00:00:09 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root 1768 1 0 2022 ? 00:00:00 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
root 3125 3060 0 2022 ? 00:00:00 /usr/bin/python3 -u /sbin/my_init
.. .. ..
$ ps -ef | grep python | grep -v grep | awk '{print $2 }'
1485
1768
3125
.. .. ..
$ ps -ef | grep python | grep -v grep | awk '{print $2 }' | xargs kill
$ ps -ef | grep python | grep -v grep | awk '{print $2 }' | xargs kill
Usage:
kill [ options] < pid> [ .. .]
Options:
< pid> [ .. .] send signal to every < pid> listed
-< signal> , -s, --signal < signal>
specify the < signal> to be sent
-l, --list= [ < signal> ] list all signal names, or convert one to a name
-L, --table list all signal names in a nice table
-h, --help display this help and exit
-V, --version output version information and exit
For more details see kill( 1 ) .
用例:根据pid,检索进程信息,如:根据pid3694632,检索对应的pid、命令、详细启动时间
$ ps -eo pid,cmd,lstart | grep 3694632 | grep -v grep
3694632 /home/hzf/miniconda3/envs/w Sat Dec 2 14 :45:37 2023
pid:进程ID。
ppid:父进程ID。
user:进程的所有者。
uid:进程的用户ID。
gid:进程的组ID。
etime:进程的运行时间。
pcpu:进程的CPU使用率。
pmem:进程的内存使用率。
cmd:进程的命令行。
args:进程的命令行及参数。
start:进程的启动时间。
tty:进程所连接的终端。
stat:进程的状态(例如,R表示运行,S表示睡眠)。
rss:进程占用的物理内存大小。
vsz:进程的虚拟内存大小。
nice:进程的优先级。
thcount:进程的线程数。
nlwp:进程的轻量级进程(线程)数。
lsblk
Linux中的lsblk命令用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,CD-ROM等等。 用例:查看哪些硬盘是固态硬盘。
$ lsblk -o NAME,MOUNTPOINT,SIZE,ROTA
NAME MOUNTPOINT SIZE ROTA
loop1 /snap/core18/2679 55 .6M 1
loop2 /snap/gnome-characters/781 476K 1
loop3 /snap/core20/1822 63 .3M 1
loop4 /snap/gnome-3-28-1804/161 164 .8M 1
loop5 /snap/gnome-system-monitor/181 1 .5M 1
loop6 /snap/gnome-calculator/884 2 .5M 1
loop7 /snap/gnome-characters/741 704K 1
loop8 /snap/core18/2667 55 .6M 1
loop9 /snap/gnome-3-26-1604/102 140 .7M 1
loop10 /snap/gnome-system-monitor/178 2 .6M 1
loop11 /snap/core20/1778 63 .3M 1
loop12 /snap/gnome-42-2204/56 452 .4M 1
loop13 /snap/core/14447 116 .7M 1
loop14 /snap/bare/5 4K 1
loop15 /snap/gnome-42-2204/44 446 .3M 1
loop16 /snap/gnome-3-28-1804/145 162 .9M 1
loop17 /snap/gnome-calculator/920 2 .6M 1
loop18 /snap/gtk-common-themes/1535 91 .7M 1
loop19 /snap/gnome-3-26-1604/104 140 .7M 1
loop20 /snap/gnome-3-38-2004/115 346 .3M 1
loop21 /snap/gnome-3-34-1804/77 219M 1
loop22 /snap/gnome-logs/112 556K 1
loop23 /snap/gnome-3-38-2004/119 346 .3M 1
loop24 /snap/gtk-common-themes/1534 81 .3M 1
loop25 /snap/gnome-logs/115 696K 1
loop26 /snap/core/14399 116 .7M 1
loop27 /snap/gnome-3-34-1804/72 219M 1
loop28 /snap/core22/504 72 .9M 1
loop29 /snap/core22/484 72 .9M 1
sda 232 .9G 0
├─sda1 /boot 285M 0
└─sda2 / 232 .6G 0
sdb 9 .1T 1
└─sdb1 /home 9 .1T 1
sdc /media/new_disk 9 .1T 1
参数解释:-o
指定要显示哪些信息,NAME设备名,MOUNTPOINT挂载点,SIZE总大小,ROTA是否为旋转设备0表示机械硬盘,1表示固态硬盘
df
Linux df(英文全拼:disk free)命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。 用例:配合lsblk,查看硬盘的占用大小
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 32G 0 32G 0 % /dev
tmpfs 6 .3G 13M 6 .3G 1 % /run
/dev/sda2 228G 112G 105G 52 % /
tmpfs 32G 1 .5M 32G 1 % /dev/shm
tmpfs 5 .0M 4 .0K 5 .0M 1 % /run/lock
tmpfs 32G 0 32G 0 % /sys/fs/cgroup
/dev/loop2 512K 512K 0 100 % /snap/gnome-characters/781
/dev/loop6 2 .5M 2 .5M 0 100 % /snap/gnome-calculator/884
/dev/loop7 768K 768K 0 100 % /snap/gnome-characters/741
/dev/loop4 165M 165M 0 100 % /snap/gnome-3-28-1804/161
/dev/loop5 1 .5M 1 .5M 0 100 % /snap/gnome-system-monitor/181
/dev/loop9 141M 141M 0 100 % /snap/gnome-3-26-1604/102
/dev/loop14 128K 128K 0 100 % /snap/bare/5
/dev/loop15 447M 447M 0 100 % /snap/gnome-42-2204/44
/dev/loop16 163M 163M 0 100 % /snap/gnome-3-28-1804/145
/dev/loop18 92M 92M 0 100 % /snap/gtk-common-themes/1535
/dev/loop10 2 .7M 2 .7M 0 100 % /snap/gnome-system-monitor/178
/dev/loop17 2 .7M 2 .7M 0 100 % /snap/gnome-calculator/920
/dev/loop19 141M 141M 0 100 % /snap/gnome-3-26-1604/104
/dev/loop21 219M 219M 0 100 % /snap/gnome-3-34-1804/77
/dev/loop20 347M 347M 0 100 % /snap/gnome-3-38-2004/115
/dev/loop22 640K 640K 0 100 % /snap/gnome-logs/112
/dev/loop23 347M 347M 0 100 % /snap/gnome-3-38-2004/119
/dev/loop24 82M 82M 0 100 % /snap/gtk-common-themes/1534
/dev/loop25 768K 768K 0 100 % /snap/gnome-logs/115
/dev/loop26 117M 117M 0 100 % /snap/core/14399
/dev/loop27 219M 219M 0 100 % /snap/gnome-3-34-1804/72
/dev/sdc 9 .1T 8 .4T 217G 98 % /media/new_disk
/dev/sda1 266M 113M 136M 46 % /boot
/dev/sdb1 9 .1T 6 .8T 1 .9T 79 % /home
tmpfs 6 .3G 32K 6 .3G 1 % /run/user/123
tmpfs 6 .3G 0 6 .3G 0 % /run/user/1007
/dev/loop8 56M 56M 0 100 % /snap/core18/2667
tmpfs 6 .3G 8 .0K 6 .3G 1 % /run/user/1032
/dev/loop11 64M 64M 0 100 % /snap/core20/1778
tmpfs 6 .3G 0 6 .3G 0 % /run/user/1036
tmpfs 6 .3G 0 6 .3G 0 % /run/user/1023
/dev/loop13 117M 117M 0 100 % /snap/core/14447
/dev/loop29 73M 73M 0 100 % /snap/core22/484
/dev/loop12 453M 453M 0 100 % /snap/gnome-42-2204/56
/dev/loop1 56M 56M 0 100 % /snap/core18/2679
/dev/loop28 73M 73M 0 100 % /snap/core22/504
tmpfs 6 .3G 0 6 .3G 0 % /run/user/1021
/dev/loop3 64M 64M 0 100 % /snap/core20/1822
tmpfs 6 .3G 0 6 .3G 0 % /run/user/1031
tmpfs 6 .3G 0 6 .3G 0 % /run/user/1037
ls
Linux ls(英文全拼: list directory contents)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。 用例:查看当前目录下所有文件(包括隐藏文件)的最后修改时间、大小、权限(用户组)
$ ls -alh
total 176M
drwxr-xr-x 15 hzf hzf 4 .0K 2 月 10 13 :20 .
drwxr-xr-x 24 root root 4 .0K 12 月 18 18 :08 ..
-rw------- 1 hzf hzf 28K 2 月 10 15 :25 .bash_history
-rw-r--r-- 1 hzf hzf 220 4 月 5 2018 .bash_logout
-rw-r--r-- 1 hzf hzf 4 .2K 12 月 6 15 :48 .bashrc
drwx------ 6 hzf hzf 4 .0K 12 月 29 21 :57 .cache
drwxrwxr-x 2 hzf hzf 4 .0K 12 月 6 15 :48 .conda
-rw-rw-r-- 1 hzf hzf 618 12 月 6 15 :59 .condarc
drwx------ 6 hzf hzf 4 .0K 12 月 29 22 :16 .config
drwxrwxr-x 2 hzf hzf 4 .0K 12 月 6 15 :40 Download
-rw-r--r-- 1 hzf hzf 8 .8K 4 月 16 2018 examples.desktop
drwx------ 3 hzf hzf 4 .0K 12 月 4 22 :18 .gnupg
drwxrwxr-x 3 hzf hzf 4 .0K 12 月 26 20 :47 .ipython
drwxrwxr-x 2 hzf hzf 4 .0K 12 月 29 15 :16 .keras
drwxrwxr-x 3 hzf hzf 4 .0K 12 月 6 15 :58 .local
drwxrwxr-x 16 hzf hzf 4 .0K 12 月 6 15 :48 miniconda3
drwx------ 3 hzf hzf 4 .0K 12 月 28 15 :09 .nv
-rw-r--r-- 1 hzf hzf 807 4 月 5 2018 .profile
-rw------- 1 hzf hzf 2 .0K 2 月 10 13 :20 .python_history
drwxrwxr-x 10 hzf hzf 4 .0K 1 月 2 23 :32 rknn-toolkit2
-rw-rw-r-- 1 hzf hzf 176M 12 月 29 14 :32 rknn-toolkit2.zip
drwxrwxr-x 6 hzf hzf 4 .0K 1 月 4 00:02 Voice
drwxrwxr-x 5 hzf hzf 4 .0K 2 月 10 16 :44 .vscode-server
-rw-rw-r-- 1 hzf hzf 183 12 月 4 22 :25 .wget-hsts
-rw------- 1 hzf hzf 483 2 月 10 12 :53 .Xauthority
参数解释:-a
全部文件,-l
详细信息,-h
人类可读
wc
Linux wc命令用于计算字数。利用wc指令我们可以计算文件的字节数、字符数、或是行数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。 用例:配合ls,计算文件或文件夹数量
ls -l | grep "^-" | wc -l
ls -lR | grep "^-" | wc -l
ls -l | grep "^d" | wc -l
ls -lR id11251*/ | grep "^-" | wc -l
su
Linux su(英文全拼:switch user)命令用于变更为其他用户的身份,除root外,需要键入其他用户的密码。 用例:修改root用户密码,切换到root用户,此后的操作等同于在命令前加sudo
$ su root
Password:
su: Authentication failure
$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
$ su
Password:
root@
zip/unzip
Linux zip命令用于压缩文件,unzip命令用于解压文件。Linux下有许许多多的压缩文件格式,但为了更加通用,推荐使用zip文件。 用例:压缩,解压。
$ zip -r wespeaker.zip wespeaker
adding: wespeaker/ ( stored 0 %)
adding: wespeaker/models/ ( stored 0 %)
adding: wespeaker/models/speaker_model.py ( deflated 53 %)
adding: wespeaker/models/projections.py ( deflated 82 %)
adding: wespeaker/models/__pycache__/ ( stored 0 %)
.. .. ..
$ unzip -v wespeaker.zip
Archive: wespeaker.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
0 Stored 0 0 % 2022 -12-30 17 :11 00000000 wespeaker/
0 Stored 0 0 % 2023 -01-04 12 :13 00000000 wespeaker/models/
1248 Defl:N 586 53 % 2022 -12-30 17 :11 9e0c81f8 wespeaker/models/speaker_model.py
18356 Defl:N 3279 82 % 2023 -01-21 18 :30 0acfdff3 wespeaker/models/projections.py
0 Stored 0 0 % 2023 -01-23 20 :37 00000000 wespeaker/models/__pycache__/
.. .. ..
find
Linux find 命令用于在指定目录下查找文件和目录,它可以使用不同的选项来过滤和限制查找的结果。 用例:查找文件、文件夹
find . -name "NKF-GRU*"
find . -maxdepth 1 -name "NKF-GRU*"
find . -maxdepth 1 -type d -name "NKF-GRU*"
find . -maxdepth 1 -type f -name "*.wav" -o -name "*.ogg"
find -L . -maxdepth 1 -type f -name "*.wav" -o -name "*.ogg"
mount
Linux mount 用于挂载Linux系统外的文件。 用例:挂载远程服务器,如挂载NAS上的CIFS/SMB
mkdir ms-algorithm
sudo mount -t cifs //192.168.0.1/ms-algorithm ./ms-algorithm -o username = < 你在目标服务器上的用户名>
sudo apt-get update
sudo apt-get install cifs-utils
sudo umount ms-algorithm
rm -r ms-algorithm