文件查看(重点)
查看文件内容是作为测试工程师常用的一些命令。
cat 查看文件
语法:cat 文件名
- 查看 /var/log/messages 文件中内容
cat /var/log/messages
cat 命令可以将文件中所有的内容都显示出来。
cat 命令比较适合查看文档内容比较少的小文件。如果一个文件过大,使用cat命令查看的时候会将内容从第一行一直显示到最后一行,性能会有影响。
cat -n 显示文件内容的行号
head 查看文件的头部
默认查看文件的前10行内容
head /var/log/messages
head -n 查看文件的前n行
查看文件的前5行
head -5 /var/log/messages
tail 查看文件尾部
默认查看文件的后10行
tail /var/log/messages
tail -n 查看文件的后n行
查看文件的后5行
tail -5 /var/log/messages
tail -f 实时查看文件
如果一个文件是不断的在增加内容,使用这个命令可以实时追踪
查看实时日志文件,一般使用 tail -f命令比较多。
退出实时查看使用快捷键· ctrl + c
tail -f /var/log/messages
思考
- 查看前5行内容,并且显示行号。
| 管道符命令
使用 | 可以将两个命令连在一起使用
head -5 /var/log/messages | cat -n
- 查看文件的第6行内容-第10行内容。
- head 前10行 (1-10)
- 从前10行内容查看 后5行 (6-10)
head /var/log/messages | cat -n | tail -5
练习:
查找第200—300行内容
wc (word count) 统计
1统计 /var/log/messages的内容: 行数 单词数 文件大小
wc /var/log/messages
more 查看文件
查看文件 分页显示。
- 按 Space 空格键:显示文本的下一屏内容。
- 按 Enter回车 键:只显示文本的下一行内容。
- ctrl c 退出
less 查看文件
可以上下翻页查看文件内容
less命令 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
less /var/log/messages
一般在前端或者调用接口时报错,可以通过日志来定位bug,日志文件分为很多类,各公司命名会有不同
举例:服务名-debug.log 服务名-info.log 服务名-error.log 等(问开发日志文件一般都是打印在那些文件中)
可以通过进入相应的日志文件来找到报错的日志(一般情况下公司会有一个操作标记id,方便定位,例如traceid),通过日志提供的报错msg以及记录的报错服务名称,从而定位到bug,日志是可以定位到有问题的服务名,但是不能解决问题,只能定位问题
vi vim文件编辑器
vi是Linux中内置的一个文本编辑器(类似Windows中的记事本)。
vi 可以对文件中内容进行编辑。
命令模式
语法:vim 普通文件名(如果这个文件名存在,则编辑;如果不存在,内容保存的话,新增。)
vim 新文件名 进入之后会显示”aaa”[New File] (当前文件不存在)
vim 已经存在的文件名 进入之后会显示”aaa” 1L, 12C (代表行数,字符数)
- 使用vi 命令创建新文件
- 进入到/tmp 目录下
- 使用命令 vi biji.txt
编辑模式
在命令模式中 按下键盘的 “a” 或者 “i” 键。 可以从命令模式到编辑模式。
当文件内容输入完成之后, 按下键盘的 【ESC】 键退出编辑模式
输入命令 (输入法调整为英文输入法)
:wq 保存并退出
命令模式下主要操作
- :wq 保存并退出
- :q! 退出不保存
练习
1使用vi命令在 /tmp 目录下创建 fm.log 文件
2在文件中输入如下内容
常用Linux命令 cd pwd ls cp mv
- 保存并退出
- 使用cat 命令查看 fm.log 文件,并显示行号。
常见问题
- touch 可以创建文件 ,vi 也可以,两者有什么区别
区别就是 touch只能创建一个空文件,而vi可以进行编辑。
主要命令
行号显示
vi 打开文件之后,按下 【ESC】 键,
| :set nu | 显示行号 |
|---|---|
| :set nonu | 取消行号 |
移动光标
按下【ESC】键退出编辑状态
| h或者左箭头(⬅) | 光标向左移动一个光标 |
|---|---|
| j或者下箭头(⬇) | 光标向下移动一个光标 |
| k或者向上箭头(⬆) | 光标向上移动一个光标 |
| l或者右箭头(➡) | 光标向右移动一个光标 |
| n |
n表示数字,比如20,按下数字之后按space空格键,表示向右移动20个位置 |
| 0或者功能键【Home】 | 移动到这一行的最前面字符处 |
| shift $ | 移动到这一行的最后面字符处 |
| shift g | 移动到这个文件的最后一行 |
| nG | n为数字,移动到这个文件的第n行,例如20G移动到这个文件的第20行 |
| gg | 移动到第1行 |
| n |
n为数字,向后移动n行。比如现在光标在 第20行处,输入20 并按下回车。 定位第40行(往后移动了20行) |
练习
| /word | 向光标之下查找word的单词 /hello 表示搜索文件中的hello |
|---|---|
| ?word | 向光标之上查找word的单词 |
| :n1,n2s/word1/word2/c | n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2,替换之前会提示用户是否确认 |
| :n1,n2s/word1/word2/g | n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2(与/c的区别是:不再询问,直接替换) |
| :1,$s/word1/word2/g | 从第1行到最后一行,找word1,替换为word2 |

