Linux特殊符号的用法

Linux特殊符号

===========================================================================================

$ 号

通常代表变量的意思

echo $变量名=变量值

= 等于号

一般定义变量时候用到

例如 [[email protected] aaa]# abc=/etc/passwd

[[email protected] aaa]# echo $abc

/etc/passwd

^

这个符号在规则表达式中,代表行的 "开头" 位置

例如 [[email protected] aaa]# grep "^a" 111

acb ac0 aaa

abc wwd www

# 井号

1、常出shell脚本一行的开头,或者表示为注释信息,这类情况表示符号后面的是文字,不会被执行。

例如:# This line is comments.

2、或者来注释掉命令,不让此命令执行

例如:#echo "www.baidu.com" >/root/abc

;分号

命令1;命令2 :表示前面的命令执行是否成功,都执行后面的命令,相当于回车,可以执行多个命令

例如: [[email protected] /]# cd /root/ ;ls -l

总计 84

-rw-r--r-- 1 root root     4 09-29 14:55 1.txt

;;双分号

专用在 case 的选项,担任 Terminator 的角色。不做过多解释

&

表示作业控制,将前台命令调到后台

&& 符号,逻辑与

命令1 && 命令2 :左边的命令1执行成功,右边的命令2才执行。如果左边的命令1执行不成功,右边的命令2不执行

例如:

[[email protected] ~]# echo "abc" >>/root/1.txt && ls -l /root/1.txt

-rw-r--r-- 1 root root 4 09-29 14:55 /root/1.txt

如果目录里没有1.txt这个文件,命令会自动创建然后追加abc到1.txt

| 管道

命令1 | 命令2 :前面命令的输出结果,作为后面命令的输入

例如: [[email protected] /]# cat /etc/passwd |wc -l

38

|| 双管道,逻辑或

命令1 || 命令2 :左边的命令1执行成功,右边的命令2就不执行。如果左边的命令1执行不成功,右边的命令2才执行

例如:

[[email protected] ~]# ls -l www.txt || touch www.txt

ls: www.txt: 没有那个文件或目录

例如:[[email protected] ~]# ls -l www.txt || echo "yes"

-rw-r--r-- 1 root root 0 09-29 15:03 www.txt

’‘单引号

单引号里面的内容被视为普通符号处理,防止任何变量替换

例如: $www=www.baidu.com

[[email protected] ~]# echo "$www"

www.baidu.com

[[email protected] ~]# echo ‘$www‘

$www

" "双引号

被双引号用括住的内容,将被视为单一字串,防止通配符扩展,但允许变量扩展。

例如: $www=www.baidu.com

[[email protected] ~]# echo "$www"

www.baidu.com

例如:echo "\"/root/www/"\"

"/root/www/"

"\ \":反斜杠转换特殊字符

"\"/ /"\" 反斜杠

转换特殊符号

例如:echo "\"/root/www/"\"

"/root/www/"

` `反撇号,倒引号  == $ ( )

`命令`:反撇号里面是要执行的命令

例如1、[[email protected] ~]# fdv=`date +%F`;echo "Today $fdv"

Today 2014-09-29

例2、[email protected] /]# fdv=$(date +%F);echo "Today $fdv"

Today 2014-09-29

*号

匹配任意长度的任意符号

