From 03243cb33d4d5cf7344163c823313af4756031e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=9B=A8=E6=99=B4?= <2137161545@qq.com> Date: Thu, 13 Jun 2024 12:09:55 +0800 Subject: [PATCH] =?UTF-8?q?Linux=E5=86=85=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...16\347\256\241\351\201\223\347\254\246.md" | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 "49 \345\276\220\351\233\250\346\231\264/240613 \351\207\215\345\256\232\345\220\221\347\254\246\344\270\216\347\256\241\351\201\223\347\254\246.md" diff --git "a/49 \345\276\220\351\233\250\346\231\264/240613 \351\207\215\345\256\232\345\220\221\347\254\246\344\270\216\347\256\241\351\201\223\347\254\246.md" "b/49 \345\276\220\351\233\250\346\231\264/240613 \351\207\215\345\256\232\345\220\221\347\254\246\344\270\216\347\256\241\351\201\223\347\254\246.md" new file mode 100644 index 0000000..48df93d --- /dev/null +++ "b/49 \345\276\220\351\233\250\346\231\264/240613 \351\207\215\345\256\232\345\220\221\347\254\246\344\270\216\347\256\241\351\201\223\347\254\246.md" @@ -0,0 +1,119 @@ +## 重定向与管道 + +- 重定向 + + (1)0:标准输入 + + (2)1:标准输出 + + (3)2:标准错误输出 + + 1. 输出重定向 + + - 覆盖 > 不存在,创建;存在,覆盖 + + - 追加 >> 追加置文件末尾 + + - 正确输出 1>/1>> 仅重定向标准输出的正确信息 + + - 错误输出 2>/2>> 仅重定向标准输出的错误信息 + + - 全部输出 + + (1)command &> 文件名 + + (2)command [1]> 文件名 2>&1 + + - 混用 + + - 追加和覆盖,同时保存至两个文件 + + command 1>> 文件名1 2> 文件名2 + + - 正确,保存;错误,丢弃 + + command 1>> 文件名1 2> /dev/null + + - 输入和输出,同时保存至两个文件 + + command < 文件名1 > 文件名2 + + + + 2. 输入重定向 + + - 将文件的内容作为命令的输入 < + + sort < num.txt //对文件的内容进行排序 + +- 管道 | + + 管道是进行命令链式操作的重要工具,作用是将一个命令的输出作为另一个命令的输入。 + + 1. 输出传递 + + ```bash + ls -l | grep "txt" #在ls -l的输出结果下,过滤包含txt的行 + ``` + + 2. 多命令链式 + + ```bash + ps aux | grep "sshd" | awk '{print $2}' #在所有进程中过滤包含 "sshd" 的行并提取其中的进程ID + ``` + +- tee + + tee命令在Linux中用于从标准输入读取数据,并将其写入到标准输出和一个或多个文件中。tee命令通常与其他命令一起通过管道使用。 + + - 基本语法 tee [options] [file] + + - 常用选项 + + - -a(append) 追加 + - -i(ignore-interrupts) 忽略中断信号 + + - 命令 + + 1. 基本用法 + + ```bash + echo '123' | tee file.txt + ``` + + 2. 写入多个文件 + + ```bash + echo '123' | tee file1.txt file2.txt + ``` + + 3. 追加到文件 + + ```bash + echo '123' | tee -a file.txt + ``` + + 4. 忽略中断 + + ```bash + echo '123' | tee -i file.txt + ``` + + 5. 多次混合使用 + + ```bash + echo '123' | tee file.txt | cat -n + ``` + +- 作业 + +1. << + + 从标准输入中读入,直到遇见分界符才停止 + +2. () + + 命令有时会跟选项一起出现,需要加上括号使其完整被读取 + + + -- Gitee