一、实验名称
shell基础
二、实验目的
1.掌握cut、grep、awk、sed等命令的基本使用方法
2.掌握shell基础知识
三、实验内容
1.shell基础知识练习。
2.常用字符截取、字符处理命令使用。
四、实验步骤
1.cut命令
1.1通过echo和cut命令,读取系统环境变量PATH中的第三个路径。
1.2.如下图所示,通过export和cut命令读取文本”-x”之后的内容。
2.grep命令
2.1.通过last和grep命令,找出root出现的行。
2.2.通过last和grep命令,取出没有root的行。
2.3.通过last和grep命令,找出root出现的行,并取出第一列。
3.sort命令
3.1.对/etc/passwd第一栏信息从小到大排序。
3.2.对/etc/passwd第三栏按数字从小到大排序。
3.3.对/etc/passwd取出第一栏,并从大到小排序。
4.printf命令
4.1.新建students.txt文件,输入如下内容,用printf命令格式化输出文本内容。
4.2.结合printf和grep命令,去除第一行,分别以字符串、整数、小数点来显示文本。
5.awk命令
5.1.取出/etc/passwd文件中bash登录账户的账户名和UID。
5.2.如下图所示,读取系统各挂载分区占用率数字。
5.3.在5.2的基础上,找出占用率大于10%的占用率数字。
6.sed命令
6.1.新建students.txt文件,输入如下内容,通过sed命令,只输出文件第二行。
6.2.删除第二到第四行文本,但不修改文件本身。
6.3.在第二行后追加一行“Han 90 90 90 90”。
6.4.通过sed字符串替换功能,把VBird的英语成绩55分改成60分,并写入原文件。
7.用wc命令统计以上文本的行数、字符数、单词数。
8.read命令练习,输出如下内容:
9.查看/etc/profile、/etc/profile.d/*.sh、~/.bashrc_profile、~/.bashrc、/etc/bashrc文件内容,并使用vi编辑~/.bashrc文件,在文件末尾添加“echo "hello "$(whoami)”,退出并重新登录终端,记录下登录信息变化情况。
10.用vi新建文件test.sh,输入代码:
#!/bin/bash
echo "filename:$0"
for i in "$*"
do
echo "params: $i"
done
x=1
for y in "$@"
do
echo "param is:$y"
x=$(($x+1))
done
保存并退出。在终端sh test.sh $(seq 1 11),分析并记录输出内容。