一、项目简介
Linux 是常用的服务器操作系统。测试工程师通常需要连接系统进行环境部署,查看日志等操作。
1.1 知识点
- 远程登录 Linux 系统
- Linux 系统文件处理命令
- Linux 统计命令
- Linux 性能统计命令
- Linux 进程查询
- Linux 三剑客之 awk
- Linux 三剑客之 grep
- Linux 三剑客之 sed
- Bash 编程
1.2 受众
- 高级测试工程师
1.3 作业要求
- 登录 Linux 系统:
- 学员练习系统:账号密码参考入学须知贴。
- 完成以下操作
-
- 创建新目录。
-
- 切换到新目录下。
-
- 创建新文件,在新文件中添加内容。
-
- 查看新文件中的内容。
-
- 修改新文件权限为可读、可写、可执行。
-
- 查看当前目录。
-
- 查询 Linux 系统负载与进程。
- 查询 Linux 系统内存使用数据并保存到文件中。
- 统计内存数据文件的字节数。
- 对内存数据文件的每一行按 ASCII 码值降序排列并去重。
- 查询 Linux 系统进程列表快照。
- 统计
/home
目录下不同用户的普通文件的总数是多少。 - 统计
netstat -anp
状态为 LISTEN 和 CONNECT 的连接数量分别是多少。 - 使用 bash 实现自动创建目录并生成文件。
- 使用 bash 判断目录是否存在。
二、实现过程
- 登录 Linux 系统:
- 完成以下操作
-
- 创建新目录。
-
- 切换到新目录下。
-
- 创建新文件,在新文件中添加内容。
-
- 查看新文件中的内容。
-
- 修改新文件权限为可读、可写、可执行。
-
- 查看当前目录。
-
- 查询 Linux 系统负载与进程。
-
top
命令:显示系统的实时进程和负载信息。-
-b
命令:以批处理模式运行,用于重定向输出。 -
-n
命令:运行次数。 -
head -n
命令:显示行数。
-
-
-
uptime
命令:显示系统的运行时间、用户数和平均负载。
- 查询 Linux 系统内存使用数据并保存到文件中。
-
free
命令:显示系统的内存使用情况。 -
-m
选项表示以 MB(兆字节)为单位显示内存。
-
- 统计内存数据文件的字节数。
-
stat
命令:显示文件的详细信息。 -
-c %s
选项:仅显示文件的大小(以字节为单位)。
- 对内存数据文件的每一行按 ASCII 码值降序排列并去重。
因数据量少,排序效果不佳,故尝试追加读取内存数据,再重新排序:
-
查询 Linux 系统进程列表快照。
-
ps
命令:显示当前运行的进程。 -
aux
选项:显示所有用户的所有进程,包括详细信息。
-
- 统计
/home
目录下不同用户的普通文件的总数是多少。-
find
命令:在指定目录下查找文件。 -
-type f
选项:仅查找普通文件。 -
wc -l
命令:统计行数。
-
- 统计
netstat -anp
状态为 LISTEN 和 CONNECT 的连接数量分别是多少。-
netstat
命令:显示网络连接和端口。 -
-anp
选项:显示所有连接和监听端口,包括进程信息。 -
grep LISTEN
:过滤出状态为 LISTEN 的行。
-
- 使用 bash 实现自动创建目录并生成文件。
#!/bin/bash
# 自动创建目录并生成文件的脚本
dir_name="auto_created_dir"
file_name="auto_created_file.txt"
# 检查目录是否存在,不存在则创建
if [ ! -d "$dir_name" ]; then
mkdir "$dir_name"
echo "文件夹 $dir_name 创建成功。"
else
echo "文件夹 $dir_name 已存在。"
fi
# 切换到新目录并创建文件
cd "$dir_name"
if [ $? -eq 0 ]; then
echo "文件创建成功。" > "$file_name"
echo "文件 $file_name 创建至 $dir_name 文件夹中。"
else
echo "修改文件夹为 $dir_name 失败。"
exit 1
fi
- 使用 bash 判断目录是否存在。
#!/bin/bash
# 指定要检查的目录名称
dir_name="check_dir"
# 检查目录是否存在
if [ -d "$dir_name" ]; then
echo "文件夹 $dir_name 已存在。"
else
echo "文件夹 $dir_name 不存在。"
fi