diff --git "a/29 \351\203\255\350\213\245\346\230\225/20240530 \346\226\207\344\273\266\346\237\245\347\234\213.md" "b/29 \351\203\255\350\213\245\346\230\225/20240530 \346\226\207\344\273\266\346\237\245\347\234\213.md" new file mode 100644 index 0000000000000000000000000000000000000000..5e30a1b6611125654337ba7fa98655c4c01f1aad --- /dev/null +++ "b/29 \351\203\255\350\213\245\346\230\225/20240530 \346\226\207\344\273\266\346\237\245\347\234\213.md" @@ -0,0 +1,221 @@ +# 笔记 + +less + +空格键:向下滚动一页 + +Enter:向下滚动一行 + +b键:向上滚动一页 + +q键:退出less模式 + +/键:进入搜索模式,在搜索模式下输入关键字,按下Enter键可以搜索文件中的内容 + +n键:在搜索模式下,查找下一个匹配项 + +N键:在搜索模式下,查找上一个匹配项 + +# 作业 + + + +**以下所有操作都在家目录执行:** + +### + +1. **操作题一**:使用 `cat` 命令显示 `/etc/passwd` 文件的内容。 + + ```bash + guo@hecs-28964:~$ cat /etc/passwd + ``` + + + +2. **操作题二**:将文件 `/etc/passwd` 的内容复制到 `passwd_bak.txt` 文件中,但不使用 `cp` 命令。 + + ``` + guo@hecs-28964:~$ cat /etc/passwd >passwd_bak.txt + + ``` + + + +3. **操作题三**:新建两个文件 `file1.txt` 和 `file2.txt`,分别写一些不同的内容,再将这两个文件的内容合并到一个新的文件 `file3.txt` 中。 + + ``` + guo@hecs-28964:~$ cat file1.txt file2.txt >file3.txt + + ``` + + + +### + +1. 使用命令从尾部开始显示 `bigfile.txt` 文件的内容。 + + ``` + guo@hecs-28964:~$ tac bigfile.txt + ``` + + + +2. 尝试找出 `bigfile.txt` 文件的最后一行内容,要使用 `tac` 命令。 + + ``` + guo@hecs-28964:~$ tac bigfile.txt | head -n 1 + + ``` + + + +3. 查看 `bigfile.txt` 文件的最后5行内容。 + + ``` + guo@hecs-28964:~$ tail -n 5 bigfile.txt + ``` + + + +4. 倒序查看 `bigfile.txt` 文件的最后5行内容。 + + ``` + guo@hecs-28964:~$ tail -n 5 bigfile.txt |tac + ``` + + + +### + +1. **操作题一**:使用 `more` 命令查看 `bigfile.txt` 文件的内容,并在查看过程中使用空格键翻页。 + + ``` + guo@hecs-28964:~$ more bigfile.txt + ``` + + + +2. **操作题二**:在 `more` 命令的查看过程中,如何使用回车键来逐行查看文件内容? + + ``` + guo@hecs-28964:~$ more bigfile.txt + ``` + + + +3. **操作题三**:如何在 `more` 命令中搜索`bigfile.txt`特定字符串(例如 "error")并跳转到下一个匹配项? + + ``` + guo@hecs-28964:~$ more bigfile.txt + /error + + 跳转到下一个匹配项:-n + 跳转到上一个匹配项:-N + ``` + + + +### `less` 命令操作题 + +1. **操作题一**:使用 `less` 命令查看 `bigfile.txt` 文件,并快速定位到文件的末尾。 + + ``` + guo@hecs-28964:~$ less bigfile.txt + + + 快速定位到文件的末尾:shift + G + 快速定位到文件的开始:G + ``` + + + +2. **操作题二**:在 `less` 命令中,如何向上和向下滚动文件内容? + + ``` + guo@hecs-28964:~$ less bigfile.txt + + 空格键:向下滚动一页 + Enter:向下滚动一行 + b键:向上滚动一页 + ``` + + + +3. **操作题三**:在 `less` 命令中,如何搜索`bigfile.txt`一个特定的函数名(例如 `def my_function`),并查看所有匹配项? + + ``` + guo@hecs-28964:~$ less bigfile.txt + /def\s+my_function + + ``` + + + +### `head` 命令操作题 + +1. **操作题一**:使用 `head` 命令显示 `bigfile.txt` 文件的前5行内容。 + + ``` + guo@hecs-28964:~$ head -n 5 bigfile.txt + 这是一行测试文本,用于演示各种文本处理命令。 + 第二行内容,包含了更多的字符来模拟一个大文件。 + 第三行,同样包含了足够多的字符,以便在查看时能够滚动或分页。 + + 以下是重复的行,用于测试分页和搜索功能。 + ``` + + + +2. **操作题二**:将 `bigfile.txt` 的前20行内容保存到 `bigfile_20.txt` 文件中。 + + ``` + guo@hecs-28964:~$ head -n 20 bigfile.txt > bigfile_20.txt + ``` + + + +3. **操作题三**:如何结合 `head` 和 `grep` 命令来查找 `bigfile.txt` 文件中以 "A" 开头的前10行? + + ``` + guo@hecs-28964:~$ head bigfile.txt | grep "a" + Lorem ipsum dolor sit amet, consectetur adipiscing elit. ????????????? + + + guo@hecs-28964:~$ grep "a" bigfile.txt |head + ``` + +### `tail` 命令操作题 + +1. **操作题一**:使用 `tail` 命令显示 `bigfile.txt` 文件的最后20行内容。 + + ``` + guo@hecs-28964:~$ tail -n 20 bigfile.txt + ``` + + + +2. **操作题二**:如何实时跟踪一个正在写入的日志文件(如 `bigfile.txt`)的最后10行内容? + + ``` + guo@hecs-28964:~$ tail -f bigfile.txt + ``` + + + +3. **操作题三**:在 `tail` 命令中,如何反向显示文件的最后10行内容(即按从旧到新的顺序显示)? + + ``` + guo@hecs-28964:~$ tail bigfile.txt | tac + ``` + + + +### 综合题 + +**综合题**:假设你有一个非常大的日志文件 `bigfile.txt`,你需要找出所有包含 "ERROR" 字符串的行,并查看这些行及其之前的两行内容。 + +``` +guo@hecs-28964:~$ cat bigfile.txt | grep "ERROR" -A2 + +``` +