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*
mygames
news
programs
test
tools
中并显示文件的内容。
列出mlbq子目录下的所有扩展名是“.doc”的文件,并将结果追加到文件中并显
[root@localhost mlbq]# ls *.doc >>
[root@localhost mlbq]# more
bin
ch4*
ch5*
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基本命令的使用方法,包括命令补全的操作方法、通配符的使用方法、历史记录的使用方法、别名、输出重定向、使用管道,作业控制的使用方法以及给命令重命名的方法。通过实际操作,充分的把理论知识应用于实践。
版权声明:本文标题:《操作系统原理与Linux》实验二 Linux中Shell命令的使用 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1703652410a65209.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论