Linux实验——使用shell

实验五:使用shell

 

实验步骤

  1. 登录系统。

a.使用实验一创建的用户名和密码登录系统。

b.打开终端应用。

 

  1. 分别使用单条echo命令输出如下信息:

a.Hello World

b.Hello

World

c.”Hello World”

d.?*[]&();><

e.Filename: file?Option:all

 

答案:

aecho Hello World

becho -e “Hello\nWorld”

cecho ‘”Hello World”’ echo \"Hello world\"

decho ‘?*[]&();><’

eecho ‘Filename: file?Option:all’

 

  1. 使用echo命令和其它命令输出如下信息:

a.Current Date Time: [当前的日期和时间]。

   Current Directory Contents:

   [当前目录内容]

答案:

echo “Current Date Time: `date`”; echo “Current Directory Contents:”; ls

(注意:使用到命令置换和单行多命令两个知识点)

 

b.延迟5秒钟之后显示:I woke up。

答案:

sleep 5; echo “I woke up”

 

  1. shell变量与环境变量

a.创建变量MyNAME,赋值为自己的姓名字母缩写。

b.显示变量MyNAME的值。

c.将该变量变为环境变量。

d.在shell中执行bash,然后显示变量MyNAME的值。

e.重新打开一个终端应用,显示变量MyNAME的值。

答案:

aname=XXX

becho $name

cexport MyNAME

dbash

echo $MyNAME

(显示结果为XXX

e.新打开一个Terminal应用

echo $MyNAME

(显示结果为空)

 

  1. 登录配置文件

a.查看主目录中是否有.profile文件。

b.创建或修改.profile文件,以便每次登录时显示如下信息:

Hello World

Current Date and Time: [当前的日期和时间]

c.切换到虚拟终端3,登录后确认输出上述信息。

答案:

afind $HOME -name .profile

b.如果没有:

   cd

   cat > .profile

   echo Hello World

   echo “Current Date and Time: `date`”

   [ctrl-d]

   如果有:

   使用vi打开,在第一行前面加入:

echo Hello World

   echo “Current Date and Time: `date`”

 

  1. 进程管理

a.创建后台进程sleep 120;echo “Job done”。

b.创建后台进程vi numbers,查看其ID。

c.关闭后台进程sleep 120;echo hi。

d.关闭后台进程vi numbers。

e.切换到虚拟终端2,使用nohup创建后台进程sleep 10;echo “Job done”。执行ps命令,查看后台进程。

f.用[Ctrl-d]或exit命令退出虚拟终端2。

g.重新切换到虚拟终端2,登录。

h.执行ps命令,查看后台进程状况。

i.在当前主目录下查找nohup.out,并查看其内容,确认有Job done存在。

 

答案:

a(sleep 120;echo hi)&

bvi numbers&

cps (查看sleep进程pid

   kill sleep进程pid

dps (查看vi进程pid

   kill -9 vi进程pid  (只能强制关闭)

echvt 2

nohup bash -c ‘sleep 10;echo “Job done”’ &

ps

fexit

gchvt 2

hps

icd

find . -name nohup.out

cat nohup.out

 

  1. 高级命令

a.在主目录下创建文件contact,保存10个人的姓名、年龄和电话号码,姓和名之间用空格分隔,姓名、年龄、电话号码之间用Tab分隔。格式如下:

Zhang San           20          13504401234

Li Si                      15          13522434856

Wang wu             9            15808465237

……

 

b.使用sort命令,分别按名、姓和电话进行正向排序和反向排序。

c.使用grep命令在contact中查找姓Zhang的同学,以及135开头的电话的同学。

答案:

avi contact

b.按姓排序:sort contact                  sort -r contact

   按名排序:sort -k 2 contact           sort -k 2 -r contact

   按年龄排序:sort -k 3n contact     sort -k 3n contact | tac

cgrep Zhang contact

   grep -E “135[0-9]{8}” contact

 

  1. 环境变量

a.将PS1的值保存到文件ps1中,查看ps1内容。

b.修改shell提示符使之显示命令序号+”$”。

c.修改shell提示符使之显示shell名+”$”。

d.恢复PS1的值为ps1文件中的内容。

答案:

aecho $PS1 > ps1

   cat ps1

bPS1=”\!$”

cPS1=”\s$”

gPS1=$(cat ps1)

 

  1. 别名

a.查看当前shell中已定义的别名。

b.为ls -l --color创建别名ls。

c.在命令行输入ls,如何确定执行的是ls命令和ls别名。

d.对比ls和\ls两个命令的执行效果,说明其原因。

 

答案:

aalias

balias ls=ls -l --color

ctype ls

dls是别名,\lsls命令,斜线的作用是去转义

 

发布了58 篇原创文章 · 获赞 22 · 访问量 9852

猜你喜欢

转载自blog.csdn.net/zsd0819qwq/article/details/103868873
今日推荐