_
caseBanner
当前位置:首页 > 新闻资讯
LINUX特殊字符的含义
发布时间:2021-02-26 22:09:32 浏览: 84次 来源:【jake推荐】 作者:-=Jake=-

#主题标签(评论)

除了前面提到的“第一行”之外,这几乎是一个无处不在的符号

#!/ bin / bash

井号通常出现在行的开头或完整的说明之后。这种情况意味着符号后的文本是注释,不会被执行。

#这行是注释。

echo“ a = $ a”#a = 0

由于此功能,当您不想临时执行一行指令时,只需在该行的开头添加#。这通常在编写过程中使用。

#echo“ a = $ a”#a = 0

如果在指令中使用,用双引号引起来或在反斜杠后使用,则它将成为通用符号,并且不具有上述特殊功能。

〜帐户的主目录

这是一个常见符号og真人 ,代表用户的主目录:cd〜;;您还可以直接在符号cd〜user或路径的一部分后添加帐户名称:〜/ bin

〜+当前工作目录。该符号代表当前的工作目录。它具有与内置命令pwd相同的功能。

#echo〜+ / var / log

〜-上一个工作目录,此符号表示上一个工作目录。

#echo〜-/ etc / httpd / logs

;命令分隔符

在外壳中,充当“连续命令”功能的符号是“分号”。例如,下面的示例:cd〜/ backup; mkdir启动; cp〜/.*启动/.

;;连续分号(终结符)

该案例专用的选项充当终结者的角色。

case“ $ fop” inhelp)echo“用法:命令-help -version文件名” ;; version)echo“ version 0. 1” ;; esac

。逗号(点,是“点”)

在外壳中,用户应该知道一个点代表当前目录,而两个点代表上层目录。

CDPATH = .:〜:/ home:/ home / web:/ var:/ usr / local

在上游CDPATH设置中,等号后的点代表当前目录。

如果文件名以点开头,则该文件是一个特殊文件,并且ls命令必须与-a选项一起使用才能显示它。另外,在正则表达式中,点表示字符匹配。

“字符串”单引号(单引号)

用单引号引起来的内容将被视为单个字符串。用引号引起来的$变量无效,也就是说,它被视为防止任何变量替换的通用符号。

heyyou = homeecho'$ heyyou'#我们得到$ he​​yyou

“字符串”双引号(双引号)

用双引号引起来的内容将被视为单个字符串。它防止通配符扩展,但允许变量扩展。这与处理单个参数不同。

heyyou = homeecho“ $ heyyou”#我们回到家

`command`反引号(backticks)

前面的单引号和双引号将一个字符串括起来,但是如果该字符串是命令行怎么办?答案是它不会被实施。为了解决这种情况,我们必须使用单引号引起来。

fdv =`日期+%F`回显“今天$ fdv”

反引号中的日期+%F将被视为一条指令,执行结果将被携带到fdv变量中。

,逗号(逗号,标点中的逗号)

此符号通常在计算中用作“除法”目的。以下示例

#!/ bin / bashlet“ t1 =((a = 5 + 3,b = 7-1,c = 15 / 3)))” echo“ t1 = $ t1,a = $ a,b = $ b“

/正斜杠

表达路径时,它表示目录。

cd /etc/rc.dcd ../..cd /

通常,一个/代表根根目录;在四个算术运算中,它代表除法符号。

让“ num1 =((a = 10/2,b = 25 / 5))””

\反斜杠

交互模式下的转义符具有多种功能;放置在指令之前,具有取消别名的作用;放置在特殊符号之前,特殊符号的作用消失;放在指令末尾,表示指令连接到下一行。

#类型rmrm别名为`rm -i'#\ rm ./*。log

在上面的示例中,我在rm命令之前添加了转义字符。该功能是暂时取消别名功能并恢复rm命令。

#bkdir = / home#echo“备份目录,\ $ bkdir = $ bkdir”备份目录,$ bkdir = / home

在上面的示例中,回显中的\ $ bkdir,escape取消了$变量的功能。因此,将输出$ bkdir,第二个$ bkdir将输出变量/ home的内容。

|管道(管道)

管道是UNIX系统的基本概念。将上一个命令的标准输出连接为下一个命令的标准输入。

谁| wc -l <​​/ p>

充分利用此概念,对简化脚本很有帮助。

!感叹号(取反或取反)

通常,它代表逆逻辑的作用。例如,在条件检测中,使用!=表示“不等于”

如果[“ $?” != 0] thenecho“执行错误”退出1fi

她在正则表达式中扮演“反逻辑”的角色

ls a [!0-9]

在上面的示例中yabo网页版 ,这意味着显示除a0,a1 .... a9以外的文件。

:冒号

在bash中,这是一个内置命令:“不执行任何操作”,但返回状态值0。

回声$? #响应为0

:> f。

上面的行等效于cat / dev / null> f。

。不仅写作短皇冠2登录 ,而且执行效率也高得多。

有时候,会有以下用法

:$ {HOSTNAME?} $ {USER?} $ {MAIL?}

