Shell中的特殊字符

通配符

 当需要用命令处理一组文件,例如file1.txt、file2.txt、file3.txt……,用 户不必一一输入文件名,可以使用Shell通配符。Shell命令的通配符含义如下表 

引号

在 Shell 中引号分为 2 种:单引号、双引号。

( 1 )双引号

     由双引号括起来的字符,除 $ 、倒引号和反斜线( \ )仍保留其特殊功能外,其余字符通常作为普通字符对待。

( 2 )单引号

由单引号括起来的字符都作为普通字符出现。

 

管道

管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。就像通过使用“|”符连成了一个管道。

$ ls /usr/bin |wc–w

  1249

ls命令用于查看/usr/bin目录下的文件,“wc–w”命令用于统计指定文件的单词数。以上操作中,借助管道“|”,将ls的输出直接作为wc命令的输入。使用管道可以巧妙的将一些命令联合使用,得到单个命令所无法实现的效果。例如使用以上的命令组合,得到的是/usr/bin目录 下文件的个数。

 

输入/输出重定向

输入/输出重定向是改变Shell命令或程序默认的标准输入/输出目标,重 新定向到新的目标。

Linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。

用户可以为当前操作改变输入或输出,迫使某个特定命令的输入或输 出来源为外部文件。

 

后台命令

      通常,在主提示符之后输入的命令都立即得到执行。在执行过程中,用户和系统可以发生交互作用 — 用户输入数据,系统进行处理,并输出运行结果。这种工作方式就是前台方式。但是有些程序的运行要花费较长时间,如调用 C 编译对 C 程序进行编译。如果想在编译的同时做别的事情,那么就输入命令

     $cc m1.c &

 即在一条命令的最后输入 “&” 符号, Shell 就在后台启动该程序,并且马上显示主提示符,提醒输入新的命令。

由后台程序转移到前台运行

     使用命令fg完成。一般先是使用ps -a 查看命令是否存在,如果存在,就可以使用fg命令了。

     一般使用方法是“fg 程序名”

 

cat命令

功能为在标准输出上显示文件。

$ cat         #使用标准输入/出设备

have a good day!  #用户使用标准输入设备——键盘,键入字符串,并按Enter键

have a good day!    #系统在标准输出——显示器上,显示用户刚刚输入的字符串

$ cat > file1.txt    #输出重定向,将输出定向到文件file1.txt

have a good day!  #用户使用标准输入设备——键盘,键入字符串,并按Enter键

           #用户输入的字符串被保存在file1.txt文件中

$ cat < file1.txt   #输入重定向,将cat命令的输入指定为 file1.txt文件

have a good day!   #系统在标准输出显示器上,显示cat命令从文件中读出的字符串

 

命令替换

是将一个命令的输出作为另一个命令的参数。命令格式如下所示。

  command1 `command2` 

其中,命令command2的输出将作为命令command1的参数。 需要注意,命令置换的单引号为ESC键下方的“`”键

pwd命令用于显示当前目录的绝对路径。在上面的命令行 中,使用命令置换符,将pwd的运行结果作为ls命令的参数。 最终,命令执行结果是显示当前目录的文件内容。

$ ls `pwd`

Desktop Downloads

 

 

 

 Shell 中引用符号的名称及意义

 

 符号                

名称                     

 意义

“   ”

双引号

 引用处美元符号($)、反引号(`)、和反斜线(\)之外的所有符号

‘ ’

单引号

 引用所有符号

` `

反引号

 Shell将反引号中的内容解释为系统命令

\

反斜线

 转义符,屏蔽下一个字符的特殊意义

 


                             Shell中的特殊字符及其意义

 

 

          特殊符号         

意义

&

传递到脚本的参数数量

*

0个或多个在*字符之间的那个普通字符起

+

匹配1个或多个在其以前的那个普通字符3

^

匹配行首,或后面字符的非

$

                  命令的退出状态,0代表正确,1代表错误                     

`

反引号,Shell的引用符号

“”

双引号,Shell的引用符号

|

管道符号或表示“或”的意思

?

匹配0个或1个在其以前的那个普通字符

\

转义符

 

 

posted @ 2012-09-24 21:47  福。oO  阅读(3779)  评论(0编辑  收藏  举报