diff --git "a/40\346\236\227\346\200\241\347\220\264/20240612_\351\207\215\345\256\232\345\220\221\357\274\214\347\256\241\351\201\223.md" "b/40\346\236\227\346\200\241\347\220\264/20240612_\351\207\215\345\256\232\345\220\221\357\274\214\347\256\241\351\201\223.md" new file mode 100644 index 0000000000000000000000000000000000000000..995055208bea66bf2d06f1959633df92a06d21a1 --- /dev/null +++ "b/40\346\236\227\346\200\241\347\220\264/20240612_\351\207\215\345\256\232\345\220\221\357\274\214\347\256\241\351\201\223.md" @@ -0,0 +1,83 @@ +##### 重定向 + +- 特殊定向符: + + 1. **>** 输出覆盖定向 + + 2. **>>** 输出追加定向 + + - `0`:标准输入: 键盘输入 + + - `1`:标准输出: 直接显示在屏幕 **不包含错误信息 ** + + ```bash + 1>1.txt 或者 >1.txt ##将正确信息覆盖保存到1.txt + 1>>1.txt 或者 >>1.txt ##将正确信息追加保存到1.txt + ``` + + - `2`:标准错误: 只包含错误信息 + + ```bash + 2>1.txt ##错误信息覆盖保存到1.txt + 2>>1.txt ##错误信息追加保存到1.txt + ``` + + 3. **&** 同时定向标准输出和错误输出 + + ```bash + (555 || echo 78965) >1.txt 2>1.txt + (555 || echo 78965) &>1.txt + (555 || echo 78965) >1.txt 2>&1 + + ##输出正确的信息覆盖到1.txt,错误信息覆盖到1.txt + ##追加&>>同上 + ``` + + 4. **|** 管道 + + - 左边输出的作为右边的输入 + + ```bash + cd 0528/ |find -name "*.log" + ##切换到0528 ##并且找到关键字为.log的后缀 + ``` + + 5. **< >** 输入输出同时使用 + + ```bash + sort -n < num.txt >num1.txt ## 输入整行数字的排序,并且输出到num1.txt + ``` + + 6. **/dev/null** 丢弃 + + ```bash + (555 || echo 78965) >/dev/null 2>1.txt + ## 正确的信息丢弃在/dev/null + ##错误的信息覆盖保存到1.txt + ``` + +### tee + +- 选项 + + 1. **-a**:追加行写入文件而不是覆盖。 + + ```BASH + echo 4444 | tee -a 8.txt ##在末尾追加一条 + ``` + + 2. **-i**:忽略中断信号。 + +```bash +echo 123 | tee {1..3}.txt ##相当于 echo 123 >1.txt +``` + +```bash +tee 文件.txt ##可以直接插入文本 +## 相当于 vim 文件.txt +``` + + + + +