Linux实验三

一、实验目的

  1. 练习并熟练掌握 shell 中通配符、管道线、重定向等特殊符号的用法
  2. 练习 shell 中正则表达式的用法
  3. 体验学习更多常用 linux 命令工具,尤其是和管道线、正则表达式等配合的组合使用
  4. 掌握 shell 中普通变量的基本用法
  5. 掌握 shell 脚本程序建立和执行的方法

二、实验准备

 

结合第章课件,学习/复习第章教材 4.1 ~4.5 节,具体包括:(1)shell 脚本建立和执行的方法(2)shell 特殊字符的用法

 

三、实验内容

 

  1. 练习 shell 中命令历史、别名、特殊字符用法(第 4.2 ~4.5 节)(必做)

         2.shell 命令应用练习(具体见实验步骤)(必做)

         3.编写一个 shell 脚本,使用种方式分别执行(具体见实验步骤)(必做)

   4.结合个人学习进度条,选择在 linux 环境下进行的新尝试和新探索(选做*)

 

四、实验步骤及实验结论

 

1. 练习 shell 中命令历史、别名、特殊字符用法(第 4 章 4.2 节~4.5 节)

 

 

2. shell 命令应用练习

 

(1)通过帮助信息查看,简述以下文件的用途

 

① /etc/passwd 用户账户信息

 

② /etc/shadow 可选的加密后的密码文件

 

③ /etc/group 组账户信息

 

④ /etc/gshadow 安全组账户信息

 

 

 

(2)依次输入如下命令,观察运行结果。结合 man id 查看到的帮助信息,指出每一条命令功能

 

① id                   显示真实有效的用户ID(UID)和组ID(GID)

 

② id -u              只显示用户ID

 

③ id -u root     查看root的用户ID

 

④ id -u jsj        查看用户hadoop的用户ID

 

此处,jsj 可用您自己电脑所安装系统中任何账号替换测试

 

 

(3)在 shell 命令终端依次输入以下命令,观察执行结果,理解每条命令实现的具体功

 

 

 

① which python whereis python locate python

 

find /usr/bin -name python

 

(说明: which, whereis, locate, find 都具有检索的功能,结合执行结果,查找帮助信息,总结其区别)

Which    查看可执行文件的位置

Whereis  查看文件的位置

Locate   配合数据库查看文件位置

Find     实际搜寻硬盘查询文件名称

 

② grep

-n

-E

'root|jsj|^user*'  /etc/passwd  (提示:扩展正则表达式)

grep

-n

-E

' [[:digit:]] '

/etc/passwd

grep

-n

-E

' [[:alpha:]] '

/etc/passwd

grep

-n

'[0-9]\{4,\}'  /etc/group (提示: 在用户组文件中查找 GID 是 4 位数

 

及以上的组信息记录)

 

(说明:带选项-E 的表示扩展的正则表达式;不带选项-E 的是普通的正则表达

 

式)

grep命令可通过正则表达式搜索文本,并打印匹配到的行

选项-n可打印行号

-E可使用多个正则表达式。

 

③ sudo apt install gimp which gimp

 

sudo apt remove gimp which gimp

 

sudo apt-get install gimp命令可安装gimp

sudo apt -get remove gimp命令可卸载gimp

which gimp用于查看文件的位置。

 

 

④ ls -dl /root --time-style=long-iso

 

ls -dl /root --time-style=long-iso | cut -d' ' -f1,8

 

(说明:cut 命令的选项-d 后引号里有空格;提示和前一行结果对比观察)

 

 选项-d可自定义分隔符

-f显示指定的域中的内容

上述命令指定空格为分隔符,显示第1和第8个域中的内容。

⑤ ls -l --time-style=long-iso ls -l --time-style=long-iso -t

 

ls -l --time-style=long-iso -t -r (说明:依次执行,对比观察,结合帮助选项) 

-t -r分别按正序倒序显示

⑥ ls /usr/share/man

 

ls /usr/share/man | grep man[1-8] ls /usr/share/man/man1

 

file /usr/share/man/man1/ls.1.gz(结合执行结果,review2.8.1 节 gzip 命令内容)

 

