在实验室得服务器上运行跑代码时,总是会用到一些Linux的基础命令,在此做一些积累,方便之后不用百度再去查。
Screen
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
简介:在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。
常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24查看当前的screen
screen -ls
进入Detached状态的screen
screen -r id
进入Attached状态的screen(踢掉当前的,再次进入,程序会继续执行)
screen -D -r id
创建新的screen
screen -S name
中断当前的screen(只是退出screen,并不会终止程序)
Ctrl+A+D # 中断当前screen
退出并销毁当前的screen
exit
查看屏幕上方的输出
Ctrl+A+[
Ctrl+v # 退出该状态
停止屏幕闪烁
Ctrl+A Ctrl+G # 两个键依次按下
如果要对所有的screen生效,在~/.screenrc中加入vbell off命令列表
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> screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业
杀死screen虚拟环境
exit
screen -X -S [session # you want to kill] quit
快捷键
ctrl + a + c:创建新窗口(create)
ctrl + a + n:切换至下一个窗口(next)
ctrl + a + p:切换至上一个窗口(previous)
ctrl + a + w: 列出所有窗口
ctrl + a + A: 窗口重命名
ctrl + a + d:detach当前会话
ctrl + a + [1-9]: 切换到指定窗口(1-9为窗口号)
ctrl + d:退出(关闭)当前窗口
查看文件个数
1 | 查看文件夹下文件数 |
删除文件
1 | rm -rf ./*** # r表示递归,f为强制删除没有提醒 |
复制文件
1 | cp -i ./copy/file/path ./target/path # i表示重名时会提醒(-f为强制) |
查看GPU使用情况
1 | nvidia-smi |