文件处理——文件重定向(一)

前言:包括dos在内的大多数操作系统,都提供了将程序的输入和输出重定向到不同设备上的手段。这就是说,程序的输出并不一定是到屏幕上,还可以重定向到文件或打印机端口上;程序的输入并不一定来自键盘,还可以重定向到文件上。 在DOS中,重定向是通过重定向字符“<”和“>”来实现的。

#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>

void main()
{
    char str[100] = { 0 };
    gets(str);  

    system(str);
}

1.运行程序,生成exe文件。

2.dos命令下,切换到debug目录下

2.1 cmd后,输入d:,
2.2 cd D:\vs2013\0730\Debug,切换到工作目录下

3. 0730.exe > redirection.txt,重定向输出

4. 0730.exe < netstat.txt,重定向输入

5. 0730.exe < netstat.txt >myRedirection.txt,重定向输入与输出

注意:重定向输出时,>与>>区别在于前者会覆盖文件的内容,>>则不会,会直接追加在文件的末尾。

### Linux 命令基础:管道与重定向 #### 管道 (Pipe) 的基本概念 管道是种用于连接两个或多个命令的方式,其中前个命令的标准输出会成为下个命令的标准输入。这种机制使得复杂的任务可以通过组合简单的命令来完成。例如,在 `ll -a /etc/ | more` 中,`ll -a /etc/` 列出了 `/etc/` 目录下的所有文件和目录,并将其输出传递给 `more` 命令分页显示[^2]。 以下是另个常见示例: ```bash netstat -an | grep "ESTABLISHED" ``` 此命令通过 `netstat -an` 查看当前网络连接状态,并利用 `grep "ESTABLISHED"` 过滤出处于已建立连接的状态的信息。 #### 输入重定向 (Input Redirection) 输入重定向允许将数据流从某个文件或其他来源引入到命令中,而不是默认从键盘读取输入。常见的符号有 `<` 和 `<<`。例如: - 使用单个小于号 (`<`)文件内容作为命令的输入: ```bash sort < file.txt ``` 此处表示对 `file.txt` 文件中的内容进行排序并输出结果。 - 使用双小于号 (`<<`) 实现多行文本输入直到指定结束标记为止: ```bash cat <<EOF > output.txt This is a test. EOF ``` 上述代码片段创建了个名为 `output.txt` 的新文件并将 `"This is a test."` 写入该文件中[^4]。 #### 输出重定向 (Output Redirection) 输出重定向则是把原本应该打印到屏幕上的信息保存至某特定位置,比如存储在文件里或者追加到已有文档后面。主要涉及大于号 (`>`, `>>`) 及其变体形式。 - 覆盖写入模式(`>`): 如果目标路径下存在同名文件,则会被替换掉;如果不存在则新建之。 示例: ```bash echo "Hello, world!" > message.txt ``` - 追加写入模式(`>>`): 不删除原内容而是附加新的记录上去。 示例: ```bash date >> log.txt ``` 以上介绍了关于如何运用管道以及各种类型的重定向操作符的基础知识,这对于初学者理解 Linux Shell 编程至关要[^3]。 ### 总结 掌握这些核心工具能够极大地提升工作效率,尤其是在批量处理大量数据时显得尤为要。熟悉 FHS 标准有助于了解各部分功能区域划分情况从而更好地管理自己的工作环境[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值