[LINUX]重定向

Posted yiyide266

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LINUX]重定向相关的知识,希望对你有一定的参考价值。

概要

     重定向用于把内容输入到进程的文件描述符中

语法

1.以O_WRONLY|O_CREAT模式打开FILE,绑定到COMMAND进程的文件描述符FD

 

[COMMAND] [FD]> [FILE]

 

 

2.以O_WRONLY|O_APPEND|O_CREAT模式打开FILE,绑定到COMMAND进程的文件描述符FD

 

[COMMAND] [FD]>> [FILE]

 

 

3.以O_RDONLY模式打开FILE,绑定到COMMAND进程的文件描述符FD

[COMMAND] [FD]<  [FILE]

 示例代码,把文件重定向到stdin,进程内读取文件内容,并且复制到新的文件上:

#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <stdio.h>

int main(void)
{
    #define BUFFER 4096
    char err_1[] = "Opps~an error occurred when copy.";
    char buf[BUFFER];
    short rnum = 0;
    char copy_1_pth[] = "./c14_copy.dat";
    int copy_1_fd = open(copy_1_pth, O_RDWR|O_CREAT, 0777);
    while((rnum = read(STDIN_FILENO, buf, BUFFER)) != 0){
        if(rnum != write(copy_1_fd, buf, rnum)){
            write(STDERR_FILENO, err_1, strlen(err_1));
            break;
        }
    }
    printf("Okay.
");
}

4.以O_RDWR模式打开FILE,绑定到COMMAND进程的文件描述符FD

[COMMAND] [FD]<>  [FILE]

 

 

 

以上是关于[LINUX]重定向的主要内容,如果未能解决你的问题,请参考以下文章

302 登录重定向后被 IE 删除的 URL 片段

链接中的 URL 片段和 JSF 中的 ajax 重定向

使用片段 (#) 重定向链接 - asp.net

在 PHP 重定向期间处理片段标识符

重定向时如何在 Safari 中保留 uri 片段?

Linkedin OAuth 2.0 重定向 URL 不能包含片段标识符 (#)