0%

https://blog.csdn.net/qq_38451119/article/details/82461855

https://www.cnblogs.com/zhming26/p/5770348.html

https://blog.csdn.net/weixin_42912498/article/details/107162983

(48条消息) 远程桌面中Tab键不能补全的解决办法_小白的IT旅程-CSDN博客

vnc的启动指令就可以修改分辨率了,不要去乱改xserver的设置。

以vnc4server为例:
vnc4server -geometry 1200x700
就会给你1200x700的分辨率

1
2
3
4
vnc4server -geometry 1200x700  # vnc4server为例,以1200x700的分辨率远程连接
vncserver # 启动。第一次默认启动1号
vncserver :2 # 启动2号
vncserver -kill :2 # 关闭2号

查看GPU信息和使用情况

Linux查看显卡信息:
lspci | grep -i vga

使用nvidia GPU可以:
lspci | grep -i nvidia

1
2
3
4
5
6
7
8
9
[root@gpu-server-002 ~]# lspci | grep -i nvidia
02:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1)
02:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1)
03:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1)
03:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1)
82:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1)
82:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1)
83:00.0 VGA compatible controller: NVIDIA Corporation Device 1b06 (rev a1)
83:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1)

前边的序号 “00:0f.0”是显卡的代号(这里是用的虚拟机);

查看指定显卡的详细信息用以下指令:
lspci -v -s 00:0f.0

Linux查看Nvidia显卡信息及使用情况

Nvidia自带一个命令行工具可以查看显存的使用情况:
nvidia-smi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[root@gpu-server-002 ~]# nvidia-smi
Tue Nov 27 00:20:51 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.98 Driver Version: 384.98 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... On | 00000000:02:00.0 Off | N/A |
| 66% 85C P2 175W / 250W | 10795MiB / 11172MiB | 100% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108... On | 00000000:03:00.0 Off | N/A |
| 56% 83C P2 162W / 250W | 10795MiB / 11172MiB | 100% Default |
+-------------------------------+----------------------+----------------------+
| 2 GeForce GTX 108... On | 00000000:82:00.0 Off | N/A |
| 52% 82C P2 250W / 250W | 10795MiB / 11172MiB | 90% Default |
+-------------------------------+----------------------+----------------------+
| 3 GeForce GTX 108... On | 00000000:83:00.0 Off | N/A |
| 54% 83C P2 126W / 250W | 10795MiB / 11172MiB | 82% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 11161 C python 10785MiB |
| 1 11161 C python 10785MiB |
| 2 12049 C python 10785MiB |
| 3 12049 C python 10785MiB |

表头释义:

Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A;
Temp:显卡内部的温度,单位是摄氏度;
Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
Pwr:能耗表示;
Bus-Id:涉及GPU总线的相关信息;
Disp.A:是Display Active的意思,表示GPU的显示是否初始化;
Memory Usage:显存的使用率;
Volatile GPU-Util:浮动的GPU利用率;
Compute M:计算模式;
下边的Processes显示每块GPU上每个进程所使用的显存情况。

如果要周期性的输出显卡的使用情况,可以用watch指令实现:
watch -n 10 nvidia-smi

命令行参数-n后边跟的是执行命令的周期,以s为单位。

refer

Linux统计文件夹下的文件数目

Linux下有三个命令:lsgrepwc。通过这三个命令的组合可以统计目录下文件及文件夹的个数。

  • 统计当前目录下文件的个数(不包括目录)
1
2

$ ls -l | grep "^-" | wc -l
  • 统计当前目录下文件的个数(包括子目录)
1
2

$ ls -lR| grep "^-" | wc -l
  • 查看某目录下文件夹(目录)的个数(包括子目录)
1
2

$ ls -lR | grep "^d" | wc -l

命令解析:

  • ls -l

长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。

  • grep "^-"
    过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"
  • wc -l
    统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。

refer

Vim快捷键

Vim快捷键

查询服务器pid对应用户

ps -f -p PID

Linux 下后台运行程序,查看和关闭后台运行程序

1、运行.sh文件

直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(1)&命令

功能:加在一个命令的最后,可以把这个命令放在后台执行

(2)nohup命令

功能:不挂断的运行命令

若ssh连接linux服务器中断后终端关闭仍使进程继续在服务器运行,应使用如下命令,关闭终端应该用exit
该命令的一般形式为:nohup command &
  使用nohup命令提交作业
  如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
  nohup command > myout.file 2>&1 &


使用 jobs 只能查看当前终端任务。
jobs -l 查看进程PID

使用 fg %n 关闭。

refer

other

详解Linux的nohup和&用法和区别

2、查看当前后台运行的命令