备注: 使用 /word 或者 ?word 搜索完成之后 按下 n 自动定位到下一个。
练习:
- 清空 /tmp 目录下所有的文件
- 复制 /var/log/messages 文件 到 /tmp 目录下
- vi 打开 /tmp/messages
- 将200-500 行中的 centos替换为wangdachui
:200,500s/centos/wangdachui/c
- 200 表示第200行
- 500 表示第500行
- s 表示搜索
- /centos 搜索的内容
- /wangdachui 替换的内容
- /c 询问是否确认
文件保存
| :q! | 退出不保存 | | —- | —- | | :wq | 保存并退出 | | :w filename | 文件另存为 filename为具体的文件名 |
练习:
- 将 /var/log/messages 文件复制到 /tmp目录下
- vi 编辑 /tmp/messages文件
- 将文件中所有的root 改为小明
- 文件另存为 messages_xiaoming

替换文本
:1,$s/root/小明/g
文件另存为
:w messages_xiaoming

退出编辑

tar 文件解压缩
Linux操作系统常见的压缩格式为 .tar.gz , 使用tar 命令可以创建压缩包和解压tar.gz文件
tar -zxvf 解压文件
语法:tar -zxvf 压缩好的文件名.tar.gz后缀
- 进入 /tmp 目录下
- 使用下面命令下载 压缩文件
wget https://mirrors.aliyun.com/apache/jmeter/binaries/apache-jmeter-5.4.1.tgz
- 查看并解压文件
tar -zxvf apache-jmeter-5.4.1.tgz
tar -zxvf 压缩包名 -C 解压到指定目录
语法:tar -zxvf 路径下的压缩包名 -C 指定路径
将 /tmp/apache-jmeter-5.4.1.tgz 压缩包的中文件解压到 /root 目录下。
-C 指定解压的路径
tar -zxvf /tmp/apache-jmeter-5.4.1.tgz -C /root/
tar -zcvf 压缩文件
语法:tar -zcvf 压缩好的文件名.tar.gz 被压缩的文件名(单个或者同时多个)
- 在 /tmp 目录下创建 3个文件 a1.txt a2.txt a3.txt
- 将 a1.txt a2.txt a3.txt 打包为 aa.tar.gz 文件
tar -zcvf aa.tar.gz a1.txt a2.txt a3.txt
解压zip文件
- 下载zip文件
wget https://mirrors.aliyun.com/apache/jmeter/binaries/apache-jmeter-5.2.zip
- 解压
unzip apache-jmeter-5.2.zip
- 压缩
语法:zip .zip压缩包名 文件
4. 指定路径解压
语法:unzip .zip压缩包名 -d 指定路径
作业
- 进入到/tmp 目录下
- 删除 /tmp 目录下所有的文件
- 复制 /var/log/messages 文件到 /tmp目录下
- 查看 /tmp 目录,此时应该有个 messages文件
- 统计 messages 文件中有多少行内容,多少个单词,多少字节
vi 命令练习
- 在 /tmp 目录下创建一个文件 hongkou.log
- 文件内容输入如下内容
Linux Day01 commands mkdir touch mv cp rm vi cat head tail wc more less
保存并退出
- 查看 hongkou.log 文件的前5行
- 查看 hongkou.log 的后5行
- 查看 hongkou.log 的 第6行到第13行
文件解压与压缩
- 进入 /tmp 目录下
- 将 /etc/man_db.conf/var/log/messages 这两个文件压缩为 hongkou.tar.gz
- 解压 hongkou.tar.gz 文件到 /root 目录下。
- 请问 /root 目录下有什么?
[root@VM-0-14-centos tmp]# cp /etc/man_db.conf /tmp/ [root@VM-0-14-centos tmp]# ls man_db.conf stargate.lock [root@VM-0-14-centos tmp]# cp /var/log/messages /tmp/ [root@VM-0-14-centos tmp]# ls man_db.conf messages stargate.lock [root@VM-0-14-centos tmp]# tar -zcvf hongkou.tar.gz man_db.conf messages man_db.conf messages [root@VM-0-14-centos tmp]# ls hongkou.tar.gz man_db.conf messages stargate.lock [root@VM-0-14-centos tmp]# tar -zxvf hongkou.tar.gz -C /root/ [root@VM-0-14-centos tmp]# cd /root/ [root@VM-0-14-centos ~]# ls etc man_db.conf messages var
3 人点赞
3





