shell

时间:2024-03-15 00:51:05编辑:优化君

shell是什么意思

shell是什么意思

shell作名词时意为“壳,贝壳,炮弹,外形”。作及物动词时意为“剥皮,炮轰”。作不及物动词时意为“剥落,设定命令行解释器的位置”。短语搭配:electron shell. 电子层,电子壳,壳层电子。SHELL FABRIC. 面料,面布,关于面料,朔料壳。nut shell. 坚果壳,果壳活性炭。Shell Material. 外壳材质,外壳材料,壳材质,允许背压率。shell pink. 血牙红,血牙色,浅粉红。双语例句:1、A snail's shell is spiral in form. 蜗牛壳呈螺旋形。2、This cuttlefish has a horny internal shell like a pen. 这只乌贼有一个笔状的角质内壳。

shell是什么意思

Shell是计算机中的术语。俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件,通常是以一组预先定义的命令和语法组合而成,用户通过命令解释器来执行这些命令,完成特定的操作。在Linux操作系统中的Shell命令就包括touch、cd、pwd、mkdir、rm等等。通过这些命令,用户可以对文件进行创建、移动、复制、删除等操作。同时,Shell还提供了一些高级命令,如文件权限、文件比较、进程管理等,使得用户可以更加方便地操作文件和系统。除了Linux,Shell也广泛应用于其他类Unix-like系统,如macOS、FreeBSD、NetBSD、OpenBSD等。在这些系统中,Shell的功能和用法可能会有所不同。【摘要】
shell是什么意思【提问】
Shell是计算机中的术语。俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件,通常是以一组预先定义的命令和语法组合而成,用户通过命令解释器来执行这些命令,完成特定的操作。在Linux操作系统中的Shell命令就包括touch、cd、pwd、mkdir、rm等等。通过这些命令,用户可以对文件进行创建、移动、复制、删除等操作。同时,Shell还提供了一些高级命令,如文件权限、文件比较、进程管理等,使得用户可以更加方便地操作文件和系统。除了Linux,Shell也广泛应用于其他类Unix-like系统,如macOS、FreeBSD、NetBSD、OpenBSD等。在这些系统中,Shell的功能和用法可能会有所不同。【回答】


shell怎么读

