Linux系统Shell命令常用功能使用详解

2016-03-31 15:34 20 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐Linux系统Shell命令常用功能使用详解,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - 服务器 】

Linux系统Shell命令常用功能使用详解

   Linux系统中Shell不仅仅是一个命令,而且是其他命令的解释器。可以调试其他命令,从而完成编译。那么Linux系统中Shell命令应该怎么使用呢?

Linux系统Shell命令使用教程

  其实作为命令语言互动式地解释和执行用户输入的命令只是Shell功能的一个方面,Shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构。使用Shell编程类似于DOS中的批处理文件,称为Shell script,又叫Shell程序或Shell命令文件。

  Shell基本语法

  像高级程序设计语言一样,Shell也提供说明和使用变量的功能。对Shell来讲,所有变量的取值都是一个字串,Shell程序采用$var的形式来引用名为var的变量的值。

  Shell有以下几种基本类型的变量。

  (1)Shell定义的环境变量:

  Shell在开始执行时就已经定义了一些和系统的工作环境有关的变量,用户还可以重新定义这些变量,常用的Shell环境变量有:

  HOME 用于保存注册目录的完全路径名。

  PATH 用于保存用冒号分隔的目录路径名,Shell将按PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行。

  TERM 终端的类型。

  UID 当前用户的识别字,取值是由数位构成的字串。

  PWD 当前工作目录的绝对路径名,该变量的取值随cd命令的使用而变化。

  PS1 主提示符,在特权用户下,默认的主提示符是#,在普通用户下,默认的主提示符是$。

  PS2 在Shell接收用户输入命令的过程中,如果用户在输入行的末尾输入然后回车,或者当用户按回车键时Shell判断出用户输入的命令没有结束时,就显示这个辅助提示符,提示用户继续输入命令的其余部分,默认的辅助提示符是》。

  (2)用户定义的变量:

  用户可以按照下面的语法规则定义自己的变量:

  变量名=变量值

  要注意的一点是,在定义变量时,变量名前不应加符号$,在引用变量的内容时则应在变量名前加$;在给变量赋值时,等号两边一定不能留空格,若变量中本身就包含了空格,则整个字串都要用双引号括起来。

  在编写Shell程序时,为了使变量名和命令名相区别,建议所有的变量名都用大写字母来表示。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/fuwuqi/)

  有时我们想要在说明一个变量并对它设置为一个特定值后就不在改变它的值时,可以用下面的命令来保证一个变量的只读性:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/fuwuqi/)

  readonly 变量名

  在任何时候,创建的变量都只是当前Shell的局部变量,所以不能被Shell运行的其他命令或Shell程序所利用,而export命令可以将一个局部变量提供给Shell执行的其他命令使用,其格式为:

  export 变量名

  也可以在给变量赋值的同时使用export命令:

  export 变量名=变量值

  使用export说明的变量,在Shell以后运行的所有命令或程序中都可以访问到。

  (3)位置参数:

  位置参数是一种在调用Shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。位置参数之间用空格分隔,Shell取第一个位置参数替换程序文件中的$1,第二个替换$2,依次类推。$0是一个特殊的变量,它的内容是当前这个Shell程序的文件名,所以,$0不是一个位置参数,在显示当前所有的位置参数时是不包括$0的。

  (4)预定义变量:

  预定义变量和环境变量相类似,也是在Shell一开始时就定义了的变量。所不同的是,用户只能根据Shell的定义来使用这些变量,而不能重定义它。所有预定义变量都是由$符和另一个符号组成的,常用的Shell预定义变量有:

  $# 位置参数的数量。

  $* 所有位置参数的内容。

  $? 命令执行后返回的状态。

  $$ 当前进程的进程号。

  $! 后台运行的最后一个进程号。

  $0 当前执行的进程名。

  其中,$?用于检查上一个命令执行是否正确。(在Linux中,命令退出状态为0表示该命令正确执行,任何非0值表示命令出错。)

  $$变量最常见的用途是用做暂存文件的名字以保证暂存文件不会重复。

  (5)参数置换的变量:

  Shell提供了参数置换功能以便用户可以根据不同的条件来给变量赋不同的值。参数置换的变量有4种,这些变量通常与某一个位置参数相联系,根据指定的位置参数是否已经设置类决定变量的取值,它们的语法和功能分别如下。

  a. 变量=${参数-word}:如果设置了参数,则用参数的值置换变量的值,否则用word置换。即这种变量的值等于某一个参数的值,如果该参数没有设置,则变量就等于word的值。

  b. 变量=${参数=word}:如果设置了参数,则用参数的值置换变量的值,否则把变量设置成word,然后再用word替换参数的值。注意,位置参数不能用于这种方式,因为在Shell程序中不能为位置参数赋值。

  c. 变量=${参数?word}:如果设置了参数,则用参数的值置换变量的值,否则就显示word并从Shell中退出,如果省略了word,则显示标准信息。这种变量要求一定等于某一个参数的值。如果该参数没有设置,就显示一个信息,然后退出,因此这种方式常用于出错指示。

  d. 变量=${参数+word}:如果设置了参数,则用word置换变量,否则不进行置换。

  所有这4种形式中的参数既可以是位置参数,也可以是另一个变量,只是用位置参数的情况比较多。

  以上就是Shell命令的使用教程了,可以说Shell命令是Linux系统中必不可少的编程工具。

来源:http://www.tulaoshi.com/n/20160331/2050780.html

延伸阅读
标签: 服务器
Linux下常用的系统信息查阅命令   这是文字版: 系统信息 #uname -a #查看内核/操作系统/cpu信息 #cat /etc/issue #查看操作系统版本 #cat /proc/version #包含GCC的版本信息 #cat /proc/cpuinfo #查看CPU信息 #hostname #查看计算机名 #lspci -tv #列出所有pci设备 #lsusb -tv #列出所有u...
标签: 服务器
linux系统常用命令有哪些?   这里介绍几个Linux的常用命令 当在同一行的2个命令使用semicolon也就是分号;分隔时,表示第一个command将在后一个command开始时完成,例如 ls -F /etc;ls -F /home Linux有命令行自动补齐功能,输入命令行的前面几个字符可以连续按下2次tab键或者Esc键给出提示,如果只有以首字母开始...
标签: 电脑入门
当我们需要查看文件的头部的时候,就要用到head命令,head命令主要用来查看文件前几行或多少字节的内容,下面随图老师小编一起来了解下Linux下head命令的用法吧。 1.命令格式: head [参数]。。. [文件]。。. 2.命令功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。 3.命令参数: -...
标签: 电脑入门
我们都知道Linux可用多种命令进行操作,光是用于文本处理的命令就有不少,下面图老师小编将针对Linux中Shell文本处理工具做个汇总,以便你有个了解。 Linux下的操作习惯不像windows一样可以有窗口进行操作,它是有很多不同的命令组成的,本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste...
标签: 服务器
在Linux系统中使用Fish Shell的入门指引   安装以及配置 Linux 和 OS X 基本都可以通过源来安装,实在不行就下载源码编译,不难的。 Ubuntu的话就是这样: 代码如下: sudo apt-get install fish 从bash进入fish直接输入fish就行了 安装好第一步是修改 OS 默认 shell: 代码如下: chsh -s /us...

经验教程

399

收藏

9
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部