2、文件管理命令练习:
(1)在/opt目录下创建一个临时目录tmp;
(2)在临时目录下创建一个文件,文件名为a.txt;
如图所示:我们通过makdr(创建目录)和touch(创建文件)可以完成。
通过ls -R命令我们可以递归查看到我们所创建的目录和文件
3、vi/vim练习:完成如下步骤
(1) 应用vi命令在/tmp文件夹下创建文件,文件名newfile。在newfile首行输入日期时间
在我们没有现有文件夹的情况下,我们任然可以通过vi/vim /tmp/newfile(所需创建的文件及其所在路径);随后按下所需按键进入编辑模式,即可输入所需内容,这里为日期。
有时我们的文件是只读模式无法编辑,这时要进入末行模式输入:set noro 或者:set noreadonly 按下回车即可。
下面我将提供一些进入编辑模式所用的按键:
| 在光标前插入 | i |
| 在光标所在行行首第一个非空字符前插入 | I(大写字母i) |
| 在光标后插入 | a |
| 在光标所在行末尾插入 | A |
| 在光标所在行上一行插入 | O(大写字母) |
| 在光标所在行下一行插入 | o(小写字母) |
| 删除光标所在字符并进入插入模式 | s(小写字母) |
| 删除当前行并进入插入模式 | S(大写字母) |
(2) 将/boot/grub2/grub.cfg文档的内容读入到newfile文档中(在日期的下一行即第2行)
通过按 `:`或者 `/`可从命令模式切换到末行模式(保存、退出、设置编辑环境)。
无论是编辑模式还是末行模式都可以按Esc按键返回至命令模式,但是编辑模式与末行模式不可以相互进入。
在末行模式中输入如下图所示的“:r /boot/grub2/grub.cfg” 后,此命令可以将所输入的文件内容复制进你的文档中。
(3) 查找文档中包含#号字符的行,将整行删除
进入末行模式,使用:g /#/d ----查找含有"#"的行并删除。
(4) 开启VI的行号提示功能
也是在末行模式中,加入行号可以让我们查看文档更加方便,但此命令不是常驻的,下次再进入文档时行号将消失。
显示行号 :set nu
关闭行号显示 :set nonu
- 文件查看:查看/etc/passwd文件的第6行
我们可以先通过head指令查看文件的前6行,然后通过 | 管道符将得到的结果交给下一个指令tail执行查看最后一行的命令。
2、文件查找
- 在当前目录及子目录中,查找大写字母开头的txt文件
使用find指令可以查找文件 使用参数type可以匹配文件,后面的f是提示匹配的是文本文件,在输入查找的文件时【A..Z】代表查找A到Z开头的;”*” 代表此内容不限;然后以”.txt”结尾的文件。
我还将给出一些find指令的参数
| 参数 | 作用 |
| -------------------------------------- | ------------------------------------------------------------ |
| -name | 根据文件basename匹配名称 |
| -size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
| -mtime [+\|-]n | 匹配修改内容的时间(-4指小于等于4天内的文件名;+4,大于等于5天前的文件名;4指前4~5那一天的文件) |
| -atime [+\|-]n | 匹配访问文件的时间 |
| -ctime [+\|-]n | 匹配修改文件权限的时间 |
| -newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
| -perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
| -user | 匹配所有者 |
| -group | 匹配所有组 |
| -nouser | 匹配无所有者的文件 |
| -nogroup | 匹配无所属组的文件 |
| -type b/d/c/p/l/f | 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
| -depth | 先从该目录子目录下查找,再查找该目录 |
| -maxdepth levels<br />-mindepth levels | 最多查找多少层目录;最少查找多少层目录 |
| -delete | 将找到的文件删除,如果是目录只能删除找到的空目录。 |
| -exec …… {}\; | 后面可跟用于进一步处理搜索结果的命令 |
2.在/etc及其子目录中,查找host开头的文件
- 在$HOME目录及其子目录中,查找所有文件
find指令后面不跟所需查找文件名则查找所给目录及其子目录下的所有文件
- 忽略文件名大小写查找a.txt
使用 -iname 参数可以忽略文件名大小写,因为我此文件路径下只有小写文件所以只有小写返回。
- 查找文件 /etc/passwd 中包含字符串 re 的所有行。将所有这些行的副本按原始顺序放在文件/root/files 中