Linux中Shell基本命令的使用

转载:http://blog.sina.com.cn/s/blog_5b9cf70b0100bcfz.html


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

 

一、实验目的

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

二、实验内容

1、命令补全:

1)       在student用户家目录下建立子目录mlbq,在mlbq子目录中建立如下子目录:news、bin、games、mail、programs、test。

[root@localhost /]# cd home

[root@localhost home]# mkdir mlbq

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

[root@localhost mlbq]# ls

bin  games mail  news programes  test

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

[root@localhost mlbq]# cd test/

[root@localhost test]#

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

[root@localhost test]# cd ..

[root@localhost mlbq]# mkdir tools

[root@localhost mlbq]# cd test/

[root@localhost test]#

4)       在mlbq子目录下输入命令cdt<tab><tab>,出现什么结果。

[root@localhost mlbq]# cd t

test/  tools/

2、通配符:

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

[root@localhost mlbq]# touch ch1.doc ch2.doc ch3.doc ch4*ch5*

[root@localhost mlbq]# ls

bin     ch2.doc  ch4* games news      test

ch1.doc  ch3.doc ch5*  mail  programes  tools

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

[root@localhost mlbq]# ls *.doc

ch1.doc  ch2.doc  ch3.doc

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

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

ch1.doc  ch2.doc  ch3.doc

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

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

ch1.doc  ch2.doc  ch3.doc

3、命令历史记录:

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

[root@localhost mlbq]# history

  cd home

  mkdir mlbq

  cd mlbq

  news bin games mailprogrames test

  ls

  ls

  mkdir news bin games mailprogrames test

  ls

  cd t

  10  cd test/

  11  cd ..

  12  mkdir tools

  13  cd test/

  14  cd ..

  15  cd t

  16  touch ch1.doc ch2.docch3.doc ch4* ch5*

  17  ls

  18  ls *.doc

  19  ls ch?.doc

  20  ls ch[123].doc

  21  history

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

[root@localhost mlbq]# history 6

  16  ls

  17  ls *.doc

  18  ls ch?.doc

  19  ls ch[123].doc

  20  history

  21  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  ch1.doc  ch2.doc ch3.doc  ch4* ch5*  mail mygames  news programes  test  tools

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

[root@localhost mlbq]# unalias rename

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

[root@localhost mlbq]# rename mygames gaemes

[root@localhost mlbq]# ls

bin  ch1.doc ch2.doc  ch3.doc ch4*  ch5* mail  mygames news  programes test  tools

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

[root@localhost mlbq]# alias

alias copy='cp'

alias cp='cp -i'

alias dir='ls'

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

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

alias ls='ls --color=tty'

alias md='mkdir'

alias mv='mv -i'

alias rd='rmdir'

alias rm='rm -i'

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

5、输出重定向:

1)       列出mlbq子目录下的所有文件和子目录,并将显示结果输出保存到一个名为ls.out的文件中并显示ls.out文件的内容。

[root@localhost mlbq]# ls >ls.out

[root@localhost mlbq]# more ls.out

bin       ch1.doc   ch2.doc   ch3.doc

ch4*  ch5*   ls.out   mail

mygames news    programes  test   tools

2)       列出mlbq子目录下的所有扩展名是“.doc”的文件,并将结果追加到ls.out文件中并显示ls.out文件的内容。

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

[root@localhost mlbq]# more ls.out

bin   ch1.doc    ch2.doc     ch3.doc    ch4*      ch5*

ls.out     mail      mygames     news      programes

test    tools    ch1.doc     ch2.doc    ch3.doc

6、使用管道:                  

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

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

1

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

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

y

y

y

[1]+ Stopped                yes

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

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

[2]+  Stopped                yes>/dev/null

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

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

[3] 28022

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

[root@localhost mlbq]# jobs

[1]- Stopped                yes

[2]+ Stopped                yes >/dev/null

[3]  Running                yes >/dev/null &

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

[root@localhost mlbq]# kill %3

[root@localhost mlbq]# jobs

[1]- Stopped                yes

[2]+ Stopped                yes >/dev/null

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

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

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

[3]+ Stopped                yes

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

 

[4]+ Stopped                yes >/dev/null

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

[root@localhost mlbq]#fg %4

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

[root@localhost mlbq]#bg %3

9、作业顺序执行:

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

[root@localhost student]# cd mlbq

[root@localhost mlbq]# cd /home/student|pwd|ls

bin     ch2.doc  ch4* ls.out  mygames programes  tools

ch1.doc  ch3.doc ch5* mail   news    test

10、提示符:

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

[root@localhost student]# PS1=”\d”

12月四日

[root@localhost student]# PS1=”\u”

root

[root@localhost student]# PS1=”\h”

Host

[root@localhost student]# PS1=”\t”

5:10:20

三、实验总结

shell命令是Linux操作中的重要命令,掌握这些命令对学习Linux学习非常重要。

通过此次实验,我学会了使用shell命令(命令补全、通配符、输出重定向以及管道技术等),对Linux操作系统有了更多的了解。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值