linux重定向输出到⽂件、nohup、
⼀、重定向输出到⽂件
重定向标准输出到指定⽂件
  1、覆盖 >
less /etc/passwd >
echo abc >
  2、追加 >>
echo123 >>
重定向标准错误到指定⽂件
  1、覆盖 2>
cd /eettcc/aabbcc 2>
  2、追加 2>>
cd /eettcc/aabbcc 2>>
这⾥的2是由shell修改的流ID,1是标准输出,2是标准错误输出。
输出内容到⽂件f,错误信息输出到⽂件e:
ls /eettcc/aabbcc > f 2> e
标准输出和标准错误都输出到⽂件f:printf输出格式linux
ls /eettcc/aabbcc > f 2>&1  #错误信息覆盖
ls /eettcc/aabbcc > f 2>> f  #错误信息追加
⼆、nohup 和 & 的作⽤
1、& 后台运⾏程序,但⽇志打印到前台;可以重定向⽇志输出到指定⽬录,查看任务使⽤jobs
2、nohup, no hang up 不挂起。关闭终端窗⼝,程序不挂断。
(1) ⽰例程序 hello.c 如下:
#include <stdio.h>
#include <unistd.h>
#include <string.h>
int main() {
fflush(stdout);
setvbuf(stdout, NULL, _IONBF, 0);
int i = 1;
while (1) {
printf("Hello, %d\n", i++);
sleep(1);
}
}
(2) 运⾏准备:yum install gcc  编译:gcc hello.c -o hello
(3) 运⾏程序 
命令说明
./hello ctrl + c 以中断程序
./hello &ctrl + c 不能中断程序,因为程序在后台运⾏,只是⽇志打印到了前台
./hello >> hello.log &重定向⽇志到 hello.log。可以使⽤ jobs 命令查看后台 hello 进程。查看⽇志 tail -fn 5 hello.log
nohup ./hello ctrl + c 程序中断;关闭终端窗⼝,程序不中断
nohup ./hello &ctrl + c 不中断;关闭终端窗⼝,不中断