此行的功能是检查是否已设置这些环境变量。如果未设置它们,则错误消息将显示为标准错误。如果您使用诸如test之类的方法或进行这种检查,则基本上可以处理它,但是它不像前面的示例那样简洁高效。

除上述内容外linux 特殊字符,还有一个地方必须使用冒号

linux 特殊字符_linux vi 删除字符_linux 显示乱码字符

PATH = $ PATH:$ HOME / fbin:$ HOME / fperl:/ usr / local / mozilla

在用户的.bash_profile的主目录或具有类似功能的任何文件中,设置“路径”时,我们始终使用冒号将其分隔。

?问号(通配符)

文件名扩展中扮演的角色是匹配任意字符,但不包含空字符。

#ls a?a1

充分利用她的特征,可以更准确地进行文件名匹配。

*星号(通配符)

非常常用的符号。在文件名扩展中,她用于表示任何字符,包括空字符。

#ls a * a a1 access_log

在计算中百人炸金花 ,它代表“乘法”。

让“ fmult = 2 * 3”

除了内置指令let外,还有一条关于算术的指令expr,其中星号还起着“乘法”的作用。但是要小心使用,必须在其前面加上转义符。

**电源操作

在计算时,两个星号表示“功率”的含义。

让“ sus = 2 ** 3” echo“ sus = $ sus”#sus = 8

美元符号

变量替换的代表符号。

vrs = 123echo“ vrs = $ vrs”#vrs = 123

此外,它在正则表达式中定义为行尾。通常在grep,sed,awk和vim(vi)中使用。

$ {}变量的正则表达式

bash为$ {}定义了许多用法。以下是在线说明中的列表

