【Linux系统命令】常见命令
学习中遇到的Linux常见命令记录
locate
Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
格式:locate 文件名
,例如:
&
让命令在后台执行,终端退出后命令仍旧执行
格式:命令 &
nohub与screen
nohup,让系统后台不挂断地运行命令,退出终端不会影响程序的运行
nohup英文全称 no hang up(不挂起)
在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果要停止运行,你需要使用ps -aux | grep "脚本名"
命令查找到 nohup 运行脚本到 PID(也可以使用ps -def | grep "脚本名"
命令来查找),然后使用kill -9 进程的PID
命令来删除
格式:nohup 命令 [参数] [&]
screen,关闭ssh连接后,启动的程序继续运行
#ssh登录我的Linux服务器,
[root@centos1152 ~]# screen #进入screen窗口
[root@centos1152 ~]# ./cp11.sh #运行一个shell脚本,然后按键Ctrl+a,d(先按Ctrl+a 再按d键)暂时断开screen会话
#然后干别的事情(散步)去了(可能ssh连接已经被断开),过一会儿,回来重新登录ssh,然后:
[root@centos1152 ~]# screen -ls #显示所有的 screen sessions (Ctrl+a,d后的session为detached状态)
[root@centos1152 ~]# screen -ls
There are screens on:
4102.pts-3.centos1152 (Detached)
[root@centos1152 ~]# screen -r 4102 #找到我想要 screen session也就是4102恢复回来 (捡回来)
参考链接:https://blog.csdn.net/jadesuper6/article/details/8094181
区别:
- 使用nohup command & 方式时,如果ssh突然断开了,那么再登陆到系统的时候,执行jobs就不会发现刚才的job的编号了。但是command会继续执行,直到完成脚本的内容。
- 使用screen方式执行脚本,然后按键Ctrl+a+d暂时断开后,即使ssh会话断了,使用screen -r也是能恢复到之前的会话中的。当然脚本内容也会直到执行完成。