首页 > 系统相关 >linux 命令尾部&的作用

linux 命令尾部&的作用

时间:2024-03-19 10:23:50浏览次数:29  
标签:centOS7 服务 echo 尾部 命令 nohup linux root

参考:https://blog.csdn.net/succing/article/details/127355545

&

作用:表示任务在后台执行,即使ssh窗口关闭,服务依然会在后台持续运行。

bin/zookeeper-server-start.sh config/zookeeper.properties &

#docker run -d -p 8000:8080 tomcat 后台阻塞运行(如果没有-d,窗口被关闭,服务也会随之关闭)

注意:默认情况下,进程是前台进程,这时就把Shell给占据了,此时Shell窗口无法进行其他操作。通常情况下,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,此时可以在启动时,参数尾部加一个'&'或者'-d'实现这个目的。
当然,两者也可以混合式使用,比如:./MediaServer -d &

扩展:单独使用-d或&参数启动服务时的区别和联系

  1. -d参数启动服务时,服务会以守护进程的形式在后台运行,并且会将输出重定向到系统日志或指定的日志文件中,便于后续查看;
  2. 使用&启动服务时,服务会以后台进程的形式在后台运行,并且会将输出重定向到终端之外的标准输出中,服务进程的输出信息只能在终端关闭前查看,之后无法再次查看;
  3. -d参数启动服务时,可以使用service命令来查看和管理服务,包括查看服务状态、重启服务等;
  4. 使用&启动服务时,如果需要查看服务状态或停止服务,需要使用ps命令和kill命令,较为繁琐。

nohup

nohup是no hang up 的缩写,即:不挂断的意思,关闭终端界面后,进程继续后台运行。

[root@centOS7 ~]# nohup ./startup.sh >output 2>&1 &

注意事项:

  1. 使用nohup命令时,需添加 &( “and”符号)到命令的尾部。
  2. 使用nohup命令时,如果直接在shell中使用ctrl + c 或ctrl + z时,进程会结束!!!。
  3. nohup命令默认输出重定向目录,是当前目录的nohup.out文件中;如果当前目录的 nohup.out 是只读的,则自动重定向输出到$HOME/nohup.out 文件中。

&&

作用:表示前一条命令执行成功时,才执行后一条命令;反之,前面的命令执行失败,则&&后面的命令不会被执行

[root@centOS7 ~]# data && echo hello
bash: data: 未找到命令...
[root@centOS7 ~]# date && echo hello
2022年 10月 17日 星期一 00:07:01 CST
hello

|

作用:| 表示管道,上一条命令的输出,作为下一条命令参数,通常用来过滤/汇总数据

示例一:配合grep,完成过滤

#过滤出占用端口9092的程序(kafka)
netstat -nalpt | grep 9092

示例二:配合wc完成统计

 echo 'yes' | wc -l
 echo 'yes' | wc -m

示例三:连续使用管道

[root@centOS7 ~]# cat /etc/passwd | grep /bin/bash | wc -l
2
[root@centOS7 ~]#

||

作用:表示上一条命令执行失败后,才执行下一条命令。一旦执行到一条成功的命令,后面用||连接的命令,就不会再被执行。

[root@centOS7 ~]# cat nofile || echo "hi,succ"
cat: nofile: 没有那个文件或目录
hi,succ
[root@centOS7 ~]# cat /etc/hostname || echo "hello succ"
centOS7
[root@centOS7 ~]#

;

作用:把多条命令,拼接在一起后执行,可减少(人机)交互次数。
注意:用;号隔开每个命令, 每个命令按照从左到右的顺序执行, 但是彼此之间不关心是否失败, 所有命令都会执行。

[root@centOS7 ~]# data;echo 'hello';date;cat /etc/hostname
bash: data: 未找到命令...
hello
2022年 10月 17日 星期一 00:34:05 CST
centOS7
[root@centOS7 ~]#

()

作用:把多个命令,当做一个整体执行,同时增强了可读性。
通常情况下,多个命令用“;”分隔后,最外层再用“()”包裹一下,通常用在稍微复杂点的shell中。

语法格式:(command1;command2;command3;...)

标签:centOS7,服务,echo,尾部,命令,nohup,linux,root
From: https://www.cnblogs.com/hasome/p/18082134

相关文章

  • Linux 文件大冒险:咱们今天都能找到什么?
    Linux文件大冒险:咱们今天都能找到什么?欢迎大家进入Linux文件系统的奇妙世界!......
  • Shell分析服务器日志命令
    1、查看有多少个IP访问:awk'{print$1}'log_file|sort|uniq|wc-l2、查看某一个页面被访问的次数:grep"/index.php"log_file|wc-l3、查看每一个IP访问了多少个页面:awk'{++S[$1]}END{for(ainS)printa,S[a]}'log_file>log.txtsort-n-t''-k......
  • linux安装anaconda报错
    concurrent.futures.process._RemoteTraceback:'''Traceback(mostrecentcalllast):File"concurrent/futures/process.py",line367,in_queue_management_workerFile"multiprocessing......
  • Linux进程通信补充——System V通信
    三、SystemV进程通信​SystemV是一个单独设计的内核模块;​这套标准的设计不符合Linux下一切皆文件的思想,尽管隶属于文件部分,但是已经是一个独立的模块,并且shmid与文件描述符之间的兼容性做的并不好,网络通信使用的是文件的接口,所以SystemV标准慢慢地边缘化了,很难被整......
  • 常用命令--查看用户登录信息--w--who
    常用命令--查看用户登录信息--w--whoww命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。语法w(选项)(参数)......
  • 常用命令--查找软件路径(同时可查看命令是否有权限)--which
    常用命令--查找软件路径(同时可查看命令是否有权限)--whichwhichwhich命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以......
  • 常用命令--如何防止黑客修改文件--chattr
    常用命令--如何防止黑客修改文件--chattrchattrchattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:a:让文件或目录仅供附加用途;b:不更新文件或目录的最后存取时间;c:将文件或目录压缩后存放;d:将文件或目录排除在倾倒操作......
  • 常用命令-提权降权-sudo
    常用命令-提权-sudosudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。语法sudo......
  • 常见命令-history
    常见命令-historyhistory命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。历史命令......
  • 常见命令--SCP
    常见命令--SCPscp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读readonlysystem时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统......