天天看点

LINUX下的21个特殊符号

                 LINUX下的21个特殊符号

1    > 重定向输出符号

     用法:命令 >文件名

     特性:覆盖(当输入文件和输出文件是同一文件,文

           件内容被清空;不适合连续重定向)

eg: [root@Centos home]# ls -l /home/ > 1.txt

root@Centos home]# cat 1.txt 

total 32

-rw-r--r--. 1 root root     0 Jan 22 02:16 1.txt

-rw-r--r--. 1 root root    29 Jan 22 00:55 aa.txt

-rw-r--r--. 1 root root    22 Jan 22 02:15 bb.txt

-rw-r--r--. 1 root root    31 Jan 21 05:19 home.txt

drwxrwxrwx. 2 root root  4096 Jan 19 23:18 iso

drwx------. 2 root root 16384 Jan 19 21:02 lost+found

[root@Centos home]# date >2

[root@Centos home]# cat 2

Tue Jan 22 02:17:20 CST 2013  

2,>> 重定向输出符号

      用法:命令 >>文件名(没有就新建,有就追加)

      特性:追加 

eg:[root@Centos home]# date >>2

Tue Jan 22 02:17:20 CST 2013

Tue Jan 22 02:19:00 CST 2013

3,2> 错误重定向输出符号

      用法:命令 2>文件名

      特性:覆盖

eg:[root@Centos home]# vim a.txt

[root@Centos home]# cat a.txt 

qwe

asd

zxc

123

4,2>> 错误重定向输出符号

      用法:命令 2>>文件名

      特性:错误信息的追加

   典型应用:命令 >文件名 命令 2>文件名

            命令 >/dev/null 2>/dev/null==命令 >

             /dev/null

5,|  管道符号

      用法:命令1 | 命令2

      机制:上一个的命令输出作为下一个命令的输入

eg:

[root@Centos etc]#eg:ls -l | more

分页显示(只能向下翻页,按空格space键盘,向下翻一页,按enter键向下翻一行,直接一

         直按空格直到结束)

[root@Centos etc]#ls -l | less

分页显示:(按空格space键盘向下一页一页的翻,按箭头向上的键则向上一行一行的翻,按

            箭头向下的键则向下一行一行的翻,按enter键向下翻一行,到最后显示end时,

            敲一下q键退出。或者在中途按q键也是退出。)

[root@Centos ~]# ls -a | grep bash

.bash_history

.bash_logout

.bash_profile

.bashrc

grep用来从一个文件中找出匹配指定关键字的那一行,并送到标准输出,结合管道,我们

通常用它来过滤搜索结果. 

6, *  匹配任意字符

 eg: home]# touch abc*def.pdf

                  touch q.pdf

                  touch 1*1.pdf

                  touch *1.pdf (先建立四个文件)

         (1)find /home/*.pdf  (可通过后面的后缀名来查找,但是linux的后缀名不一定就是你看                                 见的)

[root@Centos /]# find /home/*.pdf 

/home/1*1.pdf

/home/*1.pdf

/home/abc*def.pdf

/home/q.pdf

        (2)find /home/*\**.pdf(这个匹配中间有一个*,*的前后随便有几个字符也包括0个都可以)

[root@Centos /]# find /home/*\**.pdf

         (3) find /home/\**.pdf(这个是匹配第一个字符为*,后面随便有几个字符)

[root@Centos /]# find /home/\**.pdf

          (4)find /home/*\*1.pdf(这个是匹配有一个*,*前面随便几个字符,*的后面是1的)

[root@Centos /]# find /home/*\*1.pdf

7,? 匹配任意一个字符

 eg:

[root@Centos home]# ls

ab.txt  a.txt  ba.txt  b.txt  iso  lost+found

[root@Centos home]# find /home/?.txt

/home/a.txt

/home/b.txt

8,&  后台进程符

      用法:命令(程序) &

9,&& 逻辑与

      用法:命令1 && 命令2

      机制:如果命令1执行成功,继续执行命令2;否则,

           不执行命令2

eg:

[root@Centos ~]# date > 2.txt

[root@Centos ~]# date > 2.txt && cat 2.txt

Wed Jan 23 07:49:36 CST 2013

10,|| 逻辑或

       用法:命令1 || 命令2

       机制:如果命令1执行成功,不执行命令2;否则,

           才执行命令2

11,! 逻辑非

       机制:排除指定范围

12,[x-y]  指定范围

13,#  注释

 eg:当你打开一个shell脚本的时候,第一句基本是#!/bin/bash

        井号也常出现在一行的开头,不会被执行。

        当某条命令不想被执行的时候,只需在该行的前面加上#即可。

       #ls(则表示ls命令不会执行)

       echo "aaa" >>liu;#cat liu(则仅此cat命令不会执行,前面的命令还是会执行)

14,""  双引号

       机制:把它所包含的内容作为普通字符,但‘’\

            $ `` 除外

[root@Centos /]# echo -e "your system is init done.\nplease reboot"

your system is init done.

please reboot

[root@Centos ~]# echo "`date`"

Wed Jan 23 07:51:49 CST 2013

[root@Centos ~]# echo "$LANG"

en_US.UTF-8

15‘’ 单引号

       机制:把它所包含的内容作为普通字符,无例外

16,``  倒引号(在tab键的上面)

       机制:执行它所包含的内容,他包含的是命令

     注意,需要结合引号一起用。

[root@Centos home]# `date`

-bash: Tue: command not found

[root@Centos home]# date

Tue Jan 22 10:20:44 CST 2013

[root@Centos home]# echo "now,it's `date`"

now,it's Tue Jan 22 10:21:17 CST 2013

[root@Centos home]# echo "now,it's 'date'"

now,it's 'date'

[root@Centos home]# echo "now,it's date"

now,it's date

17,\  转义字符

       用法; \符号

       机制:把符号的特定含义去掉,使其变成普通标点

             符号

18,$  变量调用符号

       用法: $变量

       机制:调用变量,从而得到‘变量的值’

[root@Centos ~]# LI=date(先定义变量,定义变量必须是大写)

[root@Centos ~]# $LI(调用变量)

Wed Jan 23 08:08:11 CST 2013

19,; 命令分隔符

       用法:命令1 ; 命令2

       机制;一行语句中,顺次执行各命令

eg:date >>myfile;cat myfile(分号前面有空格和没有空格都一样)

20() 整体执行

[root@Centos home]# (cd ~;VC=`pwd`;echo $VC)

/root

21,{ } 变量分离

22,<  重定向输入符号

       用法:命令 <文件名

输入重定向

输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不来自键盘,而来自一个指定的文件。所以说,输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。

例如,命令wc统计指定文件包含的行数、单词数和字符数。如果仅在命令行上键入:

wc

wc将等待用户告诉它统计什么,这时shell就好象死了一样,从键盘键入的所有文本都出现在屏幕上,但并没有什么结果,直至按下<ctrl+d>,wc才将命令结果写在屏幕上。

eg:1

[root@Centos home]# wc(自己随便输入)

ziji suibian shuru

123 122

2233  (输入完之后按住crtl+d)

      3       6      32(告诉你有几行,几个单词,几个字符)

eg:2

[root@Centos /]# wc /etc/passwd(wc命令后面可以接文件,意思就是统计文件内容的个数)

  29   45 1394 /etc/passwd

[root@Centos /]# wc /home/aa.txt 

 1  6 29 /home/aa.txt

本文转自 jie783213507 51CTO博客,原文链接:http://blog.51cto.com/litaotao/1187983,如需转载请自行联系原作者

继续阅读