摘抄一下,以后忘了可以翻自己的博客,参考原文链接:

https://blog.csdn.net/liucy007/article/details/90207830

---------------------------------------------------------------------------------------------------------------------------------------------------------------

输出即把相关对象通过输出设备(显示器等)显示出来,输出又分正确输出和错误输出
一般情况下标准输出设备为显示器,标准输入设备为键盘。

Linux shell文件重定向

linux中用0代表标准输入,1代表标准正确输出,2代表标准错误输出。
输出重定向:正常输出是把内容输出到显示器上,而输出重定向是把内容输出到文件中

Linux shell文件重定向

例如:ifconfig > test.log 即把ifconfig执行显示的内容写入test.log.当前页面不再显示执行结果。
注意:错误输出重定向>/>>后边没有空格

Linux shell文件重定向

命令 >> 文件 2>&1 和 命令 &>>文件 两个命令作用相同
系统有个常见用法 ls &>/dev/null 正确输出或错误输出结果都不要。(null可以理解为黑洞或垃圾站)
命令>>文件1 2>>文件2 正确日志和错误日志分开保存

例:nohup java -jar /usr/sbin/lb-agent.jar >>/var/log/lb-agent.log 2>&1 &
将jar执行的结果写入到lb-agent.log中
在命令最后加上&符号,表示让这个进程到后台去执行,这样立刻返回到提示符状态,我们可以接着做下面的事。如:command &。
这种“后台”进程在shell一直打开的情况下是没有问题的,如果我们关了shell窗口甚至退出ssh登录或vnc登录,那么进程自动就结束了。所以如果想退出窗口乃至退出登录仍然保持程序运行,再加上nohup,形如:nohup command 1>output 2>&1 &

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

同时还有tee命令也可以提供文件重定向的功能

tee命令:
在输出信息的同时把信息记录到文件中

例子:
ls | tee ls.txt 将会在终端上显示ls命令的执行结果,并把执行结果输出到ls.txt文件中,将会覆盖原文件的内容,若无ls.txt文件,将会自动创建该文件
ls | tee -a ls.txt 保留ls.txt文件中原来的内容,并把ls命令的执行结果追加到ls.txt文件的最后,不覆盖原来的内容

ls | tee file1.txt file2.txt

将执行结果同时保存到file1和file2中。

tee命令和>重定向很相似,只有一点点区别,>重定向只会将内容重定向到文件,而不会在终端输出,而tee命令会在输出到终端的同时,将内容重定向到文件。
 

相关文章:

  • 2021-12-31
  • 2022-02-04
  • 2021-07-26
  • 2021-09-23
  • 2022-12-23
  • 2021-10-29
  • 2021-12-03
  • 2021-10-09
猜你喜欢
  • 2022-03-07
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2021-09-29
  • 2022-12-23
相关资源
相似解决方案