例如: ls /root/*.txt

1.txt  aaa.txt  www.txt

**号

表示次方运算

例如: [[email protected] ~]# let b=4**2 ;echo $b

16

?问号

匹配单个字符的单个长度

例如: [[email protected] ~]# ls /root/?.txt

/root/1.txt

,逗号

这个符号常运用在运算当中当做"区隔"用途

。句号

表示隐藏文件或者是当前目录,没多大用,不多解释

:冒号

通常在脚本中做间隔作用

!叹号

逻辑运算意义上的“非”的意思,主要用于awk中

_短横杠,俗称减号

一般是cd命令里面的回到上次工作目录的意思

或者作为运算符号

~ 波浪号

一般用于cd命令

[ ]中括号

[[email protected] aaa]# ls

a  d  f  fh  h  r

[abcd]里面代表一定有一个字符 或者是a 或者是b 或者···是括号里面其中一个字符符合就显示

[[email protected] aaa]# ls -l [abcd]

-rw-r--r-- 1 root root 0 10-02 19:49 a

-rw-r--r-- 1 root root 0 10-02 19:49 d

表示一个连续的组合

[[email protected] aaa]# ll *[0-9]*

-rw-r--r-- 1 root root 0 10-02 19:18 1

-rw-r--r-- 1 root root 5 10-02 19:18 111

-rw-r--r-- 1 root root 0 10-02 19:18 2

-rw-r--r-- 1 root root 0 10-02 19:28 w323ewq

[-]

表示从-前连续匹配到-后,如果没有就不显示继续匹配下一个直到连续的字符结束,然后显示匹配到的值

例如

[[email protected] aaa]# ll [1-3] 表示1-3之间的所有数字

-rw-r--r-- 1 root root 0 10-02 19:18 1

-rw-r--r-- 1 root root 0 10-02 19:19 3

[^]

表示取反的意思

[[email protected] aaa]# ll [^1-5] 匹配除了1到5只之外的所有数字都匹配

-rw-r--r-- 1 root root 0 10-02 19:19 6

-rw-r--r-- 1 root root 0 10-02 19:19 7

-rw-r--r-- 1 root root 0 10-02 19:19 8

-rw-r--r-- 1 root root 0 10-02 19:19 9

( )小括号

一般表示在一个shell语句中子shell的起始

[[email protected] aaa]# awk ‘{if ($0~/abc/) print $1}‘ 111

abc

{ }大括号

中间为命令块的组合

例1、

cat 111 |awk ‘{print $0}‘

例2、

表示一个集合

[[email protected] aaa]# touch {1..9}{a,b,c}

[[email protected] aaa]# ls

1a  1b  1c  2a  2b  2c  3a  3b  3c  4a  4b  4c  5a  5b  5c  6a  6b  6c  7a  7b  7c  8a  8b  8c  9a  9b  9c

/ 斜杠:1、表示目录的路径的意思 + 加法运算符  - 减法运算符 \* 乘法运算符 /除法运算符 %取余运算符

例如:   echo "/etc/passwd/"

/etc/passwd

例如: [[email protected] ~]# x=100

[[email protected] ~]# a=30

[[email protected] ~]# expr $x + $a

130

[[email protected] ~]# expr $x - $a

70

[[email protected] ~]# expr $x \* $a

3000

[[email protected] ~]# expr $x / $a

3

[[email protected] ~]# expr $x % $a

10

文件描述符          名称         常用缩写     默认值

0               标准输入      stdin            键盘

1               标准输出      stdout         屏幕

2            标准错误输出   stderr          屏幕

我们在简单地用<或>时,相当于使用 0< 或 1>

1> 表示正确的输出

0> 表示正确的输出

>     将输出的内容添加到文本文件内,并覆盖原有

>>     将输出的内容结果追加到文本文件内,不会覆盖原有

>test.txt  若有test.txt这个文件,则清空文件内所有内容

若没有test.txt文件,则创建一个test.txt文件

< 数据流重定向:将内容事先保存在一个文件中,需要里面的数值时候,指定文件路径,系统可自动检测读取

<< 输入导向

&>或者2>&1     将输出的正确信息与错误信息添加到同一个文本文件内,并覆盖原有

&>>     将输出的正确信息与错误信息添加到同一个文本文件内,并追加进去

2>     将输出的错误信息添加到文本文件内,并覆盖原有

2>>     将输出的错误信息追加到文本文件,不会覆盖原有

echo "www">1.txt 2>2.txt 表示将正确的信息输入到1.txt文件中,将错误的信息输入到2.txt文件中

保存错误的信息可以 2> /dev/null

cat > www

www.baidu.com

www.taobao.com

按Ctrl+d退出

然后你输入的信息就会保存在www这个文件中

cat > www << "eof"

www.baidu.com

www.taobao.com

eof 不需要按Ctrl+d退出

立即就结束了

$#         表示命令行中位置参数的个数

例:

[[email protected] ~]# vim test.sh

#!/bin/bash

#

echo "当前的位置变量是:$1"

echo "当前的位置变量是:$2"

echo "当前的位置变量是:$3"

echo "当前的位置变量是:$4"

echo $#

[[email protected] ~]# ./test.sh a b c d

当前的位置变量是:a

当前的位置变量是:b

当前的位置变量是:c

当前的位置变量是:d

4 统计出运用了几个位置变量参数

$*     表示所有位置参数的内容

例:

[[email protected] ~]# vim test.sh

#!/bin/bash

#

echo "当前的位置变量是:$1"

echo "当前的位置变量是:$2"

echo "当前的位置变量是:$3"

echo "当前的位置变量是:$4"

echo $*

[[email protected] ~]# ./test.sh a b c d

当前的位置变量是:a

当前的位置变量是:b

当前的位置变量是:c

当前的位置变量是:d

a b c d                     显示出位置变量的内容(值)

$?     表示前一条命令执行后的返回状态,返回值为0表示执行正确,非0值为执行错误

例1、

[[email protected] /]# ls www

ls: www: 没有那个文件或目录

[[email protected] /]# echo $?

2

例如: [[email protected] ~]# cat /etc/passwd

[[email protected] ~]# echo $?

0 返回的值为0,表示前面执行的命令cat /etc/passwd是正确的

$0     表示当前执行的脚本或程序的名称

例:

[[email protected] ~]# vim test.sh

#!/bin/bash

#

echo "当前的位置变量是:$1"

echo "当前的位置变量是:$2"

echo "当前的位置变量是:$3"

echo "当前的位置变量是:$4"

echo $0

[[email protected] ~]# ./test.sh a b c d

当前的位置变量是:a

当前的位置变量是:b

当前的位置变量是:c

当前的位置变量是:d

./test.sh               显示执行的脚本或是程序

本文章符号在简单或普通的脚本中已经够用了,还有些特殊符号涉及到某些命令,我会在特定的命令中再次补充说明。

好了!现在大概就知道这么多符号,或许有些特殊符号我还没了解到,如果有不足之处还望各位读者多多包涵,相互学习吧。

谢谢支持!

时间: 2024-10-21 22:10:48

Linux特殊符号的用法的相关文章

Linux中特殊符号的用法

在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ? : ^ $#   [email protected] `command`{}   [] [[]] ()   (()) ||   && {xx,yy,zz,...}~   ~+   ~-   &   \\<...\\>   + - %=   ==   != #井号 (co

linux中快捷键的用法

linux中快捷键的用法 1.1 常见快捷键 ctrl + a 把光标移动到行首 ctrl + e 把光标移动到行尾 ctrl + c 撤销当前的操作=cancel ctrl + d logout命令(当前行没有任何内容,退出当前用户),删除光标所在位置后面的一个符号,文本 ctrl + l(小写字母L)清除屏幕内容 ctrl +u 剪切光标所在位置到行首内容 ctrl +k 剪切光标所在位置到行尾内容 ctrl +y 粘贴 ctrl + r search搜索历史命令,继续搜索,查找历史命令 

2015-08-17 [资料分享] Linux特殊符号大全

Linux特殊符号大全 在shell中常用的特殊符号罗列如下: #   ;   ;;      .      ,       /       \       'string'|       !   $   ${}   $?      $$   $*  "string"*     **   ?   :   ^   $#   [email protected]    `command`{}  []   [[]]   ()    (())  ||   &&       {xx

Linux下 find 命令用法

Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数: pathname: find命令所查找的目录路径.例如用.来表示当前目录,用/来表示系统根目录.-print: find命令将匹配的文件输出到标准输出.-exec: find命令对匹配的文件执行该参数所给出的shell命令.相应命令的形式为'command' { } \;,注意{ }和\:之间的

【shell】Linux shell中括号的用法

Linux shell中括号的用法 概述 本文主要介绍Linux中括号的用法,主要包含判断文件和变量. **注意事项**:中括号两边必须有空格. 使用中括号会涉及到的知识 &&.|| 在本文对文件或者变量做判断的时候,可能会多次使用到&&和||这两个符号,所以在我们进入中括号的学习之前首先了解一下这两个符号的作用. &&:并 --> 两真才为真,如果有两个条件,第一个为真,那么肯定会判断第二个条件:如果第一个条件为假,那么第二个条件将不会判断.(第一个

Linux基础篇--linux基础和帮助用法

Linux基础篇--linux基础和帮助用法 本章概要 用户登录 终端 Shell介绍 执行命令 简单命令 Tab键补全 命令行历史 bash快捷键 使用gnome-terminal whatis command--help manandinfo 本地帮助文档/usr/share/doc/ 官网在线文档 其它网站和搜索 用户登录 root用户   一个特殊的管理帐户   也被称为超级用户   root已接近完整的系统控制   对系统损害几乎有无限的能力   除非必要,不要登录为root 普通用户

Linux下Kill函数用法

http://www.cnblogs.com/winnxm/archive/2010/01/22/1654502.html [ KILL ]功能描述: 用于向任何进程组或进程发送信号. 1 #include <sys/types.h> 2 3 #include <signal.h> 4 5 int kill(pid_t pid, int sig); 6 7 参数: pid:可能选择有以下四种 1. pid大于零时,pid是信号欲送往的进程的标识. 2. pid等于零时,信号将送往所

Linux 的date命令用法

Linux date命令的用法 在linux shell编程中,经常用到日期的加减运算 以前都是自己通过expr函数计算,很麻烦 其实date命令本身提供了日期的加减运算 非常方便.例如:得到昨天的时间date +%Y%m%d --date="-1 day" date 用法: date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]date 可以用来显示或设定系统的日期与时间.1.在显示方

c/c++中#和##链接符号的用法

#include <stdio.h> #include <stdlib.h> /* 英语原文: In function-like macros, a # operator before an identifier in the replacement-list runs the identifier through parameter replacement and encloses the result in quotes, effectively creating a stri