1. 操作系统监控命令
1.1 top命令
top是Linux下最常见的监控命令,可以对CPU、内存、进程进行监控,
数据说明:
- user:当前挡路用户数
- load average:load average 中分别有三个值,这三个值分别表示在过去1分钟、5分钟、15分钟的系统负载,即任务队列的平均长度。
load average最好不要大于Cpu的核数,否则系统都超负载了
。 - Task:进程总数:
- running 正在运行的进程数
- sleeping 休眠的进程数
- stopped 停止的进程数
- zombie 僵尸进程数
- %Cpu(s):
这里的cpu为整个cpu平均数据
,如果想要看每个核的cpu数据,可以按数字1,查看具体的cpu数据,如下:
- us:用户空间占用cpu百分比
- sy:内核空间占用cpu百分比
- ni:用户进程空间内改变过优先级的进程占用cpu百分比
- wa:等待输入输出的cpu时间百分比
- hi:硬中断
- si:软中断
这里注意,很多人在看cpu使用率的时候,以为达到100%,cpu就满负荷了,但其实不是的,实际工作中,经常会出现cpu大于100%的情况,这里cpu主要是根据你系统的核数也决定的,比如我的的操作系统是8核的,那么cpu可以高达800%。
1.2 内存监控 - free
free命令可以查看当前系统的使用情况
free -m表示以MB为单位显示系统内存的使用情况,同理,也可以使用 -k, -g等其他的单位显示
- Mem:从操作系统角度统计了内存的total、used、free、buffers、cached、available
- Swap: 从应用程序角度统计了内存的total、used、free、buffers、cached、available
- buffer 和 cache
两者都是linux下的缓存机制,但是其中buffer为写操作的缓存,cache为读操作的缓存。
- swap
交换空间,磁盘上的一块空间,当前系统内存不足时,会使用交换空间,通常情况下不会。
通常内存的判断标准为使用内存不能大于90%,我们可以用avaliable / total 来计算使用率。
1.3 磁盘空间监控 - df
df用于查看当前系统磁盘空间的使用情况
2. 基本命令
2.1 关机与重启
- 关机
shutdown -h now #立刻关机
shutdown -h 5 #5分钟后关机
poweroff #立刻关机
- 重启
shutdown -r now #立刻重启
shutdown -r 5 #5分钟后重启
reboot #立刻重启
2.2 帮助命令
- --help
shutdown --help
3. 目录操作命令
3.1目录切换命令 - cd
命令 | 说明 |
---|---|
cd / | 切换到根目录 |
cd /usr | 切换到根目录下的usr目录 |
cd …/ | 切换到上一级目录 或者 cd … |
cd ~ | 切换到home目录 |
cd - | 切换到上次访问的目录 |
3.2 目录查看 - ls
命令 | 说明 |
---|---|
ls | 查看当前目录下的所有目录和文件 |
ls -a | 查看当前目录下的所有目录和文件(包括隐藏的文件) |
ls -l 或 ll | 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息) |
ls /dir | 查看指定目录下的所有目录和文件 如:ls /usr |
3.3 目录操作之- 增、删、查,改
(1)【增】- 创建目录- mkdir
命令 | 说明 |
---|---|
mkdir dir | 在当前目录 下创建一个名为dir 的目录 |
mkdir /usr/dir | 在指定目录 下创建一个名为dir 的目录 |
(2) 【删】- 删除目录或文件- rm
- 删除文件
rm 文件 : 删除当前目录下的文件
rm -f 文件 : 删除当前目录下的文件(不询问)
- 删除目录
rm -r dir:递归删除当前目录下的dir目录
rm -rf dir :递归删除当前目录下的dir目录(不询问)
(3)【查】- 目录查找- find
find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件
(4)【改】- 目录修改- mv和cp
mv和cp的语法的操作可以是文件、目录、压缩包等
,如果cp命令是对目录,则需要使用-r参数进行递归拷贝
。
- 重命名目录
mv dir1 dir2 #将目录dir1改为dir2
- 移动目录
mv /usr/tmp/dir1 /usr #将/usr/temp下的dir1移动至/usr下
- 拷贝目录
cp /usr/tmp/dir1 /usr #将/usr/temp下的dir1拷贝至/usr下
4. 文件操作
4.1 文件操作之 - 增、删、查,改
(1)【增】- 新建文件 - touch
touch test.txt #在当前目录下新建test.txt文件
(2)【删 】- 删除文件 - rm
rm -rf 文件
(3)【查】 - 查看文件 - cat、more、less、head和tail
- cat :只显示最后一屏
- more:百分比显示。回车可以向下一行,空客可以像下一页,q可以退出查看。
- less:翻页查看。可以使用键盘上的PgUp和PgDn向上和向下翻页,q结束查看
- head:查看文件的前几行(默认10行)
- tail:查看指定行数(默认10行)
tail -10 test #查看test文件的最后10行
tail -f test #滚屏查看test文件的最后几行
(4)【改 】- vi或vim
可以查看链接
5. 修改权限
- 修改文件权限
sudo chmod 777 YourDoc
- 给所有子文件权限
sudo chmod -R 777 YourDir
6. 压缩文件操作
Linux中的打包文件
一般是以.tar结尾的,压缩的命令
一般是以.gz结尾的。
- linux中的打包文件:aa.tar
- linux中的压缩文件:bb.gz
- linux中打包并压缩的文件:.tar.gz
(1)tar
tar命令是linux中最常用的一个解压缩工具,其实只需要记这一个就好。
参数 | 说明 |
---|---|
-z | 调用gzip压缩命令进行压缩 |
-j | 调用bzip2压缩命令进行压缩 |
-c | 打包文件 |
-v | 显示运行过程 |
-f | 指定文件名,f后面一定是.tar文件 ,所以必须放在最后 |
-x | 解压 |
- 打包与压缩(f参数必须放在最后)
将文件aa.txt与bb.txt,打包成ab.tar
tar -zcvf ab.tar aa.txt bb.txt
tar -zcvf ab.tar.gz aa.txt bb.txt #打包成tar.gz格式
- 解压
tar -xf ab.tar
(2)gzip
tar如果需要压缩必须使用其他工具,需要额外添加其他参数,也可以使用gzip压缩tar打包后的文件,其扩展名一般用xx.tar.gz表示。
gzip 【选型】 被压缩文件
参数 | 说明 |
---|---|
-d | 解压 |
-r | 压缩所有子目录 |
(3)bzip2
其扩展名一般为xx.tar.gz2
在tar中添加-j命令即可调用bzip2进行压缩
(4)zip
- 安装
sudo apt-get install unzip
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
zip FileName.zip DirName
- 解压
unzip xxxxx.zip
(5)rar
- 安装
sudo apt-get install rar
sudo apt-get install unrar
- 压缩
rar a FileName.rar DirName
- 解压
unrar x FileName.rar
7. 查找命令
7.1 grep
grep命令是一种强大的文本搜索工具,例如:
- 查找带ros的进程
ps -ef | grep ros
- 杀死
sudo kill -9 进程号
7.2 find
find . -name "*.log" -ls 在当前目录查找以.log结尾的文件,并显示详细信息。
find /root/ -perm 600 查找/root/目录下权限为600的文件
find . -type f -name "*.log" 查找当目录,以.log结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于100M的文件
7.3 locate
locate 让使用者可以很快速的搜寻某个路径。默认每天自动更新一次
,所以使用locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库
。
updatedb
locate /etc/sh #搜索etc目录下所有以sh开头的文件
7.4 which
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
which pwd #查找pwd命令所在路径
which java #查找path中java的路径
8. sudo和su
8.1 su
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
su test:切换到test用户,但是路径还是/root目录
su - test : 切换到test用户,路径变成了/home/test
su : 切换到root用户,但是路径还是原来的路径
su - : 切换到root用户,并且路径是/root
8.2 sudo
sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。
10. 其他命令
(1)修改屏幕分辨率 - xrandr
xrandr --fb 1920x1080 #将屏幕分辨率改为1920x1080
(2)查看进程 - ps -ef
ps -ef #查看所有正在运行的进程
可结合grep搜索特定的进程
ps -ef | grep ros
(3)杀死进程 - kill
kill pid # 杀死进程pid
kill - 9 pid #强制杀死进程pid
(4)启用关闭防火墙
chkconfig iptables off #关闭防火墙
service iptables status #查看防火墙状态
(5)查看文件结构 ——tree
- 安装
sudo apt-get install tree
- 查看目录和文件
显示当前路径中所有文件,并用树状显示。
- 只查看目录
tree -d
- 显示指定层级
# 最多显示2层
tree -L 2
(6)查看文件大小 ——du
查看当前目录下所有的文件夹
大小
du -h --max-depth=1
查看当前目录大小:
du -h --max-depth=0
查询本目录各 文件夹大小
du -h -d 1
(7)修改用户密码
sudo su #切换root用户
sudo passwd user
#输入新密码
(8)建立软(硬)链接
ln 源文件 硬链接 #硬链接
ln -s 源文件 快捷键文件 #软连接
(9)取别名
vim ~/.bashrc
alias lq_0="cd /home/YourDir"
source ~/.bashrc
(10)后台运行进程(nohup和&)
nohup bash test.sh & #输出至nohup
nohup bash test.sh >> filename.out & #输出至filename.out
说明:在后台不挂断的运行test.sh脚本。
- nohup
用途:不挂断地运行命令
输出会附加到当前目录的nohup.out
文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
- &
用途:在后台运行
(11)查看本文件夹中文件个数—— ll
ll | wc -l
(12)查询每个GPU对应的进程
安装
apt-get install psmisc
sudo fuser -v /dev/nvidia*
(13)查看文件大小—— ll -h
这个命令只能 查看文件
,不能查看文件夹。
ll -h
(14)jtop
NVIDIA Jetson Xavier NX设备上使用jtop监控GPU、CPU、内存等的使用
安装:
sudo -H pip install -U jetson-stats
点击下方按钮切换界面:
(15)nvidia-smi
- 隔一段时间刷新
nvidia-smi -l 2 #间隔2秒刷新一次
watch -n 0.1 nvidia-smi #0.1s刷新一次
(16)查看进程的运行时间
ps -p 40114
输出如下:
PID TTY TIME CMD
40114 pts/124 7-12:36:33 python3
表示运行了7天12小时36分33秒
(17)后台执行——&
# 后台执行脚本
ls &
(18)查询某个模块是否安装
dpkg -l | grep TensorRT