From 6b96b006351359a508184cc90190adf50a69990b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E8=89=B3zy?= <3599630858@qq.com> Date: Thu, 23 May 2024 20:28:01 +0800 Subject: [PATCH] =?UTF-8?q?20240522-=E6=96=87=E4=BB=B6=E5=A4=B9=E5=8F=8A?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=9A=84=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...71\345\276\227\346\223\215\344\275\234.md" | 140 ++++++++++++++++++ ...71\345\276\227\346\223\215\344\275\234.md" | 33 +++++ 2 files changed, 173 insertions(+) create mode 100644 "39 \345\221\250\350\211\263/homework/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\345\276\227\346\223\215\344\275\234.md" create mode 100644 "39 \345\221\250\350\211\263/note/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\345\276\227\346\223\215\344\275\234.md" diff --git "a/39 \345\221\250\350\211\263/homework/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\345\276\227\346\223\215\344\275\234.md" "b/39 \345\221\250\350\211\263/homework/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\345\276\227\346\223\215\344\275\234.md" new file mode 100644 index 0000000..9832db1 --- /dev/null +++ "b/39 \345\221\250\350\211\263/homework/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\345\276\227\346\223\215\344\275\234.md" @@ -0,0 +1,140 @@ +假设您刚刚登录到一个Linux系统,并位于您的家目录(`~`)下。您需要完成以下一系列复杂的操作来组织和清理您的文件和目录。请按照顺序执行,并给出相应的命令。 + +1. **创建测试文件**:在家目录下创建三个文本文件,分别命名为`.hidden.txt`(隐藏文件)、`visible1.txt`和`visible2.txt`。 + + * ```js + touch .hidden.txt visible1.txt visible2.txt + ``` + + + +2. **列出文件和目录**:列出家目录(`~`)下的所有文件和目录,包括隐藏文件,并查看其详细权限和属性。 + + * ```js + ls -la + ``` + + + +3. **创建工作区**:创建一个新的目录`work_area`,并在其中创建三个子目录:`project_a`、`project_b`和`docs`。 + + * ```js + mkdir work_area//创建新目录work_area + cd work_area//切换到目录work_area + mkdir project_a project_b docs//创建三个子目录 + ``` + +4. **移动文本文件**:将家目录下的所有`.txt`文件移动到`work_area/docs`目录中,并确保这些文件在移动后仍然是隐藏的(如果它们是隐藏的)。 + + * ```js + //.[^.]*.txt :表示隐藏文件 + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area$ cd + oo@iZf8zfcpducv0jeuu04xmhZ:~$ mv *.txt /home/oo/work_area/docs/ //将家目录下的所有.txt文件移动到work_area/docs目录中 + oo@iZf8zfcpducv0jeuu04xmhZ:~$ cd /home/oo/ + .config/ work_area/ 学习资料/ + oo@iZf8zfcpducv0jeuu04xmhZ:~$ cd /home/oo/work_area/docs/ + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ ls + visible1.txt visible2.txt + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_a$ cd + oo@iZf8zfcpducv0jeuu04xmhZ:~$ mv .[^.]*.txt /home/oo/work_area/docs/ //隐藏文件移动 + oo@iZf8zfcpducv0jeuu04xmhZ:~$ cd work_area/docs/ + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ ls -la + total 8 + drwxr-xr-x 2 oo oo 4096 May 22 16:43 . + drwxr-xr-x 5 oo oo 4096 May 22 16:28 .. + -rw-r--r-- 1 oo oo 0 May 22 16:22 .hedden.txt + -rw-r--r-- 1 oo oo 0 May 22 16:22 visible1.txt + -rw-r--r-- 1 oo oo 0 May 22 16:22 visible2.txt + ``` + + + +5. **创建新文件**:在`work_area/project_a`目录下创建一个新的文本文件`notes.txt`,并添加一些内容(例如:`echo "Initial notes for project A" > work_area/project_a/notes.txt`)。 + + * ```js + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_a$ touch notes.txt + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_a$ ls + notes.txt + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_a$ vim notes.txt + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_a$ cat notes.txt + Initial notes for project A + ``` + + + +6. **复制目录**:递归地复制`work_area/project_a`目录到`work_area/project_b`,并命名为`project_a_backup`。 + + * ```js + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_b$ cd ../ + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area$ cp -r project_a project_b + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area$ cd project_b + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_b$ ls + project_a + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_b$ mv project_a project_a_backup + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_b$ ls + project_a_backup + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_b$ + ``` + +7. **列出文件并按大小排序**:列出`work_area/docs`目录下的所有文件,并按文件大小降序排列。 + + * ```js + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_b$ cd ../ + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area$ cd docs/ + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ ls -a + . .. .hedden.txt visible1.txt visible2.txt + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ ls -larS + total 8 + -rw-r--r-- 1 oo oo 0 May 22 16:22 visible2.txt + -rw-r--r-- 1 oo oo 0 May 22 16:22 visible1.txt + -rw-r--r-- 1 oo oo 0 May 22 16:22 .hedden.txt + drwxr-xr-x 5 oo oo 4096 May 22 17:00 .. + drwxr-xr-x 2 oo oo 4096 May 22 16:43 . + ``` + + + +8. **删除所有文件**:删除`work_area/docs`目录下所有文件。 + + * ```js + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ ls -a + visible1.txt visible2.txt + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ rm -f visible1.txt visible2.txt .hidden.txt + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ ls + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ rm -f .* + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/docs$ ls + ``` + + + +9. **删除目录**:假设您不再需要`work_area/project_b`目录及其所有内容,请递归地强制删除它。 + + * ```js + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area/project_b$ cd ../ + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area$ rm -Rrf project_b + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area$ ls + docs project_a + ``` + + + +10. **清理空目录**:清理`work_area`目录,删除其中所有的空目录(注意:不要删除非空的目录)。 + + * ```js + oo@iZf8zfcpducv0jeuu04xmhZ:~$ cd work_area/ + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area$ rmdir docs + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area$ ls + project_a + oo@iZf8zfcpducv0jeuu04xmhZ:~/work_area$ + ``` + + + +11. **创建别名**:回到您的家目录,并创建一个别名`llh`,该别名能够列出当前目录下文件和目录的长格式列表,并以人类可读的格式显示文件大小(类似于`ls -lh`命令)。 + + * ```js + + ``` + + \ No newline at end of file diff --git "a/39 \345\221\250\350\211\263/note/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\345\276\227\346\223\215\344\275\234.md" "b/39 \345\221\250\350\211\263/note/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\345\276\227\346\223\215\344\275\234.md" new file mode 100644 index 0000000..2dd8e3b --- /dev/null +++ "b/39 \345\221\250\350\211\263/note/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\345\276\227\346\223\215\344\275\234.md" @@ -0,0 +1,33 @@ +#### 文件及文件夹的操作 + +##### ls + +1. ls:列出当前目录下的文件和目录 +2. ls 路径:列出指定目录下的文件和目录 +3. ls -d 文件夹:列出文件夹本身的信息 +4. ls -a :列出当前目录下所有的文件和目录,包括隐藏文件/目录(以 . 开头的文件/文件夹表示隐藏目录) +5. ls -l:以长格式列出当前目录下的文件和目录,包括权限,日期,所有者,大小,创建日期 +6. ls -h:以易读的方式列出 +7. ls -t:根据修改的时间排序 +8. ls -t:反向排序 +9. ls -S:根据文件大小排序 +10. ls -R:递归列出当前目录以及子目录下的所有目录或文件 +11. ls --color:显示颜色 + +##### cd + +1. cd 目录名:进入某个目录 +2. cd ../../:返回上两级目录 +3. cd ~/cd:返回家目录 +4. cd -:返回上次所在目录 + +##### rm + +1. rm -i:提示是否删除 +2. rm -f :强制删除 +3. rm -f 文件1 文件2:同时删除两个文件 +4. rm *.txt:删除以txt结尾的所有文件 +5. rm -rf:删除子目录和文件 +6. rmdir 目录名:删除空目录 +7. rm -rv:显示删除过程 +8. rm -d:删除目录 \ No newline at end of file -- Gitee