nohup的作用是让命令永久执行,哪怕当前终端已经退出登录
而&的作用是后台执行
因此
nohup command &的意思是
永久执行command,并且是在后台执行
至于2>&1的作用
在bash shell中
0代表标准输入,一般是键盘录入
1代表标准输出,一般是屏幕
2代表标准错误
因此当命令使用nohup &运行以后
标准都错误都输出到2去了,console上看不到输出的错误
因此,在这里2>&1都作用就很明显了,起到了一个重定向都作用,将标准错误重定向到标准输出上去
这样,后台运行的程序就可以在屏幕上看到程序输出的错误了