mkdir ~/temp; cp /usr/share/man/man1/ls.1.gz ~/temp

 

cd ~/temp; ls

 

sudo gzip -d ls.1.gz; ls

 

(说明:依次执行,结合前后指令执行结果,理解指令功能;关于 gzip 命令,可参考 2.8.1 节理解)

file命令可识别文件类型,然后创建新目录temp,将ls.1.gz拷贝至temp目录

gzip命令是进行解压。

⑦ ls –l /home | grep "^d" | wc –l

ls-l查找在 /home目录下的文件

grep  “^d”过滤行开头为d的文件

wc -l统计行数

 

⑧ sudo adduser user7

 

ls /home | tee users | wc -l (提示:输入 cat users 观察该文件内容)

sudo adduser命令添加新用户

(4)根据要求写出相应的 shell 命令

 

① 在目录/usr/include 下搜索文件 signal.h 是否存在 (提示: find 命令)

 

② /usr/include 目录下的所有文件中查找包含 BUFSIZ 的行,并显示所在行号。

 

要求:屏幕上只显示查找到的结果,过滤错误信息。

 

(提示:① 利用 grep 和通配符*;②利用错误信息重定向和特殊设备文件/dev/null)

 

③ 在用户名密码文件/etc/passwd 中查找登录 shell  bash 的用户信息记录,并显

 

示行号

 

(提示:使用 grep 和正则表达式中的$)

 

④ /etc/group 文件中截取第列(组名)和第列(组 id),并按照组 id 号的数值大小由小到大排序。(提示:综合使用 cut, 管道线及 sort 命令)

 

(提交文档时,写出其实现的功能的命令及截图,包括命令和结果在内的截图)

 

(5)体验 awk, sed 用法:依次执行命令,观察执行结果

 

① cp /etc/apt/sources.list t1; less t1

 

② sed -e "s/#.*//g" t1

 

③ sed -e "s/#.*//g" t1 | awk '{if (length != 0) print $0}' ④ tail -5 /etc/passwd | awk -F: '{print $1}'

 

⑤ tail -5 /etc/group | tee t2

 

awk 'BEGIN{print "file t2"} {print "line" NR ":" $0} END {print "over"}' t2

总结:

1. /etc/apt/sources.list是包管理工具apt所用的记录

2.sed可将字符进行替换,上图练习中将hello替换为bye

3.行匹配语句awk ‘’只能用单引号

   每行按空格或tab分割,输出文本中指定项

   awk -F: -F相当于内置变量FS,指定分割字符

 

(6)查阅网络或帮助,体验命令 curl  wget 用法。

curl是一个利用URL规则在命令行下工作的文件传输工具,是一款很强大的http命令行工具,它支持文件的上传和下载,是综合传输工具。

 

wget是一个下载文件的工具,它用在命令行下.wget工具功能完善,支持断点下载功能,同时支持FTPHTTP下载方式,支持代理服务器和设置起来方便简单。

3. 编写一个 shell 脚本,使用 4 种方式(参见第 4 章教材/课件)分别执行。(1)练习 1

 

步,使用 vi/vim/gedit 或其它编辑器,编写 shell 脚本 ex1.sh,内容如下:

 

该脚本的功能是,备份当前目录下最近天以内(即 24 小时内)被修改过的普通文件。以 backup 系统当前日期时间为文件名,并压缩存档。备份过程中出错信息写入 error_info。

然后分别查看备份文档和报错信息。

 

步,尝试第章介绍的四种方式,运行该脚本,并理解本例中综合使用的 shell 

 

令。

 

 

(2)练习 2

 

步,使用 vi/vim/gedit 或其它编辑器,编写 shell 脚本 ex2.sh,内容如下:

 

尝试第章介绍的四种方式,运行该脚本。

 

若提示“找不到文件 major_code.txt”,请将公邮实验文件夹中的 major_code.txt 拷贝至 ex1.sh

 

所在目录,重新执行一次。

 

注:文件 major_code.txt,请不要做任何改动,包括格式。

 

