简述一条shell命令在Linux系统中的实现过程。

题目

简述一条shell命令在Linux系统中的实现过程。

参考答案和解析
正确答案: 一条shell命令在Linux系统中的执行过程基本上按照如下步骤:
①读取用户由键盘输入的命令行。
②分析命令,以命令名作为文件名,其他参数改造为系统调用execve()内部处理所要求的形式。
③终端进程调用fork()建立一个子进程。
④终端进程本身用系统调用wait4()来等待子进程完成(如果是后台命令,则不等待)。当子进程运行时调用execve(),子进程根据文件名(即命令名)到目录中查找有关文件(这是命令解释程序构成的文件),调入内存,执行这个程序(即执行这条命令)。
⑤如果命令末尾有&号(后台命令符号),则终端进程不用执行系统调用wait4(),而是立即发提示符,让用户输入下一个命令,转步骤(1)。如果命令末尾没有&号,则终端进程要一直等待,当子进程(即运行命令的进程)完成工作后要终止,向父进程(终端进程)报告,此时终端进程醒来,在做必要的判别等工作后,终端进程发提示符,让用户输入新的命令,重复上述处理过程。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在Linux中,命令解释器是哪个()

A.管道

B.分级文件系统

C.字符型处理器

D.shell


正确答案:D

第2题:

以下说法错误的是()。

A.shell具有命令补全功能,输入命令时,可以使用“TAB”键进行命令补全

B.在shell界面,可以使用“向左”方向键重新显示刚执行的命令

C.Linux中允许在一个命令行输入多个命令,用分号将各个命令隔开

D.Linux中允许几个命令行中输入一个命令,用分号将一个命令行持续到下一行


正确答案:BD

第3题:

Shell是一种Linux操作系统中的命令行解释程序。()

此题为判断题(对,错)。


参考答案:正确

第4题:

小明在操作linux系统时,需要重启Linux系统,下列能实现重启的命令是()。

  • A、init6
  • B、reboot
  • C、shutdown-rnow
  • D、exit

正确答案:A,B,C

第5题:

在Linux shell中,下面哪个变量代表的是shell程序命令的程序文件名。()

A. $#

B. $*

C. $0

D. $$


参考答案C

第6题:

Red Flag Linux 4.0提供了DHCP配置工具,在命令行或Shell提示符下应输入什么命令启动该工具?


