From 8bef380e1cf4b1dafa0c8a47c827d69a5fa85727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=96=E5=BF=83=E5=A6=8D?= <2392642810@qq.com> Date: Fri, 24 May 2024 22:35:37 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...07\344\273\266\347\256\241\347\220\206.md" | 103 +++++++++++++++--- 1 file changed, 89 insertions(+), 14 deletions(-) diff --git "a/\350\265\226\345\277\203\345\246\215/20240520 \346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" "b/\350\265\226\345\277\203\345\246\215/20240520 \346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" index 54e408a..e0cb277 100644 --- "a/\350\265\226\345\277\203\345\246\215/20240520 \346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" +++ "b/\350\265\226\345\277\203\345\246\215/20240520 \346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" @@ -1,46 +1,122 @@ + + +新建完一个用户时只会出现$,并且输入不了其他东西,可以使用这个代码 + +```bash +(sudo) chsh -s /bin/bash 用户名 +``` + +创建用户 + +```js +// 交互式,方便可以一次性设置好 +adduser 用户名 + +// 全部都要自己设置 +useradd 用户名 +``` + +切换root账号 + +```js +// 权限最高 +su - + +su root + +su +``` + +删除用户 + +```js +// 手动删除 +userdel + +// 安全的都删除 +deluser +``` + +退出 + +```js +exit + +logout +``` + +```js +// 进入主目录 +cd ~ + +// 创建目录 +mkdir -p 路径 +// -p 当相关目录不存在时,就创建,存在则跳过 + +// 创建文件 +touch 文件名(.扩展名) + +// 清屏快捷键 +Ctrl+L + +// 按i 进入编辑模式 +// 按esc 退回普通模式 +// 按shift+: 进入命令模式 +// wq! 保存并强制退出 +// w 写入(write) +// q 退出(quit) +// ! 强制 +``` + + + +## 作业 + 1. ### 综合练习题:大学生生活场景中的文件夹和文件管理 假设你是一名大学生,现在面临着整理学习资料和课程作业的任务。请按照以下要求完成相关的文件夹和文件管理操作: 1. 在你的个人文档目录下创建一个名为`学习资料`的文件夹,并进入该文件夹。 - ``` + ```js mkdir 学习资料 ; cd 学习资料 + + // ; 表示并且 ``` 2. 在`学习资料`文件夹中创建一个名为`计算机科学`的文件夹。 - ``` + ```bash cd 学习资料 && mkdir 计算机科学 ``` 3. 在`计算机科学`文件夹中创建两个子文件夹,分别命名为`课程资料`和`编程项目`。 - ``` + ```bash cd 计算机科学 && mkdir {课程资料,编程项目} ``` 4. 将你最近的一门计算机科学课程的课件文件(假设文件名为`CS101_第一讲.pdf`)放入`课程资料`文件夹。 - ``` - scp 本机需要上传的文件路径 liunx用户名ip:/需要放置的文件路径 + ```bash + scp 本机需要上传的文件路径 liunx用户名@ip:/需要放置的文件路径 ``` 5. 在`编程项目`文件夹中创建一个名为`Java项目`的文件夹。 - ``` + ```bash cd 编程项目 && mkdir Java ``` 6. 在`Java项目`文件夹中创建两个空文件,分别命名为`主程序.java`和`工具类.java`。 - ``` - touch file {主程序,工具类}.java + ```bash + touch {主程序,工具类}.java ``` 7. 复制`主程序.java`并命名为`备份_主程序.java`。 - ``` + ```bash cp 复制的文件 粘贴的文件名 ``` @@ -65,20 +141,19 @@ 10. 删除`编程项目`文件夹及其包含的所有内容。 - ``` + ```bash rm -rf 目录名 ``` 11. 重命名`Python项目`为`数据分析项目`。 - ``` + ```bash mv 旧名字 新名字 ``` 12. 最后,列出当前所在目录的路径。 - ``` + ```bash pwd ``` - - \ No newline at end of file + \ No newline at end of file -- Gitee From 460220a53fa97dfe8011ec58e65298be1cd05acb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=96=E5=BF=83=E5=A6=8D?= <2392642810@qq.com> Date: Fri, 24 May 2024 22:37:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...07\344\273\266\347\256\241\347\220\206.md" | 275 ++++++++++++++++++ 1 file changed, 275 insertions(+) create mode 100644 "\350\265\226\345\277\203\345\246\215/20240523 \346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" diff --git "a/\350\265\226\345\277\203\345\246\215/20240523 \346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" "b/\350\265\226\345\277\203\345\246\215/20240523 \346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" new file mode 100644 index 0000000..96f62e0 --- /dev/null +++ "b/\350\265\226\345\277\203\345\246\215/20240523 \346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" @@ -0,0 +1,275 @@ +相关和目录可自行创建后再操作 + +### 练习题 1:复制文件 + +假设你有两个目录:`/home/user/docs` 和 `/home/user/backup`。 + +1. 将`/home/user/docs`目录下的`file1.txt`复制到`/home/user/backup`目录下。 + + ```bash + cp file1.txt /home/user/backup/ + ``` + +2. 复制`/home/user/docs`目录下的所有`.txt`文件到`/home/user/backup`目录下。 + + ```js + cp *.txt /home/user/backup/ + + // * 表示所有文件 + // .txt 表示后缀是txt的文件 + ``` + +### 练习题 2:复制文件夹及其内容 + +1. 假设`/home/user/photos`是一个包含多个图片文件夹的目录,请复制整个`/home/user/photos`目录及其所有内容到`/home/user/archive`目录下。 + + ```js + cp -r /home/user/photos /home/user/archive/ + + // -r 表示递归复制 + ``` + +### 练习题 3:移动文件 + +1. 将`/home/user/docs`目录下的`file2.docx`移动到`/home/user/papers`目录下。 + + ```bash + mv /home/user/docs/file2.docx /home/user/papers/ + ``` + +2. 如果`/home/user/papers`目录下已经有一个名为`file2.docx`的文件,请确保移动操作会询问你是否要覆盖它。 + + ```js + mv -i /home/user/docs/file2.docx /home/user/papers/ + + // -i 交互式 + ``` + +### 练习题 4:重命名文件 + +1. 将`/home/user/docs`目录下的`oldname.pdf`重命名为`newname.pdf`。 + + ```bash + mv /home/user/docs/oldname.pdf /home/user/docs/newname.pdf + ``` + +### 练习题 5:结合使用 + +1. 复制`/home/user/docs`目录下的`report.md`到`/home/user/temp`,然后将复制过去的文件重命名为`temp_report.md`。 + + ```bash + cp /home/user/docs/report.md /home/user/temp/temp_report.md + ``` + +2. 将`/home/user/docs`目录下所有以`.doc`结尾的文件移动到`/home/user/processed`,并且如果这些文件在目标目录中已经存在,则不覆盖它们。 + + ```js + mv -n /home/user/docs/*.doc /home/user/processed + + // -n 不覆盖已存在文件 + ``` + +### 练习题 6:使用通配符 + +1. 复制`/home/user/docs`目录下所有以`.jpg`或`.png`结尾的图片文件到`/home/user/images`目录。 + + ```js + cp /home/user/docs/*.jpg /home/user/images/ | cp /home/user/docs/*.png /home/user/images/ + + // | 表示不覆盖已存在文件 + ``` + +### 练习题 7:详细输出 + +1. 使用`cp`命令复制文件时,显示详细的复制信息。 + + ```js + cp -v newname.pdf oldname.pdf + + // -v 表示显示详细信息 + ``` + +2. 使用`mv`命令移动文件时,显示详细的移动信息。 + + ```js + mv -v report.md /home/user/papers/ + + // -v 表示显示详细信息 + ``` + +### 练习题 8:更新文件 + +1. 如果`/home/user/backup`目录中已经有一个与`/home/user/docs`目录下的`file1.txt`同名的文件,并且`/home/user/docs/file1.txt`的内容是更新的,请使用`cp`命令将更新的文件复制到备份目录,并覆盖旧文件(假设你知道旧文件可以被安全地覆盖)。 + + ```js + cp -u /home/user/docs/file1.txt /home/user/backup + + // -u 表示当源文件更新时间比目标文件新时会覆盖目标文件 + ``` + + +相关和目录可自行创建后再操作 + +1. 在家目录下建立文件exam.c,将文件exam.c拷贝到/tmp这个目录下,并改名为 shiyan.c + + ```bash + cp exam.c ./tmp/shiyan.c + ``` + +2. 在任何目录下回到用户主目录? + + ```js + cd ~ + cd + cd /home + + // ~ 表示主目录 + ``` + +3. 用长格式列出/tmp/test目录下所有的文件包括隐藏文件? + + ```js + ls test -al + + // -a 表示显示所有文件包括隐藏文件 + // -l 表示以长格式列表显示文件 + ``` + +4. /tmp/test2目录下,创建5个文件分别是 1.txt 2.txt 3.txt 4.txt 5.txt,压缩这5个文件,压缩包的名字是hailiang.tar + + ```js + touch {1,2,3,4,5}.txt + tar -cvf hailiang.tar {1,2,3,4,5}.txt + + // -c 压缩 + // -v + // -f + ``` + +5. 当前目录,建立文件 file1.txt 并更名为 file2.txt? + + ```bash + mv file1.txt file2.txt + ``` + +6. 当前目录,用vim建立文件bbbb.txt 并将用户名的加入其中保存退出? + + ```js + vim bbbb.txt + + // + // + // + // + // + ``` + +7. 将家目录中扩展名为txt、doc和bak的文件全部复制到/tmp/test目录中 + + ```bash + mv *.txt *.doc *.bak /home/user/yina/tmp/test + ``` + +8. 将文件file1.txt从当前目录移动到家目录的/docs中。 + + ```bash + mv /home/user/yina/file1.txt /home/user/yina/tmp/docs/ + ``` + +9. 复制文件file2.txt从当前目录到家目录/backup中。 + + ```bash + mv /home/user/yina/tmp/test/file2.txt /home/user/yina/bachup/ + ``` + +10. 将家目录/docs中的所有文件和子目录移动到家目录/archive中。 + + ```bash + mv ./tmp/docs/* ./archive/ + ``` + +11. 复制家目录/photos及其所有内容到家目录/backup中。 + + ```bash + cp ./photos/* ./bachup/ + ``` + +12. 将文件家目录/docs/report.doc移动到家目录/papers中,并将其重命名为final_report.doc。 + + ```bash + mv /home/user/yina/tmp/docs/report.doc /home/user/yina/papers/final_report.doc + ``` + +13. 在家目录/docs中创建一个名为notes.txt的空文件,并将其复制到目录家目录/backup中。 + + ```bash + cp /home/user/yina/tmp/docs/notes.txt /home/user/yina/bachup/ + ``` + +14. 复制家目录/images中所有以.jpg结尾的文件到家目录/photos中。 + + ```bash + cp *.jpg /home/user/yina/photos/ + ``` + +15. 将文件家目录/docs/file1.txt和家目录/docs/file2.txt复制到家目录/backup中。 + + ```js + cp archive/file1.txt bachup/ + cp -n bachup/file2.txt bachup/ + + // + ``` + +16. 将家目录/docs中的所有.txt文件复制到家目录/text_files中。 + + ```bash + cp ./tmp/docs/*.txt text_files/ + ``` + +17. 将家目录/docs中的所有文件移动到家目录/temp中,并且如果文件已存在,则覆盖它们。 + + ```js + mv -n notes.txt /home/user/yina/text_files/ + + // + ``` + +18. 将家目录/docs中的所有文件移动到家目录/archive中,并且在移动时显示详细的移动信息。 + + ```js + mv -v ./docs/* ./archive/ + + // + ``` + +19. 复制家目录/docs中的所有子目录及其内容到家目录/backup中。 + + ```js + cp -r ./docs/ ./bachup/ + + // + ``` + +20. 将家目录/docs中的所有文件和子目录移动到家目录/backup中,但排除文件名以"temp_"开头的文件。 + + ``` + + ``` + +21. 将目录/docs/report.txt移动到家目录/archive中,但如果目标目录中已存在同名文件,则不直接覆盖,先备份同名文件为report.txt_bak。 + + ```js + mv -b ./docs/report.txt ./archive + + // + ``` + +22. 将家目录/docs中所有以.pdf结尾的文件复制到家目录/pdf_files中,并且如果目标目录中已存在同名文件,则忽略它们。 + + ```js + mv -n ./docs/*.pdf ./pdf_files + ``` + + + -- Gitee