shell编程
Posted yogurt77
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程相关的知识,希望对你有一定的参考价值。
一、实验目的
1. 练习并熟练掌握 shell 中通配符、管道线、重定向等特殊符号的用法
2. 练习 shell 中正则表达式的用法
3. 体验学习更多常用 linux 命令工具,尤其是和管道线、正则表达式等配合的组合使用
4. 掌握 shell 中普通变量的基本用法
5. 掌握 shell 脚本程序建立和执行的方法
二、实验准备
结合第 4 章课件,学习/复习第 4 章教材 4.1 节~4.5 节,具体包括:
(1)shell 脚本建立和执行的方法
(2)shell 特殊字符的用法
三、实验内容
1. 练习 shell 中命令历史、别名、特殊字符用法(第 4 章 4.2 节~4.5 节)
1) 显示历史命令
语法格式为history[opyion][arg...]
①如果不带参数,则显示历史命令清单
②如果后面给出一个正整数m,则显示最后m行
2)定义别名
语法格式:alias[name[value]]...
3) shell特殊字符
1.3.1 引号
引号分为三种:单引号、双引号和倒引号
① 倒引号内的字符会被当做shell命令,会进行置换处理
② 单引号内的字符都当做普通字符处理
③ 双引号内的字符除了$、倒引号(`)、反斜线(\\)、感叹号(!)外,均作为普通字符处理
1.3.2 输入/ 输出重定向符
输入重定向:
输出重定向:
2. 练习 shell 中正则表达式的用法
1)简述以下文件的用途
① /etc/passwd:用户账户信息
② /etc/shadow:安全用户账户信息
③ /etc/group:组账户信息
④ /etc/gshadow:安全组账户信息
2)指出每一条命令的功能
① id 打印真实有效的用户和组ID
② id -u 仅打印有效的用户ID
③ id -u root 仅打印root用户的ID
④ id -u wt 打印wt用户的ID
3) 观察以下命令执行结果,理解其功能
2.3.1
which 查看可执行文件的位置
whereis 查看文件的位置
locate 配合数据库查看文件位置
find 实际搜寻硬盘查询文件名称
2.3.2
grep -n -E ‘root|jsj|^user*‘ /etc/passwd 显示目录下以root、jsj、user开头的记录
grep -n -E ‘ [[:digit:]] ‘ /etc/passwd 显示目录下数字字符记录
grep -n -E ‘ [[:alpha:]] ‘ /etc/passwd 显示目录下文字字符记录
grep -n ‘[0-9]\\{4,\\}‘ /etc/group 在用户组文件中查找GID 是4 位数及以上的组信息记录
2.2.3
gimp:Linux下的图形处理工具
2.3.4
2.3.5
ls -l --time-style=long-iso 按详细时间格式显示当前目录下详细信息
ls -l --time-style=long-iso -t 按详细时间从先到后排序
ls -l --time-style=long-iso -t -r 按详细时间从后到先排序
2.3.6
ls /usr/share/man 列出该目录下信息
ls /usr/share/man | grep man[1-8] 列出该目录下man1-man8的信息
ls /usr/share/man/man1 列出该目录下信息
file /usr/share/man/man1/ls.1.gz 列出目录下信息
mkdir ~/temp; cp /usr/share/man/man1/ls.1.gz ~/temp 在当前目录下创建目录并把压缩文档拷贝过去
cd ~/temp; ls 进入目录
sudo gzip -d ls.1.gz; ls 解压文件
2.3.7
统计/home目录下以d开头的记录的行数
2.3.8
sudo adduser user7 创建一个新用户
ls /home | tee users | wc -l 统计用户数量
3 编写与执行shell脚本
1) 编写并执行脚本ex1.sh
方式1:bash< 脚本名
方式2:bash filename [参数]
方式3:filename
方式4:. filename
2) 编写并执行脚本ex2.sh
方式1:bash< 脚本名
3) 总结脚本代码中以下内容
① ex2.sh的Line3中read命令选项-n11功能:从输入中读取11个字符,读取后自动结束输入。
② ex2.sh的Line14的功能:根据上面得出的专业代号code在filename("major_code.txt")中搜索对应的行并把结果重定向到他
中。然后将t1中的内容重定向到major中当做输入。
4.总结
这次实验我练习了shell命令中的特殊字符,我还学会了使用一些命令工具。
以上是关于shell编程的主要内容,如果未能解决你的问题,请参考以下文章
Shell编程Shell中for循环while循环until循环语句