【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

区别

  1. 使用nohup command & 方式时,如果ssh突然断开了,那么再登陆到系统的时候,执行jobs就不会发现刚才的job的编号了。但是command会继续执行,直到完成脚本的内容。
  2. 使用screen方式执行脚本,然后按键Ctrl+a+d暂时断开后,即使ssh会话断了,使用screen -r也是能恢复到之前的会话中的。当然脚本内容也会直到执行完成。