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
[root@Centos home]# cat 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
/home/1*1.pdf
/home/*1.pdf
/home/abc*def.pdf
(3) find /home/\**.pdf(这个是匹配第一个字符为*,后面随便有几个字符)
[root@Centos /]# find /home/\**.pdf
/home/*1.pdf
(4)find /home/*\*1.pdf(这个是匹配有一个*,*前面随便几个字符,*的后面是1的)
[root@Centos /]# find /home/*\*1.pdf
/home/1*1.pdf
/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,"" 双引号
机制:把它所包含的内容作为普通字符,但‘’\
$ `` 除外
eg:
[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键的上面)
机制:执行它所包含的内容,他包含的是命令
注意,需要结合引号一起用。
eg:
[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() 整体执行
eg:
[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,如需转载请自行联系原作者