目的:汇总linux指令,以便查阅和使用。
如何查看显卡情况?
如何查看服务器上所有的端口号?
目录
快捷键
1. 显卡相关
1.1 nvidia-smi
1.2 运行程序时指定显卡
1.3 端口号与PID号查询
2. 目录与读写相关
2.1 cd、ls、mkdir、pwd指令
2.2 显示相应挂载信息
2.3 拷贝 cp指令
2.4 mount 指令 挂载
2.7 vi指令,显示文档
2.8 移动文件
2.9 解压与压缩
zip与unzip
2.10 查看文件夹大小
2.11 文件夹内文件数量
2.12 find指令查找
3. 文件编译相关
3.1 bash 与shell
3.2 source 指令
3.3 file 检查文件
3.4 编译 gcc与g++
3.4 sudo 管理员身份运行
4. 用户与进程相关
4.1 端口号与PID号查询
4.2 通过PID查询用户名
4.3 查询PID的命令行
4.4 查询当前用户所有进程
五、用户与权限相关
5.1 查看所有用户列表
5.2 更换当前用户
5.3 更改写入文件权限
5.4 查看所有运行程序及用户
六.硬件与挂载相关
6.1 列出文件系统和磁盘情况df
6.2 mount与挂载
mount指令
6.3 fdisk -l指令
history显示历史输入
https://blog.csdn.net/gui951753/article/details/79225429
https://baijiahao.baidu.com/s?id=1586010956337033474&wfr=spider&for=pc
clear 清屏
http://hui.sohu.com/infonews/article/6337322514200395777
指令中间连着的不加空格。
第一栏的Fan:风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速不是实际转速。有的设备不会返回转速,因为它不依赖风扇冷却。
第二栏的Temp:是温度。
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
第五栏的Bus-Id是涉及GPU总线的东西,domain:bus:device.function
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
第五第六栏下方的Memory Usage是显存使用率。
第七栏是浮动的GPU利用率。
第八栏上方是关于ECC的东西。
第八栏下方Compute M是计算模式。
https://www.cnblogs.com/darkknightzh/p/6591923.html
CUDA_VISIBLE_DEVICES=1 python my_script.py
我们用linux在服务器上进行相应的编译,注意cd与cd /的区别,若想看到根目录下的文件可以用ls /
mkdir -p:创建目录
例如:创建目录 mkdir -p /temp/usb
pwd显示当前路径
ll为ls -l,即显示文件的详细信息。
df:disk info;-h: human readable.
df -h:用kb以上单位显示,可读性高
df -a:显示所有文件系统
例如:我们可以将程序拷入sd卡, cp /u/
或者cp -i(或者-f) 源文件 目标文件,-i是交互式拷贝,是否替换位置,-f为直接替换,不提示。
mount命令用于加载文件系统到指定的加载点。
例如:mount /dev/sda1 /u
相应的linux指令
mkdir /u
mount /dev/sda1 /u
cd /u
cp /u/ /mnt/mmcblk1p1
cd /mnt/mmcblk1p1
http://man.linuxde.net/vi
例如,vi cfg/head.data
esc退出编辑模式进入命令模式,ZZ为存盘并推出,
:q为退出,:set nu为显示行号
mv 源路径 目的路径
移动文件夹下所以文件,加*表示所有文件:mv /usr/lib/* /zone
移动所有txt格式的文件:mv /usr/lib/*.txt /zone
移动到上级,../表示上级文件夹:
mv filename ../
https://www.cnblogs.com/XNQC1314/p/8955370.html
zip可能是目前使用的最多的文档压缩格式。它最大的优点就是在不同的操作系统平台上使用。缺点就是支持
的压缩率不是很高,而tar.gz和tar.bz2在压缩率方面做得非常好。
我们可以使用下列的命令压缩一个文件:
zip -r archive_name.zip filename (-r是压缩文件)
下面是如果解压一个zip文件:
unzip archive_name.zip (解压文件在当前文件下)
unzip archive_name.zip -d new_dir (解压文件可以将文件解压缩至一个你指定的的目录,使用-d参数)
du指令 https://www.runoob.com/linux/linux-comm-du.html
du -sh 查看当前文件夹大小
ls -l |grep "^-"|wc -l
https://www.cnblogs.com/archoncap/p/6144369.html
例如:find . -name *JW002421170941108227*
. 表示当前文件夹,命令行意义为在当前文件夹查找名称含有那段代码的文件
https://blog.csdn.net/sujz12345/article/details/54565056
shell是一个程序,可以称之为壳程序,用于用户与操作系统进行交互。
bash命令是sh命令的超集大多数sh脚本都可以在bash下运行
例如:
cp scripts/get_coco_dataset.sh data
cd data
bash get_coco_dataset.sh
https://www.cnblogs.com/general001/articles/2420089.html
source 命令是 bash shell 的内置命令,从 C Shell 而来。
source 命令的另一种写法是点符号,用法和 source 相同,从Bourne Shell而来。
source 命令可以强行让一个脚本去立即影响当前的环境。
http://man.linuxde.net/file
file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。
相应的linux指令
cd /lenz/luoqr/yolo/test
source setup_env.sh
arm-xilinx-gnueabi-gcc -o dmabench dmabench.c
file dmabench
https://baike.baidu.com/item/sudo/7337623?fr=aladdin
https://www.cnblogs.com/understander/p/5546458.html
由端口号查PID号 sudo netstat -antup
由PID号查端口号 sudo netstat -antup|grep PID
由进程名查询PID号 sudo ps -ef|grep 进程名
netstat -an | grep 3306 //查看所有3306端口使用情况
lsof -p [PID]
例如:
lsof -p 15223
lsof: WARNING: can't stat() tracefs file system /sys/kernel/debug/tracing
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
darknet 15223 chengx cwd unknown /proc/15223/cwd (readlink: Permission denied)
darknet 15223 chengx rtd unknown /proc/15223/root (readlink: Permission denied)
darknet 15223 chengx txt unknown /proc/15223/exe (readlink: Permission denied)
darknet 15223 chengx NOFD /proc/15223/fd (opendir: Permission denied)
ps [PID]
$ps 54083
PID TTY STAT TIME COMMAND
54083 pts/12 Rl+ 449:08 python train-new.py
ps -u
ps -u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
xxr 37561 0.1 0.0 25304 6192 pts/0 Ss 21:32 0:00 -bash
xxr 39243 0.0 0.0 39100 3352 pts/0 R+ 21:33 0:00 ps -u
cat /etc/passwd查看所有用户列表
https://www.cnblogs.com/songxingzhu/p/6364700.html
zhuangyl:x:1011:1011:zhuangyl,,,,:/home/zhuangyl:/bin/bash
nvidia-persistenced:x:123:130:NVIDIA Persistence Daemon,,,:/:/sbin/nologin
xxr:x:1012:1012:,,,:/home/gpu/datasets/xxr:/bin/bash
myzhuang:x:1013:1013:zhuang mingyong,,,:/home/myzhuang:/bin/bash
cat /etc/group 查看用户组
su 用户名
https://www.cnblogs.com/jocongmin/p/6696243.html
crown 命令解除文件夹权限设置
sudo
chown
-R demouser
file
xxr@gpu-SYS-7048GR-TR:/1t_second$ ls -la
total 68
drwxrwxrwx 14 root root 4096 10月 16 08:27 .
drwxr-xr-x 29 root root 4096 10月 10 11:31 ..
drwxrwxr-x 5 guohm guohm 4096 10月 14 13:56 ghm2
drwxrwxr-x 5 liangbr liangbr 4096 10月 11 22:55 liangbr
drwxr-xr-x 34 liyl liyl 4096 10月 1 21:21 liyl
drwxrwxrwx 2 root root 16384 10月 10 14:02 lost+found
drwxrwx--- 6 lzw lzw 4096 10月 15 18:14 lzw2
drwxrwxr-x 3 myzhuang myzhuang 4096 10月 15 14:10 myzhuang2
drwx------ 4 gpu gpu 4096 10月 16 08:27 .Trash-1000
drwx------ 4 lzw lzw 4096 10月 15 18:14 .Trash-1008
drwx------ 5 guohm guohm 4096 10月 14 13:31 .Trash-1009
drwx------ 4 myzhuang myzhuang 4096 10月 16 08:14 .Trash-1013
drwxrwxrwx 6 root root 4096 10月 12 16:41 xxr2
drwxrwxr-x 4 zhuangyl zhuangyl 4096 10月 14 09:45 zyl
xxr@gpu-SYS-7048GR-TR:/1t_second$ sudo chown -R xxr xxr2/
[sudo] password for xxr:
xxr@gpu-SYS-7048GR-TR:/1t_second$ ls -la
total 68
drwxrwxrwx 14 root root 4096 10月 16 08:27 .
drwxr-xr-x 29 root root 4096 10月 10 11:31 ..
drwxrwxr-x 5 guohm guohm 4096 10月 14 13:56 ghm2
drwxrwxr-x 5 liangbr liangbr 4096 10月 11 22:55 liangbr
drwxr-xr-x 34 liyl liyl 4096 10月 1 21:21 liyl
drwxrwxrwx 2 root root 16384 10月 10 14:02 lost+found
drwxrwx--- 6 lzw lzw 4096 10月 15 18:14 lzw2
drwxrwxr-x 3 myzhuang myzhuang 4096 10月 15 14:10 myzhuang2
drwx------ 4 gpu gpu 4096 10月 16 08:27 .Trash-1000
drwx------ 4 lzw lzw 4096 10月 15 18:14 .Trash-1008
drwx------ 5 guohm guohm 4096 10月 14 13:31 .Trash-1009
drwx------ 4 myzhuang myzhuang 4096 10月 16 08:14 .Trash-1013
drwxrwxrwx 6 xxr root 4096 10月 12 16:41 xxr2
drwxrwxr-x 4 zhuangyl zhuangyl 4096 10月 14 09:45 zyl
或者 sudo -R chmod 777 /...更改所有文件夹内(递归到子文件夹及文件)属性为可读写。
top指令,更改画面更新速率可以s,后输入时延
以CPU占用顺序显示程序P,以内存占用率排列M,q退出top
https://www.cnblogs.com/zhoug2020/p/6336453.html
VIRT: 虚拟内存,RES:常驻内存resident memory usage,SHR:共享内存
https://blog.csdn.net/gnail_oug/article/details/70217446
df -a : --all 显示所有的文件系统,包括虚拟的文件系统
df -h : --human-readable 以人们易读的GB,MB,KB显示
挂载详解 http://www.cnblogs.com/irisrain/p/4201947.html
https://blog.csdn.net/qq_39521554/article/details/79501714
mount挂载的作用,就是将一个设备(通常是存储设备)挂接到一个已存在的目录上。访问这个目录就是访问该存储设备。linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。
├── bin (你在终端运行的大多数程序,比如cp、mv...)
├── boot (内核放在这里,这个目录也经常被作为某个独立分区的挂载点)
├── dev (存放设备文件,这里相当于一个设备管理器,由系统自动生成。视硬件环境不同变化很大)
│ ├── disk (磁盘信息,要挂载硬盘分区就要注意这里的信息喽)
├── etc (存放所有程序和系统的配制文件和全局变量,对所有用户生效,非常值得备份)
├── home (这就是著名的home目录了,注意不是”家目录”,强烈建议把一个独立分区挂载到这里!)
│ ├── MNT (这是我挂载其它硬盘分区的地方,你可以看到用硬盘品牌、容量或用途区分的目录名)
├── lib (所有程序共享的库文件)
├── lost+found (磁盘扫描出现的丢失的数据)
├── media (你在文件管理器里点击后自动挂载的分区就在这里,按卷标命名,没有卷标则按大小命名)
├── mnt (同样用于挂载磁盘,这是最传统的位置,喜欢挂哪里随便)
├── opt (某些特殊的程序喜欢把数据放在这里,比如JAVA)
https://blog.csdn.net/daydayup654/article/details/78788310
https://blog.csdn.net/qq_21792169/article/details/50273555
mount -t vfat /dev/sda1 /mnt/
vfat即是fat32格式的文件
https://blog.csdn.net/jackyu651/article/details/53070607/
fdisk -l :可以列出所有的分区,包括没有挂上的分区和usb设备.我一般用这个来查找需要挂载的分区的位置,比如挂上u盘.
例如:
zynq> fdisk -lrandom: nonblocking pool is initialized
Disk /dev/mmcblk0: 7906 MB, 7906263040 bytes
4 heads, 16 sectors/track, 241280 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 33 3232 102400 c Win95 FAT32 (LBA)
Partition 1 does not end on cylinder boundary
/dev/mmcblk0p2 3233 241280 7617536 83 Linux
Partition 2 does not end on cylinder boundary
zynq> df -h
Filesystem Size Used Available Use% Mounted on
none 249.5M 0 249.5M 0% /tmp
zynq> mount -t vfat /dev/mmcblk0p1 /mnt/usb/
FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
zynq> ls /mnt/usb/
BOOT.bin test uramdisk.image.gz
System Volume Information uEnv.txt zynqnet
devicetree.dtb uImage