Linux实验报告.docx

上传人:b****8 文档编号:9339032 上传时间:2023-02-04 格式:DOCX 页数:19 大小:839.50KB
下载 相关 举报
Linux实验报告.docx_第1页
第1页 / 共19页
Linux实验报告.docx_第2页
第2页 / 共19页
Linux实验报告.docx_第3页
第3页 / 共19页
Linux实验报告.docx_第4页
第4页 / 共19页
Linux实验报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

Linux实验报告.docx

《Linux实验报告.docx》由会员分享,可在线阅读,更多相关《Linux实验报告.docx(19页珍藏版)》请在冰豆网上搜索。

Linux实验报告.docx

Linux实验报告

淮阴工学院

Linux实验报告

名字:

学号:

班级:

指导教师:

寇海洲

 

2017

6

 

承担实验1文件和目录操作

估计时间:

1小时30分钟目标:

熟悉函数、语法和一些基本的文件和目录的控制操作。

练习有效地组合这些命令完成一般的用户任务

实验准备:

安装了RedHatLinux可运行系统,有一个无特权用户student,密码:

student

1.1:

目录和文件组织场景/情节:

在用户的home目录下有一系列的文件,用户决定到时间整理一下。

用户计划生成一些新的子目录,然后根据用户的计划拷贝和移动这些文件到适当的目录;另外,这些文件不是都有用的,有一些是要删除掉的。

任务:

1.以用户名student密码student在tty1上登陆。

2.在用户登陆系统以后,用户将进入用户的home目录.用户可以使用“打印工作目录”检查这一情况

$pwd

/home/student

3.使用如下每条命令检查用户是否还有文件在用户的home目录下:

$ls

$ls-a

$ls–al

为什么第一和第二条命令返回不同的文件数?

第三条命令返回的在用户当前的home目录下最大的文件是多少?

用户的home目录下有子目录吗?

4.用户现在使用touch为以后的步骤建立文件。

这种扩展在接下来的命令中是如何工作的在以后的章节中进行讨论。

现在,仅仅按照下面的行键入就行了(在集合与集合之间使用包括花括号{}和下划线的字符)

$touch{report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}

5.使用命令ls检查最后一条命令的结果,用户会发现它在用户的home目录下生成了108个新的空文件(用户不必数)。

这些文件代表了用户将使用的在这个步骤中的代表的数据文件。

如果用户看不到这些文件,向教师寻找帮助,没有这些文件,该实验后面的步骤就无法进行。

6.为了组织用户的文件,用户必须先建立一些新目录,使用mkdir在用户的home目录中直接建立一些子目录:

$mkdira_reports

$mkdirseptemberoctobernovemberDecember

再使用ls检查用户的工作。

7.使用如下命令在用户的一个新的目录中生成一些附加子目录

$cda_reports

为了切换到目录,接下来:

$mkdir123

使用ls检查用户的子目录a_reports下的名为1,2,3的三个新的子目录。

8.首先把所有带”b”的报告从home目录中移出并且按月份分组,先验证要使用的复杂的通配符模式。

这样做以确保它对于正确的文件进行操作。

如果用户打算使用这种通配符模式,用户可以使用一个无害的命令来替换用户的命令。

$cd

$ls-l*dec?

b?

用户将看到列出了9个”december”,”b”文件,

把其中的一个移到december目录中:

$mvgraph_dec_b1december用下面的语句移动其余的:

$mv*dec?

b?

december

列出december目录的容验证移动操作是否成功:

$ls-ldecembertotal0

-rw-rw-r--1studentstudent0Sep1817:

45graph_dec_b1-rw-rw-r--1studentstudent0Sep1817:

45graph_dec_b2

-rw-rw-r--1studentstudent0Sep1817:

45graph_dec_b3

-rw-rw-r--1studentstudent0Sep1817:

45memo_dec_b1-rw-rw-r--1studentstudent0Sep1817:

45memo_dec_b2

-rw-rw-r--1studentstudent0Sep1817:

45memo_dec_b3

-rw-rw-r--1studentstudent0Sep1817:

45report_dec_b1-rw-rw-r--1studentstudent0Sep1817:

45report_dec_b2

-rw-rw-r--1studentstudent0Sep1817:

45report_dec_b3

9.把其余所有带”b”的报告分别移动到各自对应的目录中:

$mv*oct?

b?

october

$mv*sep?

b?

September

