admin管理员组

文章数量:1532764

2023年12月27日发(作者:)

《操作系统与Linux》实验报告

实验名称: 实验二 Linux中Shell基本命令的使用

实验日期: 2011年11月2日

班 级: B09513

学 号: 2

姓 名:王晓珍

计算机号:一、实验目的

1.掌握Shell基本命令的使用方法(命令补全、通配符、历史记录、别名、输出重定向、使用管道、作业控制)。

二、实验内容

1、命令补全:

1) 登录后进入home目录并建立子目录mlbq,在mlbq子目录中建立如下子目录:news、bin、

games、mail、programs、test。

[root@localhost ~]# cd ..

[root@localhost /]# cd home

[root@localhost home]# mkdir mlbq

[root@localhost home]# cd mlbq

[root@localhost mlbq]# mkdir news bin games mail programs test

2) 通过命令补全功能只输入字母t进入test子目录。

[root@localhost mlbq]# cd test/

3) 在mlbq子目录中再建立一个子目录tools,如何通过命令补全功能进入test子目录。

[root@localhost test]# cd ..

[root@localhost mlbq]# mkdir tools

[root@localhost mlbq]# cd test/

[root@localhost test]#

4) 在mlbq子目录下输入命令cd t,出现什么结果。

[root@localhost mlbq]# cd t

test/ tools/

2、通配符:

1) 在mlbq子目录中通过touch命令建立如下文件:、、、ch4*、ch5*。

[root@localhost mlbq]# touch

[root@localhost mlbq]# touch ch4* ch5*

[root@localhost mlbq]# ls

bin ch4* games news test

ch5* mail programs tools

2) 通过通配符“*”列出mlbq子目录中所有文件扩展名为“.doc”的文件。

[root@localhost mlbq]# ls *.doc

3) 通过通配符“?”列出mlbq子目录中、和三个文件。

[root@localhost mlbq]# ls ch?.doc

4) 通过通配符“[…]”列出mlbq子目录中、和三个文件。

[root@localhost mlbq]# ls ch[123].doc

3、命令历史记录:

1) 显示当前系统中所有命令历史记录。

[root@localhost mlbq]# history

1 vim wangge

2 vim wangge

3 vim wang

4 cd /home

5 gcc -o producer producer.c

6 gcc -o customer customer.c

7 ./producer

8 ./customer

9 clear

10 cd /home

11 gcc -o producer producer.c

12 clear

13 gcc -o producer producer.c

2) 显示当前系统中最近6条命令。

[root@localhost mlbq]# history 6

144 ls

145 ls *.doc

146 ls ch?.doc

147 ls ch[123].doc

148 history

149 history 6

4、别名:

1) 将Linux下的命令ls、cp、mv、mkdir和rmdir分别命名为别名dir、copy、rename、md和

rd。

[root@localhost mlbq]# alias dir='ls'

[root@localhost mlbq]# alias copy='cp'

[root@localhost mlbq]# alias rename='mv'

[root@localhost mlbq]# alias md='mkdir'

[root@localhost mlbq]# alias rd='rmdir'

2) 使用rename命令将mlbq子目录中的games子目录重命名为mygames。

[root@localhost mlbq]# rename games mygames

[root@localhost mlbq]# ls

bin ch4* mail news test

ch5* mygames programs tools

3) 取消rename命令的别名功能。

[root@localhost mlbq]# unalias rename

4) 再次使用rename命令将mlbq子目录中的mygames子目录重命名为games,是否能够实现。

[root@localhost mlbq]# rename mygames games

[root@localhost mlbq]# ls

bin ch4* mail news test

ch5* mygames programs tools

5) 列出当前系统中所有已经定义的别名。

[root@localhost mlbq]# alias

6) alias cp='cp -i'

7) alias df='df -x subfs'

8) alias dir='ls'

9) alias l.='ls -d .* --color=tty'

10) alias ll='ls -l --color=tty'

11) alias ls='ls --color=tty'

12) alias mv='mv -i'

13) alias rm='rm -i'

14) alias vi='vim'

15) alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

5、输出重定向:



列出mlbq子目录下的所有文件和子目录,并将显示结果输出保存到一个名为的文

[root@localhost mlbq]# ls >

[root@localhost mlbq]# more

bin

ch4*

ch5*

mail

mygames

news

programs

test

tools

中并显示文件的内容。



列出mlbq子目录下的所有扩展名是“.doc”的文件,并将结果追加到文件中并显

[root@localhost mlbq]# ls *.doc >>

[root@localhost mlbq]# more

bin

ch4*

ch5*

mail

mygames

文件的内容。

6、使用管道:

通过管道技术查找/etc/passwd文件中包含字符串“root”的文件行的行数。

[root@localhost mlbq]# cat /etc/passwd |grep "root"|wc -l

2

7、后台运行作业和撤消作业:

1) 在当前命令提示符下输入yes命令,观察屏幕现象后终止此进程。

y

y

y

y

y

y

[2]+ Stopped yes

2) 将yes命令的输出重定向到/dev/null文件中,观察屏幕现象后终止此进程。

[root@localhost mlbq]# yes >/dev/null

3) 再次执行将yes命令的输出重定向到/dev/null文件中,并将此进程放到后台执行,记录下作业号和进程标识符。

[root@localhost mlbq]# yes >/dev/null&

[4] 4064

4) 通过jobs命令查看当前系统进程运行情况。

[root@localhost mlbq]# jobs

[1] Stopped more

[2]- Stopped yes

[3]+ Stopped yes >/dev/null

[4] Running yes >/dev/null &

5) 通过作业号或者进程标识符撤消刚才放入后台运行的作业。

[root@localhost mlbq]# kill %3

[3] 已终止 yes >/dev/null

8、中止作业和重新启动作业:

1) 在当前命令提示符下输入yes命令,并将输出重定向到/dev/null文件中。暂时中止此命令,

观察屏幕显示。

y

y

y

y

[5]+ Stopped yes

[root@localhost mlbq]# yes >/dev/null

[6]+ Stopped yes >/dev/null

2) 重新启动上一步暂时中止的命令,并将其放入前台执行。

[root@localhost mlbq]# fg %6

yes >/dev/null

3) 再次暂时中止此命令,并将其放入后台执行。

[root@localhost mlbq]# bg %6

[6]+ yes >/dev/null &

9、作业顺序执行:

在当前目录下返回到/home/student目录下,显示/home/student目录的绝对路径,并列出/home/student目录下的目录内容。通过一个命令行实现,并观察输出结果。

[root@localhost mlbq]# cd ..

[root@localhost home]# mkdir student

[root@localhost home]# cd /home/student;mkdir text;ls -l

总用量 4

drwxr-xr-x 2 root root 4096 11月 2 09:36 text

10、提示符:

1) 更改命令提示符为“Please enter a command:”。

[root@localhost student]# PS1="Please enter a command"

Please enter a command

2) 分别更改命令提示符为当前日期、当前时间、主机名和当前用户的用户名。

PS1="d"

三 11月 02

PS1="h"

localhost

PS1="t"

09:42:20

PS1="u"

root

PS1="w"

/home/student

三、实验总结

通过本次实验,更加了解了Linux系统的功能和操作,这次实验主要是熟练地掌握了Shell基本命令的使用方法,包括命令补全的操作方法、通配符的使用方法、历史记录的使用方法、别名、输出重定向、使用管道,作业控制的使用方法以及给命令重命名的方法。通过实际操作,充分的把理论知识应用于实践。

本文标签: 命令使用实验