diff --git "a/17\351\273\204\344\270\275\345\207\244/2024.05.22-liunx\347\232\204\345\221\275\344\273\2443+\344\275\234\344\270\232.md" "b/17\351\273\204\344\270\275\345\207\244/2024.05.22-liunx\347\232\204\345\221\275\344\273\2443+\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..fabac6a41d74d102be866c993bac0496dec0d2f7 --- /dev/null +++ "b/17\351\273\204\344\270\275\345\207\244/2024.05.22-liunx\347\232\204\345\221\275\344\273\2443+\344\275\234\344\270\232.md" @@ -0,0 +1,136 @@ +#### liunx命令 + +ls -r ~ 显示家目录的等级(不好用) + +sudo apt install tree 下载tree + +tree ~ 显示家目录的等级(好用) + +../ 上一级(绝对路径) ./当前目录 + +ls -la 列出指定项目的文件 + +cd ~ 回到自己的家目录 + +cd ../ 返回上一级 cd ../../ 返回上两级 + +cd - 返回上一次的目录 + +touch .c1.txt 创建隐藏文件(在文件名前加.代表隐藏文件) + +文件夹管理 + + 1. ls 列出当前目录下的文件及文件夹 + + 2. ls /home/user 列出指定目录下的文件和目录 + + ​ 例如:ls 文件夹A 列出文件夹A目录下的文件和目录 + + 3. ls -a 显示所有文件(包括隐藏文件) + + 4. ls -l 以长格式列出当前目录下的文件和目录(权限,文件大小,创建日期等信息) + + + +#### 作业 + +假设您刚刚登录到一个Linux系统,并位于您的家目录(`~`)下。您需要完成以下一系列复杂的操作来组织和清理您的文件和目录。请按照顺序执行,并给出相应的命令。 + +1. **创建测试文件**:在家目录下创建三个文本文件,分别命名为`.hidden.txt`(隐藏文件)、`visible1.txt`和`visible2.txt`。 + + ``` + cd ~ 回到家目录 + touch .hidden.txt + touch visible1.txt + touch visible2.txt + ``` + + + +2. **列出文件和目录**:列出家目录(`~`)下的所有文件和目录,包括隐藏文件,并查看其详细权限和属性。 + + ``` + ls -al a:列出所有文件(包括隐藏文件) l:列出详细权限和属性 + ``` + + + +3. **创建工作区**:创建一个新的目录`work_area`,并在其中创建三个子目录:`project_a`、`project_b`和`docs`。 + + ``` + mkdir work_area,进入work_area创建子目录 + mkdir project_a + mkdir project_b + mkdir docs + ``` + + + +4. **移动文本文件**:将家目录下的所有`.txt`文件移动到`work_area/docs`目录中,并确保这些文件在移动后仍然是隐藏的(如果它们是隐藏的)。 + + ``` + mv *.txt work_area/docs/ + mv .*.txt work_area/docs/ + ``` + + + +5. **创建新文件**:在`work_area/project_a`目录下创建一个新的文本文件`notes.txt`,并添加一些内容(例如:`echo "Initial notes for project A" > work_area/project_a/notes.txt`)。 + + ``` + touch notes.txt 创建一个新的文本文件 + vim notes.txt 进入编辑模式,按i键,进入编辑状态,可以输入内容,按esc键,:wq退出 + ``` + + + +6. **复制目录**:递归地复制`work_area/project_a`目录到`work_area/project_b`,并命名为`project_a_backup`。 + + ``` + cp project_a project_a_backup -r + ``` + + + +7. **列出文件并按大小排序**:列出`work_area/docs`目录下的所有文件,并按文件大小降序排列。 + + ``` + ls -lh + ``` + + + +8. **删除所有文件**:删除`work_area/docs`目录下所有文件。 + + ``` + rm visible1.txt visible2.txt + ``` + + + +9. **删除目录**:假设您不再需要`work_area/project_b`目录及其所有内容,请递归地强制删除它。 + + ``` + rm -r work_area/project_b + ``` + + + +10. **清理空目录**:清理`work_area`目录,删除其中所有的空目录(注意:不要删除非空的目录)。 + + ``` + rmdir project-b + ``` + + + +11. **创建别名**:回到您的家目录,并创建一个别名`llh`,该别名能够列出当前目录下文件和目录的长格式列表,并以人类可读的格式显示文件大小(类似于`ls -lh`命令)。 + + ``` + cd #返回到家目录 + nano ~/.bashrc 或vim ~/.bashrc #编辑bash配置文件,添加别名 + alias llh='ls -lh' #在文件末尾添加llh别名,保存并退出 + source ~/.bashrc #重新加载bash配置文件,更改生效 + ``` + + \ No newline at end of file