$ {parameter:-word} $ {parameter:= word} $ {parameter:?word} $ {parameter:+ word} $ {parameter:offset} $ {parameter:offset:length} $ {!prefix * } $ {#parameter} $ {parameter#word} $ {parameter ## word} $ {parameter%word} $ {parameter %% word} $ {parameter / pattern / string} $ {parameter // pattern / string}

$ *

$ *是指脚本的执行参考变量。参考参数的算法与一般指令的算法相同。指令本身为0,后跟1,依此类推。引用变量的代表性方式如下:

$ 0,$ 1,$ 2,$ 3,$ 4,$ 5,$ 6,$ 7,$ 8,$ 9,$ {10},$ {11} .....

对于一位数字,您可以直接使用数字,但是如果您有两位以上的数字,则必须使用{}符号将其括起来。

$ *是代表所有参考变量的符号。使用时,必须适当添加双引号。

回显“ $ *”

还有一个符号,其功能与$ *相同,但功能和处理方法略有不同。

$ @

$ @和$ *具有相同的符号,但是它们之间只有一个区别。

符号$ *将所有参考变量视为一个整体。但是符号$ @仍然保留每个参考变量的部分概念。

$#

这也是与参考变量有关的符号。她的角色是告诉您参考变量的总数。

回显“ $#”

linux vi 删除字符_linux 显示乱码字符_linux 特殊字符

$?状态变量(状态变量)

通常来说,UNIX(Linux)系统的进程通过执行系统调用exit()结束。此返回值是状态值。返回父进程以检查子进程的执行状态。

如果成功执行了通用命令程序,则返回值为0;否则,返回值为0。如果失败,则为1。

tar cvfz dfbackup.tar.gz / home / user> / dev / nullecho“ $?”

由于进程ID是唯一的,因此不可能同时具有重复的PID。有时,脚本将需要生成临时文件来存储必要的信息。用户也可以同时使用此脚本。在这种情况下,固定文件名的写入显然是不可靠的。只有生成动态文件名才能满足需要。符号

也许可以满足此需求。它表示当前shell的PID。

回显“ $ HOSTNAME,$ USER,$ MAIL“> ftmp。$$

将其用作文件名的一部分,以避免同时覆盖相同的文件名。

ps:基本上,系统将回收已执行的PID,然后根据需要再次分配它们。因此,即使使用动态文件名写入临时文件,如果在执行脚本后未清除脚本秒速飞艇 ,也会发生其他问题。

()命令组(命令组)

使用括号括起一系列连续的命令。对于外壳,这种用法称为命令组。如下例所示:(cd〜; vcgh =`pwd`; echo $ vcgh),命令组具有一个功能,shell将生成一个子shell来执行这组命令。因此,其中定义的变量仅影响命令组本身。让我们看一个例子

#cat ftmp-01#!/ bin / basha = fsh(a = incg; echo -e“ \ n $ a \ n”)echo $ a#。/ ftmp-01incgfsh

除上述指令组外,在数组变量的定义中还使用了括号;此外,它们还用于可能需要添加转义字符(例如表达式)的其他情况。

(())

这组符号的功能类似于let命令。它用于算术运算,是bash的内置函数。因此,执行效率比使用let指令要好得多。

#!/ bin / bash((a = 10))echo -e“初始值,a = $ a \ n”(((a ++))echo“在a ++之后,a = $ a”

{}花括号(代码块)

有时会出现脚本,并且在括号中会有一个或多个命令或变量设置的段落,以“分号”结尾。

#cat ftmp-02#!/ bin / basha = fsh {a = inbc; echo -e“ \ n $ a \ n”} echo $ a#。/ ftmp-02inbcinbc

此用法与上面介绍的命令组非常相似,但是有所不同。它在当前shell中执行,不会生成子shell。

花括号也用在“功能”的功能中。广义上讲,仅使用花括号时,它的作用类似于没有指定名称的函数。因此,编写这样的脚本也是一件好事。特别是对于输出和输入的重定向,这种方法可以简化脚本的复杂性。

此外,还有括号的另一种用法,

{xx,yy,zz,...}

这种大括号组合经常用在字符串组合中,让我们看一个例子

mkdir {userA,userB,userC}-{homelinux 特殊字符,bin,data}

我们获得了userA-home,userA-bin,userA-data,userB-home,userB-bin,userB-data,userC-home,userC-bin,userC-data以及这些目录。这组符号具有广泛的适用性。如果您能善加利用,那么回报就是简单和高效。像下面的例子一样

chown root / usr / {ucb / {ex,edit},lib / {ex?。?*,how_ex}}

如果不是为了支持这种用法,我们将不得不写几行并重复几次!

[]括号

它经常出现在过程控制中,起到封闭判断的作用。如果[“ $?” != 0] thenecho“执行错误” exit1fi

此符号在正则表达式中的作用类似于“作用域”或“集合”

rm -r 200 [1234]

上面的示例意味着删除2001、2002、2003、2004和其他目录。

[[]]

这组符号与先前的[]符号基本相同,但是她允许直接使用||。和&&逻辑符号。

linux 显示乱码字符_linux 特殊字符_linux vi 删除字符

#!/ bin / bashread akif [[$ ak> 5 || $ ak

||逻辑符号

这通常被看作是代表符号或逻辑的符号。

&&逻辑符号

这通常也被视为代表逻辑的符号。

&背景工作

将一个&符放在完整命令行的末尾,这意味着该命令行被置于后台才能工作。

tar cvfz data.tar.gz data> / dev / null&

\字边界

这组符号在正则表达式中定义为“边界”。例如,当我们要查找单词the时,如果我们使用

grep FileA

您会发现类似的单词也将被视为匹配单词。因为碰巧是那里的一部分。如果要避免这种情况,我们必须添加符号“边界”

grep'\'FileA

+加号(加号)

在表达式中,她用来表示“加法”。

expr 1 + 2 + 3

此外,在正则表达式中,它用来表示前面的“许多”字符。

#grep '10 \ +9'文件B10009#使用此符号时,必须在其前面加上转义符。

-减号(破折号)

在表达式中,她习惯于表示“减法”。

expr 10-2

此外,它也是系统命令的选项符号。

ls -expr 10-2

在GNU命令中,如果单独使用the-symbol,而没有任何其他文件名,则表示“标准输入”。这是GNU命令的常用选项。例如,以下示例

tar xpvf-

这里的符号表示从标准输入中读取数据。

但是,这在cd命令中很特殊

cd-

这表示将工作目录更改为“最后一个”工作目录。

%除法(模数)

在表达式中,它的意思是“除法”。

expr 10%2

此外,以下内容还用于有关变量的正则表达式中

$ {parameter%word} $ {parameter %% word}

1%表示最短的单词匹配,而2表示最长的单词匹配。

=等号(等于)

设置变量时经常看到的符号。

vara = 123echo“ vara = $ vara”

或者诸如PATH之类的设置,甚至用于计算或判断之类的目的。

==等号(等于)

它经常出现在条件判断中,意思是“等于”。

如果[$ vara == $ varb]

...略低于

!=不等于

它经常出现在条件判断中,意思是“不等于”。

如果[$ vara!= $ varb]

...略低于

^

在正则表达式中,此符号表示行的“开始”位置,在[]中,还表示“不”,例如“!”。 (感叹号)

输出/输入重定向

> >> 2>&>&2

文件描述符,使用数字(通常为0- 9)代表文件。

常用的文件描述符如下:

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

0个标准输入标准输入键盘

1个标准输出标准输出屏幕

2标准错误输出stderr屏幕

当我们简单地使用它时,它等效于使用0(在下面进行更多介绍)。

* cmd>文件

将cmd命令的输出重定向到文件文件。如果文件已经存在,则将原始文件清除,并且bash的noclobber选项可以防止覆盖原始文件。

* cmd >>文件

将cmd命令的输出重定向到文件文件。如果文件已经存在,请将信息添加到原始文件中。

* cmd

使cmd命令从文件中读取

* cmd文件名将文件“文件名”的长度缩短为0。 #如果文件不存在,则创建一个长度为0的文件(与“触摸”效果相同)。

cmd>&n将输出发送到文件描述符n

cmd m>&n将信息输出到文件字符m重定向到文件描述符n

cmd>&-关闭标准输出

cmd&1与cmd 2>&1> file的作用不同。

转载自本文

返回列表
二维码
扫一扫,在线询价