码迷,mamicode.com
首页 > 系统相关 > 详细

shell编程

时间:2018-05-03 00:54:21      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:.sh   特殊字符   value   图形   账户   创建目录   分享   linux   编写   

一、实验目的
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编程

标签:.sh   特殊字符   value   图形   账户   创建目录   分享   linux   编写   

原文地址:https://www.cnblogs.com/Yogurt77/p/8983248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!