From 8fb2625f4e82bec3a89c273ce6e2d39b4633d24d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E6=99=9F=E8=BE=89?= <11764051+strange-nianqian@user.noreply.gitee.com> Date: Wed, 29 May 2024 14:04:57 +0000 Subject: [PATCH] =?UTF-8?q?02=20=E6=9E=97=E6=99=9F=E8=BE=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 林晟辉 <11764051+strange-nianqian@user.noreply.gitee.com> --- ...45\350\257\242\344\275\234\344\270\232.md" | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 "02 \346\236\227\346\231\237\350\276\211/20240528 \346\237\245\350\257\242\344\275\234\344\270\232.md" diff --git "a/02 \346\236\227\346\231\237\350\276\211/20240528 \346\237\245\350\257\242\344\275\234\344\270\232.md" "b/02 \346\236\227\346\231\237\350\276\211/20240528 \346\237\245\350\257\242\344\275\234\344\270\232.md" new file mode 100644 index 0000000..23523f6 --- /dev/null +++ "b/02 \346\236\227\346\231\237\350\276\211/20240528 \346\237\245\350\257\242\344\275\234\344\270\232.md" @@ -0,0 +1,92 @@ +### 操作题 + +1. **查找当前目录及其子目录中所有扩展名为 `.log` 的文件**: + + ```bash + find * -name "*.log" -type f + ``` + +2. **在 `/var/logs` 目录及其子目录中查找所有包含关键字 `error` 的文件,并显示匹配的行**: + + ```bash + sudo chown user:group 1.txt // 没有权限给用户这个文件的权限 + grep "error" /var/logs/* --color=auto -Hn + + ``` + +3. **在 `/home/user/docs` 目录中查找文件名包含 `report` 的所有文件**: + ```bash + find ~/docs -name "*report*" -type f + ``` + +4. **查找 `/etc` 目录中最近7天内修改过的文件**: + ```bash + find /etc -mtime -7 -type f + ``` + +5. **显示 `/usr/bin` 目录中名为 `python` 的可执行文件的路径**: + + ```bash + 要先安装 + which python + /usr/bin/python + ``` + +6. **查找系统中名为 `ls` 的命令及其手册页位置**: + + ```bash + whereis ls + ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz + ``` + +7. **查找当前目录中包含关键字 `TODO` 的所有文件,并显示匹配的行和文件名**: + ```bash + grep -r "TODO" ./* -Hn + ``` + +8. **在 `/home/user/projects` 目录中查找所有包含关键字 `function` 的 `.js` 文件**: + ```bash + find ~/projects -name "*.js" -exec grep + "function" {} \; + ``` + +9. **查找并显示当前目录及其子目录中所有空文件**: + + ```bash + find ./ -empty + ``` + +10. **在 `/var/www` 目录中查找包含关键字 `database` 的所有文件,并只显示文件名**: + + ```bash + grep -rl "database" /var/www + ``` + +### 综合操作题 + +**综合操作题:** + +假设你在一个名为 `/home/user/workspace` 的目录中工作。你需要完成以下任务: + +1. 查找该目录中所有扩展名为 `.conf` 的文件。 +2. 在这些 `.conf` 文件中查找包含关键字 `server` 的行。 +3. 将包含关键字 `server` 的文件名和匹配的行保存到一个名为 `server_lines.txt` 的文件中。 + +**预期命令步骤:** + +1. 查找所有扩展名为 `.conf` 的文件: + ```bash + find ./ -name "*.conf" -type f + ``` + +2. 在这些 `.conf` 文件中查找包含关键字 `server` 的行: + ```bash + find ./ -name "*.conf" -type f -exec grep "server" {} -nH \; + ``` + +3. 将结果保存到 `server_lines.txt` 文件中: + ```bash + find ./ -name "*.conf" -type f -exec grep "server" {} -nH \; >> ./server_lines.txt + ``` + +通过这套操作题和综合操作题,你可以全面地了解和应用Linux系统中与文件和内容查询相关的常用命令。 -- Gitee