From b369de0b04737b85fc84bb71c16245f28f46412c Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 6 Jun 2024 11:27:17 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...76\345\240\202\350\212\235\345\243\253.md" | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 "\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" diff --git "a/\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" "b/\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" new file mode 100644 index 0000000..cbec66a --- /dev/null +++ "b/\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" @@ -0,0 +1,141 @@ +## 6-5讲课内容 + +#### 一、vim编辑器常用命令 + +``` +Vim编辑器常用命令包括: +移动光标:j(向下)、k(向上)、h(向左)、l(向右) +复制:yy(复制一行)、yw(复制光标开始的一个单词) +剪切:x(向后剪切一个字符)、4x(剪切4个字符) +删除:dd(删除一行)、dw(删除一个单词) +粘贴:p(粘贴复制或剪切的内容) + +``` + + + +#### 二、作业 + +``` + +1. vi 编辑器有几种模式? + ``` + 答:分别是命令模式、插入模式和底行模式。 + ``` +2. 如何进入 vi 编辑器的插入模式 + ``` + 答:①按下"i"键,立即切换到插入模式,可以在光标前插入字符; + ②按下"a"键,将光标移到当前字符之后并进行插入模式。 + ③在命令模式下输入“o”或“O”键,可以在当前行的下方或上方插入新行并进入插入模式。 + ④在命令模式下输入“I”或“A”键,可以在当前行的行首或行尾插入字符并进入插入模式。 + ⑤在命令模式下输入"r" "R"键,可以替换当前字符并进行插入模式。 + ``` +3. 如何进入 vi 编辑器的可视化模式 + ``` + 答:在vim命令模式下,输入v或V或Ctrl+v。 + 字符选择模式:选中光标经过的所有字符,普通模式下按小写v进入 + 行选择模式:选中光标经过的所有行,普通模式下按大写V进入 + 块选择模式:选中光标经过的所有块,普通模式下按Ctrl+V进入 + ``` +4. 在 vi 编辑器中如何复制一行 + ``` + 答:在光标位置按“yy”,复制当前行;然后再光标的行按“p”,粘贴到下一行,原来的往下顺移。 + ``` +5. 在 vi 编辑器中如何进行粘贴 + ``` + 在vim中复制或剪切文本后,只需按“p”。可以按p键多次粘贴文本 + ``` +6. 如何删除从 3 行到 15 行的所有数据 + + ``` + 答:在vim编辑器中删除一行是“dd”; + 1、按Esc键进入正常模式。 + 2、输入:3,15d,然后按Enter键以删除行 + ``` + +7.vim练习: + +光标移动练习,命令模式下: + +单位级 h j k l +单词级 w e b +块级 gg G 0 ^ $ H M L ngg nj nk +把下列句子按照第一句的正确顺序修改好并把多余的空行删除 + +g/^$/d +this is a simple easy vim tutorial + +tutorial simple a easy this vim is +is this tutorial vim simple a easy + + +tutorial vim this is a easy simple +tutorial easy vim simple a this is +simple a vim easy tutorial is this + +tutorial is easy vim a simple this + + +vim simple this tutorial a easy is +a vim tutorial simple easy is this + + +easy a simple vim is tutorial this +vim tutorial is a easy simple this +a this vim tutorial is easy simple +this tutorial simple easy a is vim + + +easy tutorial this simple a is vim +a tutorial easy is this simple vim + +a tutorial vim is easy this simple +simple this easy is vim tutorial a + +this tutorial is a easy simple vim +vim is tutorial simple this easy a + +vim is simple this tutorial easy a +easy a simple is vim this tutorial +vim is tutorial simple a easy this +this vim is tutorial simple easy a +先敲出以下代码,然后修正以下代码中的错误单词、重复单词、错误格式、多余行,修改函数名为 typing 并为定时器添加 300 毫秒延迟 + +const bbb = () => { +// this is is a description +// +// another descriptttion +const timer = setTimeout(( ) => { + console.log(that) alert('cool!') + // awosome man ! +}) +} +尝试在下面的文本中进行复制粘贴练习 + +删除这一行 +dd +粘贴到这一行下面 +p +剪切 ABC 并把它粘贴到 XYZ 前面,使这部分内容看起来像 +剪切 并把它粘贴到 ABC XYZ 前面。 +daw +p +尝试修改下列文本的大小写 + +Change this line to UPPERCASE, THEN TO lowercase. +转换词为大写:将光标移动到要修改的单词上,按下 gU 键将单词变为大写。 +转换词为小写:将光标移动到要修改的单词上,按下 gu 键将单词变为小写。 +按下面的说明进行操作 + +按 dd 删除本行 +按 . 重复删除操作 +2. 再删除两行 +这行也没了 +p 把刚才删掉的粘回来 +3. 又多出 6 行 +左缩进、右缩进练习 + +在这一行上依次按 3>>,<< 和 Date: Thu, 6 Jun 2024 11:33:18 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...76\345\240\202\350\212\235\345\243\253.md" | 141 ------------------ 1 file changed, 141 deletions(-) delete mode 100644 "\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" diff --git "a/\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" "b/\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" deleted file mode 100644 index cbec66a..0000000 --- "a/\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" +++ /dev/null @@ -1,141 +0,0 @@ -## 6-5讲课内容 - -#### 一、vim编辑器常用命令 - -``` -Vim编辑器常用命令包括: -移动光标:j(向下)、k(向上)、h(向左)、l(向右) -复制:yy(复制一行)、yw(复制光标开始的一个单词) -剪切:x(向后剪切一个字符)、4x(剪切4个字符) -删除:dd(删除一行)、dw(删除一个单词) -粘贴:p(粘贴复制或剪切的内容) - -``` - - - -#### 二、作业 - -``` - -1. vi 编辑器有几种模式? - ``` - 答:分别是命令模式、插入模式和底行模式。 - ``` -2. 如何进入 vi 编辑器的插入模式 - ``` - 答:①按下"i"键,立即切换到插入模式,可以在光标前插入字符; - ②按下"a"键,将光标移到当前字符之后并进行插入模式。 - ③在命令模式下输入“o”或“O”键,可以在当前行的下方或上方插入新行并进入插入模式。 - ④在命令模式下输入“I”或“A”键,可以在当前行的行首或行尾插入字符并进入插入模式。 - ⑤在命令模式下输入"r" "R"键,可以替换当前字符并进行插入模式。 - ``` -3. 如何进入 vi 编辑器的可视化模式 - ``` - 答:在vim命令模式下,输入v或V或Ctrl+v。 - 字符选择模式:选中光标经过的所有字符,普通模式下按小写v进入 - 行选择模式:选中光标经过的所有行,普通模式下按大写V进入 - 块选择模式:选中光标经过的所有块,普通模式下按Ctrl+V进入 - ``` -4. 在 vi 编辑器中如何复制一行 - ``` - 答:在光标位置按“yy”,复制当前行;然后再光标的行按“p”,粘贴到下一行,原来的往下顺移。 - ``` -5. 在 vi 编辑器中如何进行粘贴 - ``` - 在vim中复制或剪切文本后,只需按“p”。可以按p键多次粘贴文本 - ``` -6. 如何删除从 3 行到 15 行的所有数据 - - ``` - 答:在vim编辑器中删除一行是“dd”; - 1、按Esc键进入正常模式。 - 2、输入:3,15d,然后按Enter键以删除行 - ``` - -7.vim练习: - -光标移动练习,命令模式下: - -单位级 h j k l -单词级 w e b -块级 gg G 0 ^ $ H M L ngg nj nk -把下列句子按照第一句的正确顺序修改好并把多余的空行删除 - -g/^$/d -this is a simple easy vim tutorial - -tutorial simple a easy this vim is -is this tutorial vim simple a easy - - -tutorial vim this is a easy simple -tutorial easy vim simple a this is -simple a vim easy tutorial is this - -tutorial is easy vim a simple this - - -vim simple this tutorial a easy is -a vim tutorial simple easy is this - - -easy a simple vim is tutorial this -vim tutorial is a easy simple this -a this vim tutorial is easy simple -this tutorial simple easy a is vim - - -easy tutorial this simple a is vim -a tutorial easy is this simple vim - -a tutorial vim is easy this simple -simple this easy is vim tutorial a - -this tutorial is a easy simple vim -vim is tutorial simple this easy a - -vim is simple this tutorial easy a -easy a simple is vim this tutorial -vim is tutorial simple a easy this -this vim is tutorial simple easy a -先敲出以下代码,然后修正以下代码中的错误单词、重复单词、错误格式、多余行,修改函数名为 typing 并为定时器添加 300 毫秒延迟 - -const bbb = () => { -// this is is a description -// -// another descriptttion -const timer = setTimeout(( ) => { - console.log(that) alert('cool!') - // awosome man ! -}) -} -尝试在下面的文本中进行复制粘贴练习 - -删除这一行 -dd -粘贴到这一行下面 -p -剪切 ABC 并把它粘贴到 XYZ 前面,使这部分内容看起来像 -剪切 并把它粘贴到 ABC XYZ 前面。 -daw -p -尝试修改下列文本的大小写 - -Change this line to UPPERCASE, THEN TO lowercase. -转换词为大写:将光标移动到要修改的单词上,按下 gU 键将单词变为大写。 -转换词为小写:将光标移动到要修改的单词上,按下 gu 键将单词变为小写。 -按下面的说明进行操作 - -按 dd 删除本行 -按 . 重复删除操作 -2. 再删除两行 -这行也没了 -p 把刚才删掉的粘回来 -3. 又多出 6 行 -左缩进、右缩进练习 - -在这一行上依次按 3>>,<< 和 Date: Thu, 6 Jun 2024 11:33:43 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...76\345\240\202\350\212\235\345\243\253.md" | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 "\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" diff --git "a/\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" "b/\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" new file mode 100644 index 0000000..cbec66a --- /dev/null +++ "b/\346\235\250\346\236\227\350\214\202/20240605-\350\257\276\345\240\202\350\212\235\345\243\253.md" @@ -0,0 +1,141 @@ +## 6-5讲课内容 + +#### 一、vim编辑器常用命令 + +``` +Vim编辑器常用命令包括: +移动光标:j(向下)、k(向上)、h(向左)、l(向右) +复制:yy(复制一行)、yw(复制光标开始的一个单词) +剪切:x(向后剪切一个字符)、4x(剪切4个字符) +删除:dd(删除一行)、dw(删除一个单词) +粘贴:p(粘贴复制或剪切的内容) + +``` + + + +#### 二、作业 + +``` + +1. vi 编辑器有几种模式? + ``` + 答:分别是命令模式、插入模式和底行模式。 + ``` +2. 如何进入 vi 编辑器的插入模式 + ``` + 答:①按下"i"键,立即切换到插入模式,可以在光标前插入字符; + ②按下"a"键,将光标移到当前字符之后并进行插入模式。 + ③在命令模式下输入“o”或“O”键,可以在当前行的下方或上方插入新行并进入插入模式。 + ④在命令模式下输入“I”或“A”键,可以在当前行的行首或行尾插入字符并进入插入模式。 + ⑤在命令模式下输入"r" "R"键,可以替换当前字符并进行插入模式。 + ``` +3. 如何进入 vi 编辑器的可视化模式 + ``` + 答:在vim命令模式下,输入v或V或Ctrl+v。 + 字符选择模式:选中光标经过的所有字符,普通模式下按小写v进入 + 行选择模式:选中光标经过的所有行,普通模式下按大写V进入 + 块选择模式:选中光标经过的所有块,普通模式下按Ctrl+V进入 + ``` +4. 在 vi 编辑器中如何复制一行 + ``` + 答:在光标位置按“yy”,复制当前行;然后再光标的行按“p”,粘贴到下一行,原来的往下顺移。 + ``` +5. 在 vi 编辑器中如何进行粘贴 + ``` + 在vim中复制或剪切文本后,只需按“p”。可以按p键多次粘贴文本 + ``` +6. 如何删除从 3 行到 15 行的所有数据 + + ``` + 答:在vim编辑器中删除一行是“dd”; + 1、按Esc键进入正常模式。 + 2、输入:3,15d,然后按Enter键以删除行 + ``` + +7.vim练习: + +光标移动练习,命令模式下: + +单位级 h j k l +单词级 w e b +块级 gg G 0 ^ $ H M L ngg nj nk +把下列句子按照第一句的正确顺序修改好并把多余的空行删除 + +g/^$/d +this is a simple easy vim tutorial + +tutorial simple a easy this vim is +is this tutorial vim simple a easy + + +tutorial vim this is a easy simple +tutorial easy vim simple a this is +simple a vim easy tutorial is this + +tutorial is easy vim a simple this + + +vim simple this tutorial a easy is +a vim tutorial simple easy is this + + +easy a simple vim is tutorial this +vim tutorial is a easy simple this +a this vim tutorial is easy simple +this tutorial simple easy a is vim + + +easy tutorial this simple a is vim +a tutorial easy is this simple vim + +a tutorial vim is easy this simple +simple this easy is vim tutorial a + +this tutorial is a easy simple vim +vim is tutorial simple this easy a + +vim is simple this tutorial easy a +easy a simple is vim this tutorial +vim is tutorial simple a easy this +this vim is tutorial simple easy a +先敲出以下代码,然后修正以下代码中的错误单词、重复单词、错误格式、多余行,修改函数名为 typing 并为定时器添加 300 毫秒延迟 + +const bbb = () => { +// this is is a description +// +// another descriptttion +const timer = setTimeout(( ) => { + console.log(that) alert('cool!') + // awosome man ! +}) +} +尝试在下面的文本中进行复制粘贴练习 + +删除这一行 +dd +粘贴到这一行下面 +p +剪切 ABC 并把它粘贴到 XYZ 前面,使这部分内容看起来像 +剪切 并把它粘贴到 ABC XYZ 前面。 +daw +p +尝试修改下列文本的大小写 + +Change this line to UPPERCASE, THEN TO lowercase. +转换词为大写:将光标移动到要修改的单词上,按下 gU 键将单词变为大写。 +转换词为小写:将光标移动到要修改的单词上,按下 gu 键将单词变为小写。 +按下面的说明进行操作 + +按 dd 删除本行 +按 . 重复删除操作 +2. 再删除两行 +这行也没了 +p 把刚才删掉的粘回来 +3. 又多出 6 行 +左缩进、右缩进练习 + +在这一行上依次按 3>>,<< 和 Date: Fri, 14 Jun 2024 21:23:31 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...76\345\240\202\350\212\235\345\243\253.md" | 32 ++++++++++++++ ...66\345\221\275\344\273\244\347\254\246.md" | 44 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 "\346\235\250\346\236\227\350\214\202/20240612-\350\257\276\345\240\202\350\212\235\345\243\253.md" create mode 100644 "\346\235\250\346\236\227\350\214\202/20240613-\347\256\241\345\210\266\345\221\275\344\273\244\347\254\246.md" diff --git "a/\346\235\250\346\236\227\350\214\202/20240612-\350\257\276\345\240\202\350\212\235\345\243\253.md" "b/\346\235\250\346\236\227\350\214\202/20240612-\350\257\276\345\240\202\350\212\235\345\243\253.md" new file mode 100644 index 0000000..8cfe74f --- /dev/null +++ "b/\346\235\250\346\236\227\350\214\202/20240612-\350\257\276\345\240\202\350\212\235\345\243\253.md" @@ -0,0 +1,32 @@ +### 6-12讲课内容 + +#### Linux常见命令 + +``` +1.time:测量命令的执行时间 如:time ls; +2.date:显示或设置系统日期和时间; +3.timedatectl:查看和设置系统时间和日期,时区和NTP(网络时间协议)设置 如:timedatectl status; +4.reboot:重新启动系统 如:sudo reboot; +5.poweroff:关闭系统电源 如:sudo poweroff; +6.wget:从网络上下载文件 如:wget https://example.com/file.txt; +7.curl:从网络上获取或发送数据 如:curl -o https://example.com/file.txt; +8.ps:查看当前运行的进程 如:ps aux; +9.kill:终止进程 如 :kill 进程号;pidof进程名; +10.killall:向制定名称的所有进程发送信号 如:killall firefox; +11.ip:显示和操作网络接口和路由 +12.ss:显示套接字统计信息 如:ss -tuln # 查看哪些端口开发着; +13:uname:显示系统信息 如:uname -a; +14:uptime:显示系统运行时间和负载 ; +15:who:显示当前登录用户信息; +16:last:显示系统上最近的登录信息 +17:ping:测试网络连通性; +18:tracerroute:显示到达主机的路径; +19:history:显示命令历史记录; +20:free 和 df -h 是两个用于查看系统资源利用情况的常用命令; +21:du -h :查看当前目录的磁盘使用情况; + + + + +``` + diff --git "a/\346\235\250\346\236\227\350\214\202/20240613-\347\256\241\345\210\266\345\221\275\344\273\244\347\254\246.md" "b/\346\235\250\346\236\227\350\214\202/20240613-\347\256\241\345\210\266\345\221\275\344\273\244\347\254\246.md" new file mode 100644 index 0000000..baa0490 --- /dev/null +++ "b/\346\235\250\346\236\227\350\214\202/20240613-\347\256\241\345\210\266\345\221\275\344\273\244\347\254\246.md" @@ -0,0 +1,44 @@ +### 6-13讲课内容 + +#### 一、重定向和管道 + +##### 1.在Unix和Linux系统中,文件描述符用于表示打开的文件或者输入/输出符。 + +``` +常见文件描述符包括: +0 :标准输入:键盘输入 +1 :标准输出:直接显示在屏幕,不包含错误信息 +2 :标准错误:只包含错误信息 + 追加输出重定向 `>>` +使用形式:定向符前直接用数字,如1>1.txt ,2>2.txt; + 定向符后紧跟定向符并加&号 如 >&1; +``` + +##### 2.输入重定向 '<' + +- 将文件的内容作为命令的输入:例如:sort < unsorted_list.txt + + + +##### 3.错误输出追加重定向 ’2>>‘ + +- ls non_existent_file 2>> error_log.txt + +##### 4.同时重定向标准输出和标准错误输出‘&>’ + +- 使用 `&>` 符号将标准输出和错误输出同时重定向到同一个文件。 + +- ls hhh &> output_and_error_log.txt # 正确和错误原版混搭,原封不动 + + + +##### 5.管道符号 '|' 将一个命令的输出作为另一个命令的输入 + +- ls /home | grep "bb" | grep "3" + +##### 6.将错误输出丢弃 :命令 2> /dev/null + +##### 7.tee命令:从标准输入中读取数据,并同时将数据输出到标准输出和一个或多个文件中。 + +- echo "Hello, world" | tee output.txt:同时写入多个文件 +- echo "New data" | tee -a file1.txt:追加写入文件 \ No newline at end of file -- Gitee From 6566564771f633410965e85c39699921a12abfce Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 16 Jun 2024 20:53:55 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...03\351\231\220\347\256\241\347\220\206.md" | 191 ++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 "\346\235\250\346\236\227\350\214\202/2024-6-15\347\224\250\346\210\267\346\235\203\351\231\220\347\256\241\347\220\206.md" diff --git "a/\346\235\250\346\236\227\350\214\202/2024-6-15\347\224\250\346\210\267\346\235\203\351\231\220\347\256\241\347\220\206.md" "b/\346\235\250\346\236\227\350\214\202/2024-6-15\347\224\250\346\210\267\346\235\203\351\231\220\347\256\241\347\220\206.md" new file mode 100644 index 0000000..c479d32 --- /dev/null +++ "b/\346\235\250\346\236\227\350\214\202/2024-6-15\347\224\250\346\210\267\346\235\203\351\231\220\347\256\241\347\220\206.md" @@ -0,0 +1,191 @@ +## 6-15讲课内容 + +### 一、用户与文件权限的管理 + +``` +1.用户管理 + 1.分类 + -超级用户 root,最高权限,不受一般权限限制,编号是0,提示符是#; + -内置用户:由系统自动创建,编号1-999; + -普通用户:我们用root权限手动创建用户,受权限控制,编号从1000依次递增; + -创建普通用户test会自动创建他的编号u,他原生组g(和用户名同名test),附加组G(test), + 初始化一定是u 1000(test),1000(test),1000(test); + -普通用户不能创建用户,只有root; + -提示符是$; + - u user 用户 uid; + -group 组 gid; +2.用户 + 1.添加 + - useradd -m /home/xxx -s /bin/bash yyy; + -adduser; + 2.删除 + -userdel xxx + -userdel -r xxx 删除用户和相关目录; + 3.修改 + -usermod -G 组号|组名 xxx; 如:usermod -G student 目录 覆盖原来的附加组(扩展组); + - usermod -aG 组号|组名 XXX : usermod -aG stu u15 保留原有附加组前提下,追加新的附加组 + -usermod -s /bin/aaa(目录) 目录; + 4.密码 + -passwd 用户名 root修改指定用户的密码; + -passwd 修改当前登录用户的密码,就是自己的密码; + 5.查询 + -id 用户名 指定用户 + -/etc/passwd + 6.切换 + - su 仅仅切换了身份,不切换目录和shell等环境变量; + - su - 完全切换,连环境变量和目录一起切换; +1.用户组 + 1.添加 + -groupadd student 添加一个组,编号自动的; + -groupadd -g 999 student1 添加一个组,编号自动的; + 2.删除 + -groupdel 组号|名 + 3.修改 + -groupmod + 4.查询 + /etc/group +2.文件管理 + -文件属性:10个字符,连接数或子目录数,文件拥有者,文件所属的用户组,文件大小,修改时间,文件|目录名 + -10个字符: + -第一位 文件类型 + - d 目录 + - - 普通文件 + - l 连接文件 + - b c s p 等其他文件; + -后九位分别代表了:三种角色的权限,每3位一组 + - 2-4 拥有者权限 + - 5-7 用户组的权限 + -8-10 其他人的权限 + -基本权限 + - r 读,打开并显示文件内容,查看目录基本信息; + - w 写,文件可以写入,修改,删除内容,目录:创建,修改,删除; + - x 执行,文件如果是二进制或脚本文件就可以执行,目录表示可以进入; + -特殊权限 + - SUID + - GUID + -隐藏权限 + - lsatte 列出隐藏权限; + - chattr 修改隐藏权限 + - +i 增加,不得任意更改文件或目录的效果; + - -i 消除 + -权限表示 + -字符 + -数字 + - r==4 + - w==2 + - x==1 + -身份表示 + - u 拥有者(user) + - g 用户组(group) + - o 其他人(other) + - a 所有人(all) + -修改权限:root可以改任何文件,而拥有者可以改自己拥有的文件 + - chmod 要的权限 文件|目录 + - chmod u+w,g-r,o=rw 1.txt + - chmod 777 1.txt + -修改拥有者 + - chown 用户名 文件名 + -修改文件所属的用户组 + - chgrp 组名|组号 + - sudo + - 修改/etc/sudoers 文件 + - 将用户追加到sudo组:sudo usermod -aG sudo 目录 +3.Linux执行命令的过程 + 1.如果这个命令是绝对路径,就直接执行 + 2.如果不是,查一下是不是别名,是就执行对应的命令 + -从环境变量中查找这个命令$PATH中的路径依次查找这个命令 + -本地也没有的话就报错了 +``` + +### 二、作业 + +``` +什么是linux 硬连接和软连接(快捷方式)? +答:1.软连接,其实就是新建立的一个文件,这个文件就是专门用来指向别的文件(和Windowsi下的快捷方式的那个文件接近)。软连接产生的是一个新文件,删了这个软连接文件,那就等于不需要这个连接,和原来存在的实体原文件没有任何关系,但删了原来的文件,则相应的软连接不可用。 + 2.硬连接,实际上是为文件建一个别名,连接文件和原文件实际上是同一个文件。硬连接是不会建立inode的,他只是在文件原来的indoe link count域再增加1而已,因此硬连接是不可以跨越文件系统的。 +``` + +**### 权限管理练习** + +``` +1. 创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) +mkdir -p guanli/{zonghe,jishu} + +2. 添加组帐号zonghe、caiwu、jishu,GID号分别设置为2001、2002、2003; +sudo groupadd -g 2001 zonghe +sudo groupadd -g 2002 caiwu +sudo groupadd -g 2002 jishu + +3. 创建jerry、kylin、tsengia、obama用户,其中的kylin用户帐号在2020年12月30日后失效 +sudo useradd jerry obama + sudo chage -E 2020-12-30 kylin + +4. 将jerry、kylin、tsengia、obama等用户添加到zonghe组内 +ping@hecs-395650:~$ sudo usermod -aG zonghe jerry +ping@hecs-395650:~$ sudo usermod -aG zonghe kylin +ping@hecs-395650:~$ sudo usermod -aG zonghe tsengia +ping@hecs-395650:~$ sudo usermod -aG zonghe obama + +5. 创建handy、cucci用户,其中cucci帐号的登录Shell设置为“/sbin/nologin”; +sudo useradd handy +sudo useradd cucci -s /sbin/nologin + +6. 将handy、cucci等用户添加到jishu组内; +sudo usermod -aG jishu handy +sudo usermod -aG jishu cucci + +7. 将上述的所有用户均要求加入到guanli组内; +sudo groupadd guanli +sudo usermod -aG guanli handy +sudo usermod -aG guanli cucci + +8. 将zonghe组内的obama用户删除; +sudo gpasswd -d obama zonghe + +9. 为jerry用户设置密码为“123456”(使用普通方法)为cucci用户设置密码为“redhat”; +sudo passwd jerry +sudo passwd cucci + +10. 将jerry用户锁定,并查看锁定状态; +usermod -L jerry #锁定 +usermod -U jerry #解锁 + +11. 打开两个xshell窗口,通过(who 或者 w)命令查看连接状态,并通过fuser杀掉其中一个; +fuser -v /dev/pts/0 +kill -9 进程号 + +12. 查看cucci用户,属于那些组,并查看其详细信息; +groups cucci && id cucci +cat etc/passwd |grep 'cucc' + +13. 手工创建账号student(预留); +useradd student + +14. 设置权限及归属:/guanli目录属组设为guanli, /guanli/zonghe目录的属组设为zonghe /guanli/jishu目录的属组设为jishu,设置3个目录都是禁止其他用户访问的权限; +### 归组 +sudo chown :组名 源文件 +### 权限 +sudo chown 770 源文件 #设置3个目录都是禁止其他用户访问 + +15. 建立公共目录/ceshi允许技术组内的所有用户读取、写入、执行文件, 禁止其他用户读、写、执行; +sudo chown :jishu ceshi/ +sudo chown 770 ceshi/ + +16. 清除jerry用户密码; +sudo passwd -d jerry #清除密码 +sudo getent shadow jerry #查看是否清除密码 + +17. 锁定cucci用户密码并查看状态; +sudo passwd -l cucci +sudo passwd -S cucci + +18. 修改obama用户的UID为8888; +sudo usermod -u 8888 obama + +19. 通过passwd命令修改kylin用户的最长密码使用期限为60天 +sudo passwd --maxdays 60 kylin + +20. 通过id groups等命令查看用户handy信息 +id handy +groups handy +``` -- Gitee