diff --git "a/13 \345\210\230\346\263\260\346\261\237/20240524\344\275\234\344\270\232.md" "b/13 \345\210\230\346\263\260\346\261\237/20240524\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..025c4993caabab860a3a316e15725ff84f890dff --- /dev/null +++ "b/13 \345\210\230\346\263\260\346\261\237/20240524\344\275\234\344\270\232.md" @@ -0,0 +1,80 @@ + + +```bash + 进入 development 目录 +mkdir development && cd development + +# 创建 old_code 目录 +mkdir oldcode + +# 在 old_code 目录中创建文件和目录结构 +cd oldcode && mkdir -p module1/script1.py module1/script1.pyc module1/script2.py module1/script2.pyo module2/script3.py module2/script3.pyc +# 查看 old_code 目录的内容 +ls -l oldcode + +# 删除 old_code 目录中的所有 .pyc 和 .pyo 文件 +rm -r **/*.pyc +rm -r **/*.pyo + +# 创建 source_code 目录并复制 .py 文件到其中 +mkdir sourcecode && cp -R **/*.py sourcecode + +# 创建 tests 和 docs 目录 + mkdir sourcecode/tests sourcecode/docs + +# 在 source_code/docs 目录中创建两个空文件 +touch sourcecode/docs/architecture.md sourcecode/docs/requirements.md + +# 返回到 development 目录的根目录,并递归地列出整个目录的结构 +cd /tmp/deveopment && ls -R + +# 清理工作:删除整个 old_code 目录 +rm -rv oldcode +removed directory 'oldcode/module1/script2.py' +removed directory 'oldcode/module1/script1.py' +removed directory 'oldcode/module1' +removed directory 'oldcode/module2/script3.py' +removed directory 'oldcode/module2' +removed directory 'oldcode/sourcecode/script2.py' +removed 'oldcode/sourcecode/docs/requirements.md' +removed 'oldcode/sourcecode/docs/architecture.md' +removed directory 'oldcode/sourcecode/docs' +removed directory 'oldcode/sourcecode/script3.py' +removed directory 'oldcode/sourcecode/script1.py' +removed directory 'oldcode/sourcecode/tests' +removed directory 'oldcode/sourcecode' +removed directory 'oldcode' + +# 删除 source_code/module1/unused_script.py 文件(如果存在) +rm -f development/sourcecode/module1/unusedscript.py +``` + +假设您刚刚登录到一个Linux系统,并位于您的家目录(`~`)下。您需要完成以下一系列复杂的操作来组织和清理您的文件和目录。请按照顺序执行,并给出相应的命令。 + +1. **创建测试文件**:在家目录下创建三个文本文件,分别命名为`.hidden.txt`(隐藏文件)、`visible1.txt`和`visible2.txt`。 +2. **列出文件和目录**:列出家目录(`~`)下的所有文件和目录,包括隐藏文件,并查看其详细权限和属性。 +3. **创建工作区**:创建一个新的目录`work_area`,并在其中创建三个子目录:`project_a`、`project_b`和`docs`。 +4. **移动文本文件**:将家目录下的所有`.txt`文件移动到`work_area/docs`目录中,并确保这些文件在移动后仍然是隐藏的(如果它们是隐藏的)。 +5. **创建新文件**:在`work_area/project_a`目录下创建一个新的文本文件`notes.txt`,并添加一些内容(例如:`echo "Initial notes for project A" > work_area/project_a/notes.txt`)。 +6. **复制目录**:递归地复制`work_area/project_a`目录到`work_area/project_b`,并命名为`project_a_backup`。 +7. **列出文件并按大小排序**:列出`work_area/docs`目录下的所有文件,并按文件大小降序排列。 +8. **删除所有文件**:删除`work_area/docs`目录下所有文件。 +9. **删除目录**:假设您不再需要`work_area/project_b`目录及其所有内容,请递归地强制删除它。 +10. **清理空目录**:清理`work_area`目录,删除其中所有的空目录(注意:不要删除非空的目录)。 +11. **创建别名**:回到您的家目录,并创建一个别名`llh`,该别名能够列出当前目录下文件和目录的长格式列表,并以人类可读的格式显示文件大小(类似于`ls -lh`命令)。 + +```bash +touch .hidden.txt visible1.txt visible2.txt +ls -alR +mkdir work_area && cd work_area && mkdir project_a project_b docs + mv *.txt work_area/docs/ + mv .*.txt work_area/work_area/docs/ + mkdir work_area/project_a/notes.txt + cp -r project_a project_b && mv project_a project_a_backup + ls -lhr + rm *.txt + rm -rf project_b + find work_area -type d -empty -delete + llh='ls -lh +``` +