diff --git "a/\350\216\253\346\265\267\345\251\214/20240612\345\270\270\347\224\250\345\221\275\344\273\244.md" "b/\350\216\253\346\265\267\345\251\214/20240612\345\270\270\347\224\250\345\221\275\344\273\244.md" new file mode 100644 index 0000000000000000000000000000000000000000..9b4083be61c4257df4c6120b761edc90f17eb807 --- /dev/null +++ "b/\350\216\253\346\265\267\345\251\214/20240612\345\270\270\347\224\250\345\221\275\344\273\244.md" @@ -0,0 +1,101 @@ +### 1. `time` + +用于测量命令的执行时间。 + +### 2. `date` + +显示或设置系统日期和时间。 + +**示例**: + +```bash +date "+%Y-%m-%d %H:%M:%S +``` + +### 3. `timedatectl` + +查看和设置系统时间和日期,时区和 NTP(网络时间协议)设置。 + +### 4. `reboot` + +重新启动系统。 + +### 5. `poweroff` + +关闭系统电源。 + +### 6. `wget` + +从网络上下载文件。 + +```bash +wget https://example.com/file.txt +``` + +### 7. `curl` + +从网络上获取或发送数据。 + +```bash +curl -O https://example.com/file.txt +``` + +### 8. `ps` + +查看当前运行的进程。 + +```bash +ps aux # 显示所有用户的所有进程 一般会结合。grep,awk等过滤数据 +``` + +### 9. `kill` + +向进程发送信号(通常用于终止进程)。 + +```bash +kill 1234 # kill 进程号,用pidof 进程名。来查看具体的进程的进程号 +``` + +### 10. `killall` + +向指定名称的所有进程发送信号。 + +`先安装psmisc` + +1. 安装psmisc 后,就会有pstree和killall + +```bash +killall firefox +``` + +### 11. `ip` + +显示和操作网络接口和路由。 + +```bash +ip addr show +``` + +### 12. `ss` + +显示套接字统计信息。旧版是netstat + +```bash +ss -tuln # 可以查看哪些端口开放着 +``` + +### 13. `uname` + +显示系统信息。 + +### 14. `uptime` + +显示系统运行时间和负载。 + +### 15. `who` + +显示当前登录用户信息。 + +### 16. `last` + +显示系统上最近的登录信息。 diff --git "a/\350\216\253\346\265\267\345\251\214/20240613\351\207\215\345\256\232\345\220\221\345\222\214\347\256\241\351\201\223.md" "b/\350\216\253\346\265\267\345\251\214/20240613\351\207\215\345\256\232\345\220\221\345\222\214\347\256\241\351\201\223.md" new file mode 100644 index 0000000000000000000000000000000000000000..0cbc3ff765eeea80fbf446b8a0c2c262e1539948 --- /dev/null +++ "b/\350\216\253\346\265\267\345\251\214/20240613\351\207\215\345\256\232\345\220\221\345\222\214\347\256\241\351\201\223.md" @@ -0,0 +1,98 @@ +# 重定向和管道 + +## 1、标准输入和标准输出 + +标准输入:由0表示,默认接受来自键盘的输入 + +标准输出:由1表示,默认输出到终端窗口 + +标准错误:由2表示,默认输出到终端窗口 + +## 2、重定向 + +### 1、重定向输出到文件 + +```bash +>:标准输出,重定向到文件,文件内容会被覆盖 +>>:重定向到文件,在原有基础上追加内容 +2>:错误输出,重定向到文件,进行覆盖 +2>>:重定向到文件,追加内容 +&>:将标准输出和错误输出重定向到文件 +&>>:将标准输出和错误输出重定向到文件,追加内容 +``` + +#### 写法: + +```bash +command > file +command >> file +command 2> error_file +command 2>> error_file +``` + +将标准输出和错误输出重定向到文件写法: + +```bash +覆盖:command &> file 或 command > file 2>&1 +追加:command &>> file 或 command >> file 2>&1 +``` + +#### 特殊重定向 + +空设备文件:使用/dev/null丢弃输出。 + +```bash +1command > /dev/null # 丢弃标准输出 +2command 2> /dev/null # 丢弃错误输出 +3command &> /dev/null # 同时丢弃标准输出和错误输出 +``` + +### 2、输入重定向 + +**从文件读取**:命令从指定文件而非标准输入(通常是键盘)读取数据 + +```bash +command < file +``` + +## 3、管道 + +它允许用户将一个命令的输出直接作为另一个命令的输入,从而实现多个命令的串联,完成复杂的任务处理,操作符是一个竖线字符 | + +### 基本语法 + +命令的格式为:`command1 | command2` + +- `command1` 的标准输出(stdout)被连接到 `command2` 的标准输入(stdin)。 +- 这意味着 `command1` 执行产生的输出数据,不是打印到屏幕上,而是直接“流入”到 `command2` 中作为处理的输入。 + +示例: + +```bash +ps aux | grep nginx \\查找特定进程:查找并显示所有名为 nginx 的进程信息。 +``` + +## 4、tee + +它从标准输入读取数据,并同时将这些数据复制到标准输出(通常是屏幕)以及一个或多个文件中 + +### 基本用法 + +```bash +command | tee file +``` + +### 常用选项 + +- **-a, --append**:追加数据到文件末尾,而不是覆盖现有内容。 + + ```bash + command | tee -a file + ``` + +### 示例: + +``` +echo "Hello, World!" | tee file1.txt file2.txt \\将 “Hello, World!” 输出到 file1.txt 和 file2.txt 两个文件中,同时也会显示在屏幕上。 +``` +