10.现在用户将把”a”报告收集到它们各自对应的目录中。

注意使用~代替“用户的home目录”。

通配

符和模式的组合指定了用户的home目录下所有以_a1结尾的文件。

$cda_reports

$mv~/*_a11/

“september””a1”文件旧并且不再需要,使用echo确定用户已经建立了一个只匹配该类文件

的模式,然后删除它们,并且检查剩下的”a1”文件是否正确移动:

$cd1

$echo*sep*$rm*sep*$lsgraph_dec_a1graph_oct_a1¥memo_nov_a1report_dec_a1report_oct_a1graph_nov_a1memo_dec_a1memo_oct_a1report_nov_a1

11.最后移动“a2”和“a3”报告到各自对应的目录中。

为了使过程变得有趣,我们将把它们移出当前目录,使用相对和绝对的的路径名。

第一步,使用pwd确定当前目录:

$pwd

/home/student/a_reports/1

用echo检查涉及到“a2”文件的模式,然后使用绝对路径名:

$echo/home/student/*a2*

$mv/home/student/*a2*/home/student/a_reports/2

即使用户当前在/home/student/a_reports/1目录下,也能把文件从/home/student移动到/home/student/a_reports/2目录中,因为用户指定了文件的路径名称(在本例中为绝对路径名称)现在使用相对路径移动“a3”文件。

再一次的,首先确信模式指定的是正确

的文件名称。

$echo../../*a3*

$mv../../*a3*../3

12.返回用户的home目录,并且使用ls来校验仅存在该目录中的文件都是

“c”文件(例如:

graph_dec_c1,graph_dec_c2,…)

13.“c1”和“c2”报告文件对于每个月来说都非常重要,并且用户打算把它们备份到另外一个目录:

$mkdir/tmp/archive

$cpreport*[12]/tmp/archive/

另外的,所有的对于十二月份的报告文件应该备份到/tmp/archice目录下

面。

注意,-i选项使得cp程序在覆盖任何文件之前进行提示:

$cp-ireport_dec*/tmp/archive/cp:

overwrite`/tmp/archive/report_dec_c1'?

ncp:

overwrite`/tmp/archive/report_dec_c2'?

n

14.现在用户备份了一些对用户重要的“c”文件,用户现在要删除位于用户的home目录下面所有的文件。

使用通配符“*c*”检查剩下的含有c的文件。

用户为什么不想执行命令rm*c*?

(作为提示:

尝试:

ls*c*)

15.删除用户的home目录下的剩余*c*文件。

在发出一个破坏性的命令之前我们再次使用echo命令。

$echo*c[1-3]$rm*c[1-3]$lsa_reportsdecembernovemberoctoberSeptember

实验的结果

一个组织良好的home目录,文件放置在合理的位置,一些文件备份到了

/tmp/archive目录中

 

实验2用户信息

估计时间:

30分钟目标:

熟悉一些用户标识和转换基本的控制操作。

实验准备:

安装了RedHatLinux可运行系统,并且是成功完成实验系统。

有另外一个无特权用户visitor,密码:

visitor的存在。

请教师检查用户的系统中是否已经建立这个。

如果这个visitor用户没有建立,按照以下步骤进行

1.用root登陆虚拟控制台。

2.在提示符下键入以下命令

#useraddvisitor

3.现在键入

#passwdvisitor

Changingpasswordforuservisitor。

Newpassword:

{输入visitor}

BADPASSWORD:

itisbasedonadictionarywordRetypenewpassword:

{输入visitor}passwd:

allauthenticationtokensupdatedsuccessfully。

2.1:

本地用户登陆任务:

1.完全从工作站中退出。

确定用户已经退出所有虚拟终端和XWindows系统

2.转换到虚拟终端1(tty1)通过按:

3.使用密码redhat进入root登陆用户的工作站

4.确定指定的登陆信息,使用下列命令:

#whoami

#groups

#id

检查这些命令的输出。

5.获取工作站当前所有登陆者信息,当前,应该只有一个用户登陆系统,按如下顺序键入的命令的输出是很有趣的。

#users

#who

#w

检查这些命令的输出。

6.转换到虚拟终端2(tty2)通过按

7.以用户student,密码:

student登陆用户的工作站。

8.获取指定登陆者的信息,运行下列命令:

$whoami

$groups

$id

检查这些命令的输出。

9.获取工作站上当前所有登陆者的信息:

$users

$who

$w

