diff --git "a/21 \346\264\252\351\224\246\346\264\213/2024-06-14 \351\207\215\345\256\232\345\220\221\344\270\216\347\256\241\351\201\223.md" "b/21 \346\264\252\351\224\246\346\264\213/2024-06-14 \351\207\215\345\256\232\345\220\221\344\270\216\347\256\241\351\201\223.md" new file mode 100644 index 0000000000000000000000000000000000000000..d2ef441dff3961f79848b9718df9d39a7736ed6b --- /dev/null +++ "b/21 \346\264\252\351\224\246\346\264\213/2024-06-14 \351\207\215\345\256\232\345\220\221\344\270\216\347\256\241\351\201\223.md" @@ -0,0 +1,114 @@ +## 重定向与管道 + +- 重定向 + + (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. 输出传递 + + ``` + ls -l | grep "txt" #在ls -l的输出结果下,过滤包含txt的行 + ``` + + 2. 多命令链式 + + ``` + ps aux | grep "sshd" | awk '{print $2}' #在所有进程中过滤包含 "sshd" 的行并提取其中的进程ID + ``` + +- tee + + tee命令在Linux中用于从标准输入读取数据,并将其写入到标准输出和一个或多个文件中。tee命令通常与其他命令一起通过管道使用。 + + - 基本语法 tee [options] [file] + + - 常用选项 + + - -a(append) 追加 + - -i(ignore-interrupts) 忽略中断信号 + + - 命令 + + 1. 基本用法 + + ``` + echo '123' | tee file.txt + ``` + + 2. 写入多个文件 + + ``` + echo '123' | tee file1.txt file2.txt + ``` + + 3. 追加到文件 + + ``` + echo '123' | tee -a file.txt + ``` + + 4. 忽略中断 + + ``` + echo '123' | tee -i file.txt + ``` + + 5. 多次混合使用 + + ``` + echo '123' | tee file.txt | cat -n + ``` + +- 作业 + +1. << + + 从标准输入中读入,直到遇见分界符才停止 + +2. () + + 命令有时会跟选项一起出现,需要加上括号使其完整被读取 \ No newline at end of file diff --git "a/21 \346\264\252\351\224\246\346\264\213/2024-06-16 \347\224\250\346\210\267\345\222\214\347\224\250\346\210\267\347\273\204\347\256\241\347\220\206.md" "b/21 \346\264\252\351\224\246\346\264\213/2024-06-16 \347\224\250\346\210\267\345\222\214\347\224\250\346\210\267\347\273\204\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..302042ddbc7b37e2efe6dbc79b2cd1c40934064a --- /dev/null +++ "b/21 \346\264\252\351\224\246\346\264\213/2024-06-16 \347\224\250\346\210\267\345\222\214\347\224\250\346\210\267\347\273\204\347\256\241\347\220\206.md" @@ -0,0 +1,85 @@ +## 用户和用户组管理 + +- 用户管理 + - 添加账户 useradd -m -s /bin/bash db2 + - 删除账户 userdel -r db2 + - 修改账户 usermod [选项同添加账户] db2 + - 查看帐户 getent passwd db2 +- 用户组管理 + - 添加用户组 groupadd stu1 + - 删除用户组 groupdel stu1 + - 添加用户到用户组 usermod -aG stu1 db2 +- 密码管理 + - 设置密码 passwd +- sudo权限管理 + - usermod -aG sudo xxx + - 修改/etc/sudoers文件 +- 登录权限管理 +- 用户环境管理 + - 用户配置文件 : .bashrc + - 用户环境变量: PATH、𝑃𝐴𝑇𝐻、HOME、$SHELL + +## 文件与目录的权限管理 + +- 文件类型 + + - -普通文件 + - d目录 + - l连接文件 + - b c s p 等其它文件 + +- 基本权限 + + - r 读 + - w 写 + - x 执行 + +- 权限表示 + + - 字符表示 + - 数字表示 + - 4 代表 r + - 2 代表 w + - 1 代表 x + - 权限修改 + - chmod 修改权限 + - chown 修改拥有者 + - chgrp 修改所属组 + - 权限的继承 + - 目录权限下文件和目录的影响 + - umask + - 特权权限 + - SUID + - SGID + - SBIT + - 隐藏权限 + - i + - 用在文件上,无法对该文件进行任何修改 + - 用在目录上,无法在里面创建新文件,但可以修改已有文件 + - a + - 除了可追加内容外,无法进行其它修改 + - 隐藏权限的操作 + - 修改隐藏权限 chattr + - chattr +i XXX + - chattr -i XXX + - 查看隐藏权限 + - lsattr + + 可以使用的选项有: + + - -g GID 指定新用户组的组标识号(GID)。 + - -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。 + + #### 实例1: + + ``` + # groupadd group1 + ``` + + 此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。 + + #### 实例2: + + ``` + # groupadd -g 101 group2 + ``` \ No newline at end of file