正确答案:rfdhcp。
rfdhcp。 解析:在DHCP工作过程中,客户端是通过如下手段得到IP地址的。当DHCP启动时,TCP/IP初始化并且由客户端发送一个DHCP DISCOVER的报文向DHCP服务器申请一个IP。DHCP服务器收到 DHCP DISCOVER后,从客户端主机的地址池中为它提供一个尚未被分配的IP地址。该报文信息被返回到上述主机。客户端随后发出一个包含有DHCP服务器提供IP地址的DHCP REQUEST的报文。DH- CP服务器向客户端发回一个含有原先被发出IP地址及其分配方案的应答报文。DHCP服务器提供给客户端的IP地址是有时间限制的, DHCP客户端要想继续使用这个IP地址,必须在租期结束前对它进行更新和续借。
配置DHCP服务器的过程如下。
DHCP服务器是通过程序/usr/sbin/dhcpd提供的。在DHCP服务器启动时,dhcpd要读取dhcpd.conf文件的内容(dhcpd.conf保存的是 DHCP服务器的配置信息)。dhcpd将客户端租用的信息保存在dhcpd. lease文件中。在DHCP服务器为客户提供IP地址之前,将在这个文件中记录租用的信息。新的租用信息会添加到dhcpd.lease的尾部。为了向一个子网提供DHCP服务,dhcpd需要知道子网的网络号码、子网掩码和地址范围等。
DHCP服务器配置文件内容如下。
文件名:/etc/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0{range 192.168.0.10 192.168.0.30;default-lease-time 86400;max-lease-time 604800;option subnet—mask 255.255.255.0;option routers 192.168.0.2;option domain -name“cy. com”;option broadcast-address 192.168.0.255;option do- main-name-servers 192.168.0.3;}
其中subnet ×.×.×.×说明IP地址是否属于该子网;netmask ×.×.×.×提供子网的一些参数;range ×.×.×.× ×.×.×.×是DH-CP服务器可以分配的IP地址范围;default-lease-time设置缺省的IP租用时间,常用的是86400秒(一天);max-lease-time是最大租用时间,常用的是604800(一周);option subnet-mask设置IP地址的子网掩码;option routers设置在DHCP发布IP地址的同时,把网关发布出去,这一项是用来指明网关的;option broadcast-address设置该子网的广播地址;option domain-name-servers设置DNS服务器IP地址option do- main-name “cy. com”设置DNS域名。
dhcpd还可以把主机的MAC地址和IP捆绑在一起,防止IP地址的乱用。具体方法是在/etc/dhcpd.conf中输入:
Host pcc{ hardwareEthernet× ×. ××,× ×.× ×. × ×.× × fixed-address 192.168.0.9;}
Hostpcc中的pcc是指定主机的名字;hardware Ethernet指定要捆绑的IP地址主机的MAC地址;fixed-address指定捆绑后的IP地址。
配置文件已经有了,但还是不能启动dhcpd,因为还没有创建关于 dhcpd的租用文件。
现在创建dhcpd.cease文件。
#toouch/var/init.d/dhcp/dhcpd.cease
然后启动dhcpd。
#/etc/rc.d/init.d/dhcpd start
如果希望在每次启动系统的时候也启动dhcpd,执行命令。
#/sbin/chkconfig-level 3 dhcpd on
cdhkconfig命令是检查、设置系统的各种服务。参数level<等级代号>指定该系统服务要在哪一个执行等级中开启或关闭,范围是0~7。然后在Linux客户端进行设置,netconf在网络设置中把IP地址的获得设置为DHCP。DHCP服务器的配置就完成了。
一个DHCP配置文件的主要内容:
subnet 200.117.207.0 netmask 255.255.255.0
{
range 200. 117.207.10 200.117.207.100;
range 200.117.207.110 200.117.207.200;
允许DHCP服务器分配两段地址范围给客户,200.117.207.10~100或者200.117.207.100~200。
default-lease-time 86400;
max-lease-time 604800;
如果客户不继续请求DHCP地址,则86400秒后释放IP地址,否则最大允许租用的时间为604800秒。
option subnet-mask 255.255.255.0;
option routers 200.1 1 7.207.1;
option domain-name"myuniversity.edu.cn”;
option broadcast-address 200.1 1 7.207.255;
option domain-name-servers 200.1 1 7.207.3;
服务器发送下面的参数给DHCP客户机:用255.255.255.0作为子网掩码,用200.117.207.255作为广播地址,用200.117.207.1作为默认网关,用200.117.207.3作为DNS服务器,如果用户要为Windows客户指定一个WINS服务器,用户需要包括下面的选项到dhcpd.conf文件中。
option netbios-name-servers 200.1 1 7.207.3:
}
chkconfig(check config)
其功能为检查、设置系统的各种服务。
语法:chkconfig[--add][--del][--list][系统服务]或chkconfig[-- level<等级代号>][系统服务][on/off/reset]。
补充说明:这是Ret Hat公司遵循GPL规则所开放的程序,它可以查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
参数如下。
(1)add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
(2)del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除/相关的数据。
(3)level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关闭。
如果希望在每次启动系统的时候也启动dhcpd,执行命令:
#/sbin/chkconfig--level 3 dhcpd on

第7题:

关于Linux中的命令“shutdown -k”,下面的哪一条叙述是正确的。()

A. 发送一条警示消息到所有用户

B. 在重启动系统时跳过“fsck”过程操作

C. 在关闭系统时跳过“init”过程操作

D. 取消正在运行的关闭(shutdown)操作过程


参考答案A

第8题:

在Linux系统,默认的shell是什么()。

A.bash

B.ash

C.csh

D.gnush


正确答案:A

第9题:

以下关于shell编程的说法中,正确的是()。 

  • A、shell程序又被称为shell脚本
  • B、shell程序中可以包括一系列Linux命令
  • C、shell程序中支持变量
  • D、shell程序就是Linux环境下的C语言程序

正确答案:A,B,C

第10题:

shell不仅仅是用户命令解释器,同时一种强大的编程语言,()是linux缺省的shell。


正确答案:bash

更多相关问题