diff --git "a/14 \346\233\271\346\255\243\346\263\242/20240523\346\226\207\344\273\266\347\256\241\347\220\206\344\275\234\344\270\232.md" "b/14 \346\233\271\346\255\243\346\263\242/20240523\346\226\207\344\273\266\347\256\241\347\220\206\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..3a0a5bffbc859330b20be7250a5badda955fe3e1 --- /dev/null +++ "b/14 \346\233\271\346\255\243\346\263\242/20240523\346\226\207\344\273\266\347\256\241\347\220\206\344\275\234\344\270\232.md" @@ -0,0 +1,137 @@ +相关和目录可自行创建后再操作 + +1. 在家目录下建立文件exam.c,将文件exam.c拷贝到/tmp这个目录下,并改名为 shiyan.c + + 1. ``` + cd ~ + mkdir tmp + touch exam.c + mv exam.c shiyan.c/tmp + +2. 在任何目录下回到用户主目录? + + 1. ``` + cd /home/baiyun + +3. 用长格式列出/tmp/test目录下所有的文件包括隐藏文件? + + 1. ``` + cd tmp + mkdir test + ls -al + +4. /tmp/test2目录下,创建5个文件分别是 1.txt 2.txt 3.txt 4.txt 5.txt,压缩这5个文件,压缩包的名字是hailiang.tar + + 1. ``` + cd tmp + mkdir test2 + touch {1..5}.txt + tar hailiang.tar /tmp/test2/* + +5. 当前目录,建立文件 file1.txt 并更名为 file2.txt? + + 1. ``` + touch file1.txt && mv file1.txt file2.txt + +6. 当前目录,用vim建立文件bbbb.txt 并将用户名的加入其中保存退出? + + 1. ``` + vim bbbb.txt && echo baiyun > bbbb.txt + +7. 将家目录中扩展名为txt、doc和bak的文件全部复制到/tmp/test目录中? + + 1. ``` + cd ~ + mv *.txt *.doc *.bak/tmp/test + +8. 将文件file1.txt从当前目录移动到家目录的/docs中。 + + 1. ``` + cd ~ + mkdir docs + mv ../../file1.txt /docs + +9. 复制文件file2.txt从当前目录到家目录/backup中。 + + 1. ``` + cd ~ + mkdir backup + mv ../../file2.txt /backup + +10. 将家目录/docs中的所有文件和子目录移动到家目录/archive中。 + + 1. ``` + mkdir archive + mv /docs/* /archive + +11. 复制家目录/photos及其所有内容到家目录/backup中。 + + 1. ``` + mkdir photos + mv /photos/* /backup + +12. 将文件家目录/docs/report.doc移动到家目录/papers中,并将其重命名为final_report.doc。 + + 1. ``` + mkdir papers + cd /docs + touch report.doc + mv report.doc final_report.doc/papers + +13. 在家目录/docs中创建一个名为notes.txt的空文件,并将其复制到目录家目录/backup中。 + + 1. ``` + cd docs + touch notes.txt + cp notes.txt /backup + +14. 复制家目录/中所有以.jpg结尾的文件到家目录/photos中。 + + 1. ``` + mkdir images + cd images + mv *.jpg photos + +15. 将文件家目录/docs/file1.txt和家目录/docs/file2.txt复制到家目录/backup中。 + + 1. ``` + cd /docs + cp file1.txt file2.txt /backup + +16. 将家目录/docs中的所有.txt文件复制到家目录/text_files中。 + + 1. ``` + mkdir text_files + cd docs + cp *.txt /text_files + +17. 将家目录/docs中的所有文件移动到家目录/temp中,并且如果文件已存在,则覆盖它们。 + + 1. ``` + mv /docs/* /temp + +18. 将家目录/docs中的所有文件移动到家目录/archive中,并且在移动时显示详细的移动信息。 + + 1. ``` + mv -g /docs/* archive + +19. 复制家目录/docs中的所有子目录及其内容到家目录/backup中。 + + 1. ``` + mv docs/* /backup + +20. 将家目录/docs中的所有文件和子目录移动到家目录/backup中,但排除文件名以"temp_"开头的文件。 + + 1. ``` + cd /docs + mv !(temp_*) /backup + +21. 将目录/docs/report.txt移动到家目录/archive中,但如果目标目录中已存在同名文件,则不直接覆盖,先备份同名文件为report.txt_bak。 + + 1. ``` + mv -b report.txt archive/report.txt_bak + +22. 将家目录/docs中所有以.pdf结尾的文件复制到家目录/pdf_files中,并且如果目标目录中已存在同名文件,则忽略它们。 + + 1. ``` + cp -f *.pdf pdf_files \ No newline at end of file diff --git "a/14 \346\233\271\346\255\243\346\263\242/20240523\346\226\207\344\273\266\347\256\241\347\220\206\347\273\203\344\271\240.md" "b/14 \346\233\271\346\255\243\346\263\242/20240523\346\226\207\344\273\266\347\256\241\347\220\206\347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..20e3d6e4d38cc24353da1dae885e8773bfdd2c1b --- /dev/null +++ "b/14 \346\233\271\346\255\243\346\263\242/20240523\346\226\207\344\273\266\347\256\241\347\220\206\347\273\203\344\271\240.md" @@ -0,0 +1,128 @@ +# 笔记 + +```bash +mkdir AAA 创建AAA这个文件夹 +mv A B 将A改名为B +mv A 目录地址 将A移动到目录地址 -n 如果文件已存在则不覆盖 +mv 跟着三个及以上参数时,最后一个参数默认是目录地址 +ls -a 查看所有文件包括隐藏文件 -l 以长格式列出目录及极限 -h读写方式 +ls --help 查看用法 +rm -r 递归删除 -f 强制删除 +touch 创建文件 + +scp 源文件 目标地址 上传 在get窗口输入 +scp 目标地址 源文件 下载 在get窗口输入 + +cp 文件 目录地址 将文件复制到目录 +cp 文件/文件2 将文件复制并重命名 +cp -b A 目录地址如果目录里已存在A原来的A则会备份为A~ +cp -v 显示详细的复制过程 +``` + +# 练习 + +相关和目录可自行创建后再操作 + +### 练习题 1:复制文件 + +假设你有两个目录:`/home/user/docs` 和 `/home/user/backup`。 + +1. 将`/home/user/docs`目录下的`file1.txt`复制到`/home/user/backup`目录下。 + + 1. ```bash + mkdir docs backup + cd /docs + cp file1.txt ../backup + +2. 复制`/home/user/docs`目录下的所有`.txt`文件到`/home/user/backup`目录下。 + + 1. ```bash + cd docs + cp *.txt ../backup + cp .*.txt ../backup + + +### 练习题 2:复制文件夹及其内容 + +1. 假设`/home/user/photos`是一个包含多个图片文件夹的目录,请复制整个`/home/user/photos`目录及其所有内容到`/home/user/archive`目录下。 + + 1. ```bash + mkdir archive + cd ~ + cp /photos ./archive + + +### 练习题 3:移动文件 + +1. 将`/home/user/docs`目录下的`file2.docx`移动到`/home/user/papers`目录下。 + + 1. ```bash + mkdir papers + cd docs + touch file2.docx + mv file2.docx ../papers + +2. 如果`/home/user/papers`目录下已经有一个名为`file2.docx`的文件,请确保移动操作会询问你是否要覆盖它。 + + 1. ```bash + mv -i file2.docx ../papers + + +### 练习题 4:重命名文件 + +1. 将`/home/user/docs`目录下的`oldname.pdf`重命名为`newname.pdf`。 + + 1. ```bash + cd docs + touch oldname.pdf + mv oldname.pdf newname.pdf + + +### 练习题 5:结合使用 + +1. 复制`/home/user/docs`目录下的`report.md`到`/home/user/temp`,然后将复制过去的文件重命名为`temp_report.md`。 + + 1. ```bash + mkdir temp + cd docs + touch report.md + mv report.md temp_report.md ../tepm + +2. 将`/home/user/docs`目录下所有以`.doc`结尾的文件移动到`/home/user/processed`,并且如果这些文件在目标目录中已经存在,则不覆盖它们。 + + 1. ```bash + mkdir processed + cd docs + mv -n *.doc ../processed + + +### 练习题 6:使用通配符 + +1. 复制`/home/user/docs`目录下所有以`.jpg`或`.png`结尾的图片文件到`/home/user/images`目录。 + + 1. ```bash + mkdir images + cd docs + cp *.jpg *.png ../images + + +### 练习题 7:详细输出 + +1. 使用`cp`命令复制文件时,显示详细的复制信息。 + + 1. ```bash + cp -v + +2. 使用`mv`命令移动文件时,显示详细的移动信息。 + + 1. ````bash + mv -v + + +### 练习题 8:更新文件 + +1. 如果`/home/user/backup`目录中已经有一个与`/home/user/docs`目录下的`file1.txt`同名的文件,并且`/home/user/docs/file1.txt`的内容是更新的,请使用`cp`命令将更新的文件复制到备份目录,并覆盖旧文件(假设你知道旧文件可以被安全地覆盖)。 + + 1. ```bash + cd docs + cp -u -S file1.txt ../backup \ No newline at end of file