1. 常用命令
-
watch
:周期性的执行某个程序-n
间隔时间,-d
高亮变化- 执行的命令可以使用
""
括起来(比如含有管道运算符)
watch -n 1 -d "ps aux | grep ^zhangjg"
-
nohup
:将命令不挂断运行(断开SSH继续运行,没有后台运行的意思),默认将输出重定向到nohup.out的文件中。通常与&
连用,&
在命令结尾表示将命令后台运行(断开SSH后程序也退出,没有不挂断的意思),nohup ping baidu.com -c 100 > log.out 2>&1 & # 将ping的结果stdout和stderr(2>&1)重定向到log.out,将命令在后台不挂断运行
-
source
:在当前bash环境下读取并执行脚本中的命令,该命令可以使用.
代替。使用source
命令将该脚本在当前shell的环境中执行,而不是启动一个新的子shell执行,执行后会对当前环境生效。
使用bash
或是直接对文件赋予可执行权限执行时,会重新建立一个子shell,子shell继承父shell的环境变量,但是改变的变量不会返回到父shell。参考 -
fuser
:可以显示出当前哪个程序在使用某个文件(比如GPU设备),用自己的权限只能看自己的进程,查看所有进程需要sudo权限fuser -av /dev/nvidia*
2. 常用操作
-
将conda切换命令写到shell脚本中
#! /bin/sh source /home/zhangjg/anaconda3/etc/profile.d/conda.sh conda activate test conda env list
如果想切换当前环境,使用source
执行该脚本。如果想切换环境后,在脚本中继续执行其他的python程序,可以使用bash
或赋予可执行权限,这样在该脚本执行完毕后,当前环境不变。