diff --git "a/46\344\273\230\350\202\226\350\202\226/24-0522\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\347\256\241\347\220\206.md" "b/46\344\273\230\350\202\226\350\202\226/24-0522\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..cea85bd76ab4d31fb56fa87f2a57ba66abcf2e14 --- /dev/null +++ "b/46\344\273\230\350\202\226\350\202\226/24-0522\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\347\256\241\347\220\206.md" @@ -0,0 +1,177 @@ +## 笔记 + +### 文件及文件夹管理 + +#### LS:列出目录内容 + +Ls:列出当前目录下的文件和目录 + +Ls/home/user列出指定目录下的文件和目录 + +Ls-d文件夹列出文件夹本身的信息. + +ls-ld加L以长文件查看 + +ls-aall,列出当前目录下的所有文件和目录.包括隐藏文件/目录 + +ls-l=儿以长格式列出当前目录下的文件和目录 + +ls-1以易读的方式 + +ls_A=la不要显示隐藏文件/目录 + +ls-CF=l以更直观的方式 + +ls-ttime,根据修改时间 + +ls-rreverse反向排序列出 + +ls-Ssize大小 + +ls-R递归列否当前目录及子目录下 + +ls-color以不同颜色区分不同类型的文件 + +### cd改变当前目录 + +cd目录名:进入某个目录 + +cd…1./返回上二级目录 + +cd~/cd返回家目录 + +cd-返回上次所在目录 + +### Pwd显示当前工作目录的绝对路径 + +dir=$(pwd)将当前工作目录路经保存到变量中 + +### mkdir创建新目录 + +mkdir目录1目录2创建多个目录 + +′mkdir目录名创建一个新目录 + +mkdir路径/目录名在指定路径下创建新目录 + +mkdir-p父目录/子目录创建多个月录(父→子→孙) + +mkdir-m权限模式目录名:创建具有特定权限的目录 + +mkdir-p/tmp/新目录:创建临时目录,不长期保留 + +### rmdir删除空目录 + +rmdir目录名:删除空的目录 + +### rm删除文件夹目录 + +#### 删除文件 + +rm-i文件名:删除指定文件,会询间Y/n + +rm-f文件名:强制删除指定文件 + +rm-f文件1文件2:删除多个文件. + +rm-fa*:除以a开头的文件* + +*rm-f.*:删除隐藏文件 + +#### 删除目录 + +rmdir目录台:只删除空目录 + +rm-r目录名:递归删除目录及子目录 + +rm-rf目录名:递归且强制删除目录及子目录 + +rm-rfv目录名:显示删除的详细步骤 + +rm-d目录名:只删除空目录,仅删除无子文件的空目录 + +## 作业 + +假设您刚刚登录到一个Linux系统,并位于您的家目录(`~`)下。您需要完成以下一系列复杂的操作来组织和清理您的文件和目录。请按照顺序执行,并给出相应的命令。 + +1. **创建测试文件**:在家目录下创建三个文本文件,分别命名为`.hidden.txt`(隐藏文件)、`visible1.txt`和`visible2.txt`。 + + ```js + touch .hidden.txt visible1.txt visible2.txt + ``` + +2. **列出文件和目录**:列出家目录(`~`)下的所有文件和目录,包括隐藏文件,并查看其详细权限和属性。 + + ```js + ls -al + ``` + +3. **创建工作区**:创建一个新的目录`work_area`,并在其中创建三个子目录:`project_a`、`project_b`和`docs`。 + + ```js + mkdir work_area + /work_area$ mkdir project_a project_b docs + ``` + + + +4. **移动文本文件**:将家目录下的所有`.txt`文件移动到`work_area/docs`目录中,并确保这些文件在移动后仍然是隐藏的(如果它们是隐藏的)。 + + ```js + 0522作业$ mv *.txt work_area/docs + ``` + +5. **创建新文件**:在`work_area/project_a`目录下创建一个新的文本文件`notes.txt`,并添加一些内容(例如:`echo "Initial notes for project A" > work_area/project_a/notes.txt`)。 + + ```js + echo -e "Initial notes for project A"文本信息 > notes.txt + vim notes.txt 查看文本信息 + ``` + + + +6. **复制目录**:递归地复制`work_area/project_a`目录到`work_area/project_b`,并命名为`project_a_backup`。 + + ```js + cp -r work_area/project_a work_area/project_b + mv project_a project_a_backup + ``` + +7. **列出文件并按大小排序**:列出`work_area/docs`目录下的所有文件,并按文件大小降序排列。 + + ```js + ls -Sarl + ``` + +8. **删除所有文件**:删除`work_area/docs`目录下所有文件。 + + ```js + /0522作业/work_area$ rm -r docs/* + ``` + +9. **删除目录**:假设您不再需要`work_area/project_b`目录及其所有内容,请递归地强制删除它。 + + ```js + work_area$ rm -rf project_b + ``` + +10. **清理空目录**:清理`work_area`目录,删除其中所有的空目录(注意:不要删除非空的目录)。 + + ```js + work_area$ rmdir ./* + ``` + +11. **创建别名**:回到您的家目录,并创建一个别名`llh`,该别名能够列出当前目录下文件和目录的长格式列表,并以人类可读的格式显示文件大小(类似于`ls -lh`命令)。 + + ```js + 1. 先cd一下 + 2. ls -al + 3. cat .bashrc + 4. vim .bashrc + 5. 进入bashrc中在some more la aliases 下面 + 6. 改成以下形式 + 7. 关闭终端,重连 + 8. cd /etc + 9. llh + ``` + ![图片](./imgs/更改环境变量.png) \ No newline at end of file diff --git "a/46\344\273\230\350\202\226\350\202\226/imgs/\346\233\264\346\224\271\347\216\257\345\242\203\345\217\230\351\207\217.png" "b/46\344\273\230\350\202\226\350\202\226/imgs/\346\233\264\346\224\271\347\216\257\345\242\203\345\217\230\351\207\217.png" new file mode 100644 index 0000000000000000000000000000000000000000..9b7ee29557802e51de86ad846c782911646c0cff Binary files /dev/null and "b/46\344\273\230\350\202\226\350\202\226/imgs/\346\233\264\346\224\271\347\216\257\345\242\203\345\217\230\351\207\217.png" differ