shell的读音是:英[?el]。shell的读音是:英[?el]。shell名词:sheller;过去式:shelled;过去分词:shelled;现在分词:shelling;第三人称单数:shells。shell【近义词】casing套。一、详尽释义点此查看shell的详细内容n.(名词)壳,外壳炮弹荚薄硬岩层壳状物骨架缄默轻快的赛艇有甲壳的软体动物锥形小啤酒杯轮廓,梗概猎枪子弹弹壳躯壳地壳贝壳壳体甲v.(动词)炮轰,炮击, 射击,轰击剥(玉米),为…去壳,剥落用贝壳铺,用介壳铺(路)成碎片落下,脱落脱壳,蜕壳,去壳由壳中剥出,从壳中拿出给...脱粒用壳体包被采集贝壳,拾贝壳给...装壳体付外壳程序(协助用户从复杂的计算机操作系统中脱离出来的一种简单用户操作接口)连连得分adj.(形容词)地壳的二、双解释义n.(名词)[C] [U] (贝、卵、坚果等的)壳 the hard outer covering of a shellfish,egg,nut,etc.[C] 外壳,框架 an outer covering or frame work[C] 炮弹 a metal case filled with explosives to be fired from a gun三、英英释义Noun:ammunition consisting of a cylindrical metal casing containing an explosive charge and a projectile; fired from a large gunthe material that forms the hard outer covering of many animalshard outer covering or case of certain organisms such as arthropods and turtlesthe hard usually fibrous outer layer of some fruits especially nutsthe exterior covering of a bird's egga rigid covering that envelops an object;"the satellite is covered with a smooth shell of ice"a very light narrow racing boatthe housing or outer covering of something;"the clock has a walnut case"a metal sheathing of uniform thickness (such as the shield attached to an artillery piece to protect the gunners)the hard largely calcareous covering of a mollusc or a brachiopodVerb:use explosives on;"The enemy has been shelling us all day"create by using explosives;"blast a passage through the mountain"fall out of the pod or husk;"The corn shelled"hit the pitches of hard and regularly;"He shelled the pitcher for eight runs in the first inning"look for and collect shells by the seashorecome out better in a competition, race, or conflict;"Agassi beat Becker in the tennis championship""We beat the competition""Harvard defeated Yale in the last football game"remove from its shell or outer covering;"shell the legumes""shell mussels"remove the husks from;"husk corn"四、例句There is an ornament made of shells on the wall.墙上有一个贝壳做成的装饰品。All that remained of the building after the fire was an empty shell.一场大火过后,这座建筑剩下的只是一个空壳。The snail retreated into its shell.蜗牛缩进壳里去了。Shells were bursting all around.炮弹在四处爆炸。Windows Forms has no shell integration and does not respond to shell verbs.Windows窗体则没有外壳程序集成,并且不对外壳程序谓词作出响应。The wheat will shell after a few days.麦子已熟透,再过几天就会脱落了。Please shell some walnuts for the cake.请为做点心剥点胡桃仁。五、词汇搭配shell out付(账、款)...shell shock炮弹休克shell company控股公司shell jacket紧身夹克衣shell game骗局come out of your shell不再羞怯(不再沉默寡...star shell照明弹(曳光弹)...thin shell薄壳的boiler shell锅炉锅筒,锅炉壳体...shell arch薄壳拱bearing shell轴承壳套,轴瓦...come out of one's shell不再冷淡dome shell气包体shell sand贝壳砂,壳型砂...shell structure壳体结构(壳层结构...cylindrical shell柱形壳containment shell屏蔽, 包壳,(反应...shell construction薄壳结构,壳体结构,...shell electron轨道电子,壳层电子...valence shell价电子层六、经典引文The whole vast shell of the firmament.出自:B. TaylorShelling peas into a dish.出自:DickensThe women who shell almonds.出自:E. B. Tylor七、词源解说☆ 直接源自古英语的sciell,意为贝壳。shell的相关临近词Shelley、shelf、shelly、shells、Shellen、Shellyn、shellac、shelled、Shellem、sheller、shellish、shellane点此查看更多关于shell的详细信息


shell怎么读

shell生词本 英 [ʃel] 美 [ʃɛl] n. (贝、卵、坚果等的)壳;外壳;炮弹;(人的)表面性格 vt. 去壳,脱落;炮击 vi. 剥皮;炮轰 网 络 壳牌; 壳; 米白; 外壳 复数:shells 过去式:shelled 过去分词:shelled 现在分词:shelling 第三人称单数:shells 词条标签:CET4 CET6 考研 TOEFL IELTS GRE 柯林斯高阶英汉双解学习词典 现代英汉综合大词典 英汉双向大词典 1. (蛋、坚果等的)壳 The shell of a nut or egg is the hard covering which surrounds it. They cracked the nuts and removed their shells... 他们砸开坚果,剥去硬壳。Once the eggs have hatched the shells are left behind. 一旦鸡蛋孵化后,蛋壳就没用了。


shell是什么意思英语

shell 基本解释如下:n. (贝、卵、坚果等的)壳;外壳;炮弹;(人的)表面性格vt. 去壳,脱落;炮击vi. 剥皮;炮轰shell 变化形式复数: shells第三人称单数: shells过去式: shelled过去分词: shelled现在分词: shelling易混淆的单词: Shell所属分类: CET4TEM4IELTSGRE考 研TOEFLCET6中文词源shell 壳,壳体,外壳,炮弹。来自古英语 scell,贝壳,蛋壳,来自 Proto-Germanic*skaljo,分开,切开,来自 PIE*skel,切, 分,词源同 scale,shelf.引申诸相关比喻义。shell 用法和例句This will only apply when working from a shell .这只适用于从外壳程序运行时。Pierre marcolini 's christmas shell pralines are a thing of wonder .皮埃尔马克里尼的圣诞点心带壳果仁糖是个好东西。Palestinian sources said a single tank shell killed 12 other people in northern gaza .巴勒斯坦消息称一枚单坦克炮弹在加沙北部炸死了12个人。Slowly , like a shell , the world opens and light floods in .世界像是贝壳一样逐渐地打开,光如洪水般涌入。In libya , that means strikes on colonel muammar qaddafi 's ground forces if they start to shell towns .对于利比亚,这意味着如果穆阿迈尔卡扎菲的地面部队开始炮轰城镇,他们将会受到军事打击。

shell是什么意思英语

shell翻译如下:英 [ʃel] 美 [ʃel] n. (蛋、坚果、某些种子和某些动物的)壳;(甲虫的)鞘翅;(尤指建筑物等遭破坏后剩下的)框架,骨架;壳状物;(人的)表面性格,表面感情;空躯壳;(物理)壳层;炮弹;子弹,弹药筒;轻型赛艇;内棺,粗制棺材;(剑的)护手;(计算机)SHELL PROGRAM 的简称;v. 剥……壳;炮轰;(从对方投手)大量得分;短语Ghost in the Shell 攻壳机动队 ; 攻壳机动队剧场版;electron shell [物] 电子层 ; [物] 电子壳 ; [物] 电子壳层 ; 壳层电子;Shell Test 壳体试验 ; 强度试验 ; 壳体实验 ; 工作温度;Turtle shell 龟甲 ; 鳖甲 ; 鳖甲粉末 ; 龟壳;Shell Sort 希尔排序 ; 龟壳排序 ; 尔排序法 ; 谢耳排序法;SHELL FABRIC [服装] 面料 ; 面布 ; 关于面料 ; 面料棉;shell script shell脚本 ; 非交互 ; 什么是 ; 一个用于自动备份的;nut shell 坚果壳 ; 果壳活性炭;shell corporation 空壳公司 ; 壳公司;

什么是shell

Shell读法英[ʃel]Shell俗称壳,它提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行Shell实际上是一个命令解释器,它通过解释用户输入的命令并把它传输给系统内核去执行。Shell有自己的编程语言,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等。内部命令:在系统启动时就调入内存,是常驻内存的,所以执行效率高外部命令:是系统软件的功能,用户需要时才从硬盘中读入内存扩展资料shell的近义词:bullet词汇搭配:1、behitbybullet中弹2、ahailofbullets一阵弹雨3、avolleyofbullets许多子弹一起发射词义辨析:bullet,shell这两个名词均与枪弹有关。1、bullet含义广泛,指各种枪用的子弹。2、shell指发射后会爆炸的炮弹。示例:Abulletwhizzedpastmyear.一颗子弹嗖的一声从我耳边飞过。

什么是shell命令?windows系统也有shell命令吗?

Shell 命令是一个用 C 语言编写的程序,它 既是一种命令语言,又是一种程序设计语言。Shell 命令还是一种应用程序,用户通过这个界面访问操作系统内核的服务。windows系统下也有shell命令。Windows的Shell命令又是Windows的CMD命令,而cmd命令又是原来MS-DOS系统保留下来。WIndows下Shell命令的执行方式如下:一般的是通过调出CMD控制台执行,对于较熟悉的可以自行编写bat批处理Shell命令,然后保存为 .bat 后缀格式文件,以Win7为例,可以通过Win键调出search 窗口,快捷执行,但不能全部使用,同时可以通过Win+R调出运行窗口来执行。Shell 脚本介绍:Shell 脚本(shell script),是一种为 shell 编写的脚本程序,业界所说的 shell 通常都是指 shell 脚本,但是shell 和 shell script 是两个不同的概念。

Linux shell常用命令

Linux shell常用命令汇总

  对于经常使用linux系统的博主来说,基本常用的shell命令是少不了的,下面为大家总结了Linux shell的常用命令,希望对大家有所帮助!

  1.检查远程端口是否对bash开放:

  echo >/dev/tcp/8.8.8.8/53 && echo "open"

  2.让进程转入后台:

  Ctrl + z

  3、将进程转到前台:

  fg

  4.产生随机的十六进制数,其中n是字符数:

  openssl rand -hex n

  5.在当前shell里执行一个文件里的命令:

  source /home/user/file.name

  6.截取前5个字符:

  ${variable:0:5}

  7.SSH debug 模式:

  ssh -vvv user@ip_address

  8.SSH with pem key:

  ssh user@ip_address -i key.pem

  9.用wget抓取完整的网站目录结构,存放到本地目录中:

  wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs

  10.一次创建多个目录:

  mkdir -p /home/user/{test,test1,test2}

  11.列出包括子进程的进程树:

  ps axwef

  12.创建 war 文件:

  jar -cvf name.war file

  13.测试硬盘写入速度:

  dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

  14.测试硬盘读取速度:

  hdparm -Tt /dev/sda

  15.获取文本的md5 hash:

  echo -n "text" | md5sum

  16.检查xml格式:

  xmllint --noout file.xml

  17.将tar.gz提取到新目录里:

  tar zxvf package.tar.gz -C new_dir

  18.使用curl获取HTTP头信息:

  curl -I http://www.example.com

  19.修改文件或目录的时间戳(YYMMDDhhmm):

  touch -t 0712250000 file

  20.用wget命令执行ftp下载:

  wget -m ftp://username:password@hostname

  21.生成随机密码(例子里是16个字符长):

  LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

  22.快速备份一个文件:

  cp some_file_name{,.bkp}

  23.访问Windows共享目录:

  smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir

  24.执行历史记录里的命令(这里是第100行):

  !100

  25.解压:

  unzip package_name.zip -d dir_name

  26.输入多行文字(CTRL + d 退出):

  cat > test.txt

  27.创建空文件或清空一个现有文件:

  \> test.txt

  28.与Ubuntu NTP server同步时间:

  ntpdate ntp.ubuntu.com

  29.用netstat显示所有tcp4监听端口:

  netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

  30.qcow2镜像文件转换:

  qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw

  31.重复运行文件,显示其输出(缺省是2秒一次):

  watch ps -ef

  32.所有用户列表:

  getent passwd

  33.Mount root in read/write mode:

  mount -o remount,rw /

  34.挂载一个目录(这是不能使用链接的情况):

  mount --bind /source /destination

  35.动态更新DNS server:

  nsupdate

  update add $HOST 86400 A $IP

  send

  EOF

  36.递归grep所有目录:

  grep -r "some_text" /path/to/dir

  37.列出前10个最大的文件:

  lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

  39.打开Vim并跳到文件末:

  vim + some_file_name

  40.Git 克隆指定分支(master):

  git clone [email protected]:name/app.git -b master

  41.Git 切换到其它分支(develop):

  git checkout develop

  42.Git 删除分支(myfeature):

  git branch -d myfeature

  43.Git 删除远程分支

  git push origin :branchName

  44.Git 将新分支推送到远程服务器:

  git push -u origin mynewfeature

  45.打印历史记录中最后一次cat命令:

  !cat:p

  46.运行历史记录里最后一次cat命令:

  !cat

  47.找出/home/user下所有空子目录:

  echo >/dev/tcp/8.8.8.8/53 && echo "open"

  1.检查远程端口是否对bash开放:

  find /home/user -maxdepth 1 -type d -empty

  48.获取test.txt文件中第50-60行内容:

  < test.txt sed -n '50,60p'

  49.运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):

  sudo !!

  50.创建临时RAM文件系统 – ramdisk (先创建/tmpram目录):

  mount -t tmpfs tmpfs /tmpram -o size=512m

  51.Grep whole words:

  grep -w "name" test.txt

  52.在需要提升权限的.情况下往一个文件里追加文本:

  echo "some text" | sudo tee -a /path/file

  53.列出所有kill signal参数:

  kill -l

  54.在bash历史记录里禁止记录最后一次会话:

  kill -9 $$

  55.扫描网络寻找开放的端口:

  nmap -p 8081 172.20.0.0/16

  56.设置git email:

  git config --global user.email "[email protected]"

  57.To sync with master if you have unpublished commits:

  git pull --rebase origin master

  58.将所有文件名中含有”txt”的文件移入/home/user目录:

  find -iname "*txt*" -exec mv -v {} /home/user \;

  59.将文件按行并列显示:

  paste test.txt test1.txt

  60.shell里的进度条:

  pv data.log

  61.使用netcat将数据发送到Graphite server:

  echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000

  62.将tabs转换成空格:

  expand test.txt > test1.txt

  63.Skip bash history:

  cmd

  64.去之前的工作目录:

  cd -

  65.拆分大体积的tar.gz文件(每个100MB),然后合并回去:

  split –b 100m /path/to/large/archive /path/to/output/files

  cat files* > archive

  66.使用curl获取HTTP status code:

  curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null

  67.设置root密码,强化MySQL安全安装:

  /usr/bin/mysql_secure_installation

  68.当Ctrl + c不好使时:

  Ctrl + \

  69.获取文件owner:

  stat -c %U file.txt

  70.block设备列表:

  lsblk -f

  71.找出文件名结尾有空格的文件:

  find . -type f -exec egrep -l " +$" {} \;

  72.找出文件名有tab缩进符的文件

  find . -type f -exec egrep -l $'\t' {} \;

  73.用”=”打印出横线:全选复制放进笔记

  printf '%100s\n' | tr ' ' = ;


shell是什么意思

知识拓展:shell 英文是贝壳的意思,命令解释器 shell 就像一个贝壳一样包住了系统核心。  Shell是一个命令解释器,它在操作系统的做外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户。这种对话方式可以是交互的方式(从键盘输入命令,可以立即的到shell的回应),或非交互(脚本)的方式。【摘要】
shell是什么意思【提问】
您好,很高兴为您解答:亲亲,shell的意思是壳,具体有以下的意思哦:n. 壳,贝壳;炮弹;外形vi. 剥落;设定命令行解释器的位置vt. 剥皮;炮轰例句:My mother and I shelled nuts while watching TV.我和妈妈边看电视边去坚果的壳。【回答】
知识拓展:shell 英文是贝壳的意思,命令解释器 shell 就像一个贝壳一样包住了系统核心。  Shell是一个命令解释器,它在操作系统的做外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户。这种对话方式可以是交互的方式(从键盘输入命令,可以立即的到shell的回应),或非交互(脚本)的方式。【回答】


shell是什么意思阿

shell是一个命令处理器(commandprocessor)——是一个读入并解释你输入的命令的程序。除了是一个命令中断器以外,shell还是一个程序设计语言。你可以编写shell可以解释的程序(被称为源程序),这些源程序可以包含shell程序设计命令等等。shell除了解释命令以外,还有其他工作,它也可以配置和编程。shell拥有自己的语言允许用户编写程序并以一种复杂方式运行。shell编程语言具有许多常用的编程语言的特征,例如:循环和控制结构等。用户可以生成像其他应用程序一样复杂的shell程序。补充说明:简单的说:shell是一个交互性命令解释器。shell独立于操作系统,这种设计让用户可以灵活选择适合自己的shell。shell让你在命令行键入命令,经过shell解释后传送给操作系统(内核)执行。一下是shell功能的一个汇总:查找命令的位置并且执行相关联的程序。为shell变量赋新值执行命令替代处理I/O重定向和管道功能提供一个解释性的编程语言界面,包括tests、branches和loops等语句

shell什么意思!

分类: 教育/科学 >> 学习帮助
问题描述:

有什么用途? 用简单明了的话说!

会的告诉我一下! 谢谢

解析:

操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。

shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。



Shell基本上是一个命令解释器,类似于DOS下的mand。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。

交互式shell和非交互式shell

交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。

shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。

shell的类型

在UNIX中主要有两大类shell

Bourne shell (包括 sh, ksh, and bash)

Bourne shell ( sh)

Korn shell ( ksh)

Bourne Again shell ( bash)

POSIX shell ( sh)

C shell (包括 csh and tcsh)

C shell ( csh)

TENEX/TOPS C shell ( tcsh)

Bourne Shell

最初的UNIX shell是由Stephen R. Bourne于20世纪70年代中期在新泽西的AT&T贝尔实验室编写的,这就是Bourne shell。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell 可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile文件和$HOME/.profile文件。/etc/profile文件为所有的用户定制环境,$HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。

C Shell

Bill Joy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。

Korn Shell

有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言.它符合POSIX——一个操作系统的国际标准.POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。

Bourne Again Shell (bash)

bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat, Slackware, Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。

POSIX Shell

POSIX shell 是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0 , POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh.

各主要操作系统下缺省的shell:

AIX 下是Korn Shell.

Solaris和FreeBSD缺省的是Bourne shell.

HP-UX缺省的是POSIX shell.

Linux是Bourne Again shell.

【TIP】

#!/usr/bin/sh的用途

shell script的第一行一般都是#!/usr/bin/sh或#!/usr/bin/ksh等,它的用途就是指出本脚本是用的哪种shell写的,执行时系统应该用哪种shell来解释执行它。

附:LINUX系统的shell原理

Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。

shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。 shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。

有一些命令,比如改变工作目录命令cd,是包含在shell内部的。还有一些命令,例如拷贝命令cp和移动命令rm,是存在于文件系统中某个目录下的单独的程序。对用户而言,不必关心一个命令是建立在shell内部还是一个单独的程序。

shell首先检查命令是否是内部命令,若不是再检查是否是一个应用程序(这里的应用程序可以是Linux本身的实用程序,如ls和rm,也可以是购买的商业程序,如xv,或者是自由软件,如emacs)。然后shell在搜索路径里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。如果键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给Linux内核。

shell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。

当普通用户成功登录,系统将执行一个称为shell的程序。正是shell进程提供了命令行提示符。作为默认值(TurboLinux系统默认的shell是BASH),对普通用户用“$”作提示符,对超级用户(root)用“#”作提示符。

一旦出现了shell提示符,就可以键入命令名称及命令所需要的参数。shell将执行这些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,可以从键盘上按ctrl+c发出中断信号来中断它(在正常结束之前,中止它的执行)。

当用户准备结束登录对话进程时,可以键入logout命令、exit命令或文件结束符(EOF)(按ctrl+d实现),结束登录。

我们来实习一下shell是如何工作的。

$ make work

make:***No rule to make target ‘work’. Stop.

$

注释:make是系统中一个命令的名字,后面跟着命令参数。在接收到这个命令后,shell便执行它。本例中,由于输入的命令参数不正确,系统返回信息后停止该命令的执行。

在例子中,shell会寻找名为make的程序,并以work为参数执行它。make是一个经常被用来编译大程序的程序,它以参数作为目标来进行编译。在“make work”中,make编译的目标是work。因为make找不到以work为名字的目标,它便给出错误信息表示运行失败,用户又回到系统提示符下。

另外,用户键入有关命令行后,如果shell找不到以其中的命令名为名字的程序,就会给出错误信息。例如,如果用户键入:

$ myprog

bash:myprog:mand not found

$

可以看到,用户得到了一个没有找到该命令的错误信息。用户敲错命令后,系统一般会给出这样的错误信息.


上一篇:resolution

下一篇:reliable