有两个命令可以用,jobs和ps,区别是jobs用于查看当前终端后台运行的任务,换了终端就看不到了。而ps命令用于查看瞬间进程的动态,可以看到别的终端运行的后台进程。

1
2
3
4
5
6
7
8
9
10
11
(1)jobs命令

功能:查看当前终端后台运行的任务

jobs -l选项可显示当前终端所有任务的PID,jobs的状态可以是running,stopped,Terminated。+ 号表示当前任务,- 号表示后一个任务。

(2)ps命令

功能:查看当前的所有进程

ps -aux | grep "test.sh" #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分

3、关闭当前后台运行的命令

  kill命令:结束进程

 (1)通过jobs命令查看jobnum,然后执行   kill %jobnum

 (2)通过ps命令查看进程号PID,然后执行  kill %PID
    kill -9 PID
    
   如果是前台进程的话,直接执行 Ctrl+c 就可以终止了


4、前后台进程的切换与控制

 (1)fg命令

   功能:将后台中的命令调至前台继续运行

   如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。

 (2)Ctrl + z 命令

   功能:将一个正在前台执行的命令放到后台,并且处于暂停状态

 (3)bg命令

   功能:将一个在后台暂停的命令,变成在后台继续执行

   如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。

refer

Python官方文档(中文版)

Numpy

PyTorch中文文档 PyTorch

Pandas

scikit-learn

TensorFlow

Keras

matplotlib

pyecharts

wxpy

获取文件名操作

os.listdir()

语法:os.listdir(path)

函数用途:输出路径下所有文件的文件名,包括文件夹

os.listdir 以列表的形式返回指定文件夹的下所有内容,不管是文件还是文件夹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import os
path = "E:/vs_code/qtVideo/lib"
datanames = os.listdir(path)
for i in datanames:
print(i)



输出:
A_TEST
OpenCVConfig-version.cmake
OpenCVConfig.cmake
OpenCVModules-debug.cmake
OpenCVModules-release.cmake
OpenCVModules.cmake
opencv_aruco330.lib
opencv_aruco330d.lib
opencv_bgsegm330.lib
opencv_bgsegm330d.lib
opencv_bioinspired330.lib
opencv_bioinspired330d.lib
opencv_calib3d330.lib

os.path.splitext()

语法:os.path.splitext(文件名)

函数用途:将文件名和扩展名分开。

就是以文件名中的’.’作为分隔符,分隔文件名称与文件后缀,以元组的形式返回文件名与后缀。

1
2
3
4
5
6
7
8
9
10
11
12
13
name1 = "opencv_xphoto330d.lib"
name2 = "D:\\opencv_xphoto330d.lib"
result1 = os.path.splitext(name1)
result2 = os.path.splitext(name2)
print("result1:",result1)
print("result2:",result2)
print("type:",type(result1),type(result2))

输出:
result1: ('opencv_xphoto330d', '.lib')
result2: ('D:\\opencv_xphoto330d', '.lib')
type: <class 'tuple'> <class 'tuple'>

os.path.split()

语法:os.path.split(path)

函数用途:返回文件的路径和文件名。

就是以路径最后一个’/‘或者’\‘为分隔,以元祖的形式返回路径与文件名,若只有文件名,则输出文件名与空。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name1 = "opencv_xphoto330d.lib"
name2 = "E:\\vs_code\\qtVideo\\opencv_xphoto330d.lib"
name3 = "E:\\vs_code\\qtVideo"
result1 = os.path.split(name1)
result2 = os.path.split(name2)
result3 = os.path.split(name3)
print("result1:",result1)
print("result2:",result2)
print("result3:",result3)
print("type:",type(result1),type(result2),type(result3))

输出:
result1: ('', 'opencv_xphoto330d.lib')
result2: ('E:\\vs_code\\qtVideo', 'opencv_xphoto330d.lib')
result3: ('E:\\vs_code', 'qtVideo')
type: <class 'tuple'> <class 'tuple'>

os.path.basename()

1
2
3
4
import os.path
filePath=“K:/Project/FilterDriver/DriverCodes/hello.txt”
print(os.path.basename(filePath))
执行的结果仍然是hello.txt。

常用库

Matplotlib

画图

直方图

1
2
3
4
5
6
7
8
9
10
11
12
13
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

x = [x[0] for x in canzhao]
y = [y[1] for y in canzhao]

fig = plt.figure()
plt.bar(x,y,0.01,color="green")
plt.xlabel("X-w_1")
plt.ylabel("Y-rate")
plt.title("bar chart")

plt.show()

将print输入文件

1
2
3
4
mylog = open('recode.log', mode = 'a',encoding='utf-8')
for i in range(10):
print("sdjlahjljag", file=mylog)
mylog.close()