结合运行结果,分析脚本代码,在实验报告中总结以下内容:

 

① 写出 line3  read 命令选项-n11 功能

 

② 写出 line14 的功能

 

五、总结与体会

 

本次实验,练习了许多shell命令以及各种用法,需要花时间练习巩固掌握

 

转载于:https://www.cnblogs.com/wangtao99/p/8983287.html

一、 实验目的 1、通过实验了解和熟悉Linux系统管理; 2、掌握用户和组管理命令; 3、掌握软件包安装命令和步骤; 4、掌握网络通信管理命令; 5、掌握进程管理命令; 6、掌握系统的服务管理命令; 7、掌握磁盘操作管理命令。 二、 开发工具和运行环境 1、虚拟机VMware 2、Linux操作系统 实验内容 1、了解和熟悉Linux系统管理 2、用户和组管理命令 (1)帐户管理命令: useradd、 usermod、 passwd、userdel (2)组帐户管理命令: groupadd、 groupdel. gpasswd 3、软件包安装命令和步骤 (1) RPM 包的安装 安装RPM包的基本命令格式是: rpm -ivh (2) RPM 包的删除 删除RPM包的基本命令格式是: rpm -e (3) RPM 包的查询 rpm - qa (4) RPM 包的升级 升级RPM包的基本命令格式是: rpm -Uvh (5) RPM包的验证 验证RPM包的基本命令格式是: rpm -V [参数] (6)建立TAR包 有两种方式: -种是建立普通的TAR包,只打包,不压缩 tar cvf 另一种是打包并压缩,选项是“zcvf”,其中“z”代表使用“gzip” 程序 进行文件的压缩 tar zcvf (7)查询TAR包 在释放TAR包之前,查看TAR包中的文件内容。其格式如下: tar ztf (8)释放TAR包 它也分为解非压缩和压缩包两种方式,命令格式如下: tar zxvf 4、网络通信管理命令 (1)hostname命令:显示及设置主机名。 (2)ifconfig命令:显示当前活动的(或指定的)网卡设置。 其格式为: ifconfig [网卡设备名] 重新设置网卡的IP地址,-般由root用户进行设置。其格式为: Ifconfig 网卡设备名 IP 地址 (3) ping命令:网络测试命令 ping [-c报文数] 目的主机地址 (4)write命令:时给其他用户发送消息 write username [tty] (5)wall命令:以广播方式向系统中的所有用户发送消息 wall message (6)mail 命令:双方用户不同时在线时,使用mai发送和接收消息 mail username mail -s topic username<filename 查看邮件使用mail命令,输入邮件编号以查看邮件 5、进程管理命令 (1)at命令:定时任务命令 (2)ps命令:进程查看命令 ps -ef ps -axu (3)free命令:显示系统内存的使用情况,包括内存总量、已经使用内存数量,空闲内存数量等信息。 (4) top命令:时监控系统进程。 (5)sleep 命令:用于使进程延迟一段时间再执行。 其格式为: sleep time; command (6)kill命令:来杀死程序产生的进程来结束程序的运行。 格式1 : kill PID 格式2 : kill -9 PID “-9”为SIGKILL信号,属于强制结束 (7)前台与后台运行相关命令 command、command & 6、系统的服务管理命令 (1) runlevel 命令:显示系统当前和上一次的运行级别 (2) init 命令:转换服务的运行级别 init n (3)systemctl 命令:系统服务管理 查看系统服务启动状态。其格式: systemctl list-unit-files --type service 列出所有处于激活状态的服务。其格式为: systemctl list-units --type service --all 服务状态控制。其格式: systemctl [status/start/stop/ restart/reload] name.service 服务开机自启控制。其格式: systemctl [enable/di sable] name.service 7、磁盘操作管理命令 (1)查看系统磁盘分区情况命令: Fdisk -l (2)使用命令手工挂载 mount命令:查看所有挂载设备 mount [-t fs-type] [-o option] device mountpoint 例: mount /dev/cdrom /mnt/cdrom (注意,先要建立挂载目录,并保证设备存在) (3)卸载 umount [device] [dir]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值