关于后端:015-Linux-标准输入输出重定向管道和后台启动进程命令

46次阅读

共计 1240 个字符,预计需要花费 4 分钟才能阅读完成。

1 三种规范输入输出

  1. 规范输出(STDIN),文件形容符号为:0,默认从键盘获取输出;
  2. 规范输入(STDOUT),文件形容符号为:1,默认输入到显示终端;
  3. 规范谬误输入(STDERR), 文件形容符号为:2,默认输入到显示终端;

2 什么是重定向?如何重定向?

(1)什么是重定向?

IO 重定向是为了扭转默认输出、输入的地位,如默认状况下规范输入(STDOUT),规范谬误输入(STDERR)都是输入到显示终端,如对规范输入、规范谬误输入扭转其默认输入地位,可重定向输入到指定的文件中(理论工作中常常这么应用),要重定向就要配合一些语法符号。

(2)如何重定向?

  • Linux Shell 应用 ” > ” 和 “>>”  进行对文件描述符进行重定向
  • “>” # 应用本次输入内容替换原有文件的内容;
  • “>>”  把本次输入追加到原文件的前面;
  • 常见的一些输入重定向(规范输入和规范谬误输入)示意
  • 【>】规范输入笼罩重定向
  • 【>>】规范输入追加重定向
  • 【2>】规范谬误输入笼罩重定向
  • 【2>>】规范谬误输入追加重定向
  • 【&>】将规范输入和规范谬误输入都同时笼罩重定向
  • 【&>>】将规范输入和规范谬误输入都同时追加重定向

3 管道符以及和它容易混同的一些符号应用

(1)管道符 |

  • 格局 : 命令 1 | 命令 2 …
  • 解释: 命令 1 的输入作为命令 2 的操作对象

(2)& 和 &&、| 和 || 区别、分号 (;) 用法

  • & 示意工作在后盾执行;
  • && 逻辑与,只有前一条命令执行胜利时,才执行后一条命令,如 echo ‘1’ && echo ‘2’;
  • | 示意管道,上一条命令的输入,作为下一条命令操作对象;
  • || 逻辑或,只有上一条命令执行失败后,才执行下一条命令;
  • “;” 用法形式:command1 ; command2,用 ; 号隔开每个命令,每个命令依照从左到右的程序执行,彼此之间不关怀是否失败,所有命令都会执行。

4 nohup 后盾启动过程命令和案例

  • nohup 让某个过程在后盾运行。
  • nohup 英文全称 no hang up(不挂起),用于在零碎后盾不挂断地运行命令,退出终端不会影响程序的运行。
  • nohup 命令,在默认状况下(非重定向时),会输入一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输入重定向到 $HOME/nohup.out 文件中。
# 当前台过程执行启动 grafana 命令,& 放在命令到结尾,示意后盾运行
nohup ./bin/grafana-server  start > grafana.log 2>&1 &

# 2>&1 解释:将规范谬误输入 (2 示意) 重定向到规范输入(&1 示意),规范输入(&1) 再被重定向输出到 grafana.log 文件中。

5 小结

  • 总结了 Linux 中规范输出 (0 示意),规范输入(1 示意),规范谬误输入(2 示意) 以及它们的重定向用法;
  • 接着简述了管道符 | 用法,以及 & 和 &&、| 和 || 区别、分号 (;) 用法;
  • 最初联合 nohup 后盾启动过程命令在理论工作中和上述提到的命令的综合应用。

「不甩锅的码农」原创,转载请注明起源,未经受权禁止商业用途!同名 GZH 请关注!

正文完
 0