检查这些命令的输出。

10.转换到虚拟终端3(tty3)通过按

11.以用户visitor,密码:

visitor登陆用户的工作站

12.获取指定登陆者的信息,运行下列命令:

$whoami

$groups

$id

检查这些命令的输出。

13.获取工作站上当前所有登陆者的信息:

$users

$who

$w

检查这些命令的输出。

2.2:

切换任务:

1.按下如下的键切换到虚拟终端3(tty3)

2.运行id命令来决定用户的用户信息,pwd来喜爱能使用户目前的工作目录

$id$pwd

记录结果:

id=__________________________________________pwd=_________________________________________

3.使用su–来切换到root用户,运行id和pwd来获取用户的当前的目录

$su–

#id#pwd

记录结果:

id=__________________________________________pwd=_________________________________________

4.从root退出,返回到visitor

#exit

5.使用不含-的su切换到root用户,运行pwd和id。

$su

#id#pwd

记录结果:

id=__________________________________________pwd=_________________________________________为什么和第3步骤的结果不同呢?

6.登出所有用户在这个步骤中本地的和远程的shell。

实验4使用bashShell

估计时间:

45分钟

目标:

深入了解bashshell,包括创建定制。

实验准备:

一个RedHatLinux系统。

第一步:

使用Aliases任务:

1.用户决定创建一个alias,当用户使用cls的时候,系统能够运行clear命令清除用户的屏幕。

使用student身份在tty1登录,然后输入下列命令。

$aliascls=‘clear’

$alias

$cls

2.当用户重新登录的时候这个别名就丢失了。

确信新的别名在用户student每次登录的时候都能够使用,可以执行一下几步。

$cd

$vi.bashrc

查找包含下列的文字:

#Userspecificaliasesandfunctions添加到用户的别名命令行:

aliascls=‘clear’保存并退出。

3.测试用户的改变当用户注销的时候,重新登录到tty1上的时候,试下面的命令:

$alias

$cls

4.现在使用ls的manpage去创建一个叫lr的别名,利用ls的五个开关。

测试并添加用户的别名到.bashrc中.这个别名能够:

a)用长格式显示文件

b)显示隐含文件

c)给文件分类

d)用相反的顺序显示文件

e)按文件修改时间显示文件。

目标:

一条新的清屏命令和一条新的列文件命令(别名)。

4.2:

改变用户的bash提示情景/故事:

用户决定定制用户的bash提示以能够显示完全的路径和命令的序列号。

任务:

5.在终端窗口,显示当前主要提示符的值。

$echo$PS1

6.改变用户的提示符为一个字符串。

$PS1=’RedHatLinux->’

7.这个不常使用,因此恢复到有$提示符的情况下,同时加上主机名。

$PS1=‘\h$’

8.在主机名和$符号之间插入bash表示历史纪录提示符的特殊字符\!

9.查找bash的man手册,把当前的工作目录放入提示符中。

10.用户定制的提示符显示实例,如不同请继续修改。

station1:

~21$cd/tmp

station1:

/tmp22$

11.编辑用户重新定义的PS1到用户的.bashrc,然后打开新的终端窗口看看结果如何

4.3:

配置shell选项

情景/故事:

使用set和shopt用户定制几个bashshell。

任务:

12.以student身份登录tty1界面上.查看许多普遍的配置shell选项:

$set–oallexportoffbraceexpandonemacsonerrexitoffhashallon

…outputtruncated…

13.察看目前ignoreeof的属性,用ctrl+d键看是否能logout。

14.用student身份在tty1上登录,执行下面的改变,然后测试ignoreeof选项:

$set–oignoreeof

$

$用“logout”退出shell

$set+oignoreeof

$

15.当试图执行命令的时候可以看到提示信息.使用type的命令:

$typecat

catishashed(/bin/cat)

$typecls

clsisaliasedto‘clear’

$typeset

shoptisashellbuiltin

$typewhilewhileisashellkeyword结果:

现在用户有一个更好的shelloptions。

问题答案4:

命令替代1.确定完全路径名

$whichmetacity

$which.-message

$^message^window-demo

2.重复执行上一个包含字符串ig的命令:

$ig

3.当一个命令在另一个命令的后面用(‘’)起来的时候,bash会先执行后面的命令并把执行的结果作为第一个命令的输入。

使用这个技术,看看下面命令的执行结果

$ls–l‘whichnautilus‘

(end)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1