美文网首页
Linux Bash中,你应该知道的15个特殊字符!

Linux Bash中,你应该知道的15个特殊字符!

作者: 雨儿欣 | 来源:发表于2023-02-27 21:35 被阅读0次

Linux Bash中,你应该知道的15个特殊字符!

首先明白什么是特殊字符?

特殊字符->当您在 shell 中键入它们时,它们充当指令或命令,并告诉 shell 执行某个功能。

因此,我们把单字符视为单个的字符命令。

1、~ Home Directory(家目录或主目录)

波浪线(~)是您的主目录的缩写。

这意味着您不必在命令中输入您的主目录的完整路径。

无论您在文件系统的哪个位置,您都可以使用这个命令进入您的主目录.

~ 在计算机世界里,家也应该是你最熟悉的地方!

2、. Current Directory(当前工作目录)

句号(.)代表当前工作目录。如果在 ls 中使用 -a (all)选项或者其他选项,则可以在目录列表中看到它。

. current directory

3、.. Parent Directory(父目录或上级目录)

英文中的双句号”(..)表示当前目录的父目录。您可以使用它在目录树中向上移动一级。

parent directory

4、/ Path Directory Separator(路径目录分隔符)

您可以使用正斜杠(/)ーー通常称为斜杠ーー来分隔路径名中的目录。

一个斜杠表示可能的最短目录路径。因为 Linux 目录树中的所有内容都从根目录开始,所以您可以使用以下命令快速移动到根目录:

/ root directory


5、# Comment or Trim Strings(注释符号或修剪字符串)

5.1、注释(comment)

多数情况下,您使用符号(#),在终端中或者shell脚本中注释相关内容,该内容将被bash shell忽视

,但是这并不是被真正的忽视,而是被存在你命令历史当中,我们可以通过history名令进行查看。

zsh history

5.2 也可以使用#符号,针对字符串便令,从头部开始删除部分字符

定义个字符串one_string="Hello world.",并输出该字符串。

one_string trim string Hello 被裁减掉

这做不会改变字符串变量one_string中存储的值; 

它只会影响发送到 echo 的内容。

我们可以使用 echo 再次打印字符串变量的值并检查以下内容:

one_string 存储的依然是Hello world

6、? Single Character Wildcard(单字符通配符)

创建10个txt文本文件 ls 查看符合的文件

因为文件test??.txt文件名中,test后面有两个字符,所以需要两个??号来代替,才能才看我们新建的10个txt文件,如果用一个?,不能进行全部的通配。

test?.txt 没有满足条件的通配符 ??????.txt 进行全部文件的通配

7、* Character Sequence Wildcard(字符序列通配符或任意字符通配符)

使用*号符号,可以进行任意多个字符的统配。

character sequence wildcard

*号通配符,在shell中使用非常的方便和灵活,也使用最为高频的通配方式。

8、[] Character Set Wildcard(字符集通配符)

文件名中的相关字符必须至少与通配符集中的一个字符匹配。

character set wildcard

? * [] 是linux和unix系统中的三种字符通配方式,可以给据场景的需求进行灵活的选择。

9、; Shell Command Separator(命令分割符)

该符号可以让你在一行中运行多条命令

请注意,第二个命令即使第一个失败也会运行,第三个命令即使第二个失败也会运行,依此类推。

还有一点需要注意:

如果希望在一个命令失败时停止执行顺序,请使用双符号(& &)而不是分号:

&&逻辑与

&&逻辑与前个命令执行失败,后面的命令并不会被执行。

10、& Background Process(后台处理)

正常情况下,在终端窗口中输入命令去执行在完成之后,才返回到命令提示符。

通常,这只需要一两分钟,如果你是通过更新系统软件,需要更长的时间,例如:sudo apt update && sudo apt upgrade。这时候如果需要在等待的过程,启动另外的程序,,则需要关闭应用程序之前不能使用终端窗口。这时候后台处理就大用用处了。

background process It's great!

11、< Input Redirection(输入重定向)

许多 Linux 命令接受一个文件作为参数,并从该文件获取它们的数据。这些命令中的大多数还可以接受来自流的输入。要创建流,可以使用左尖括号(<) ,如下面的示例所示,将文件重定向到命令中:

input redirection input redirection can not know filename

12、> Output Redirection(输出重定向)

您可以使用右直角括号(>)来重定向命令的输出(通常,将输出重定向到文件中) .

output redirecton

13、| Pipe(管道)

pipe可以将多个命令连接在一个,一个命令的结果做为下个命令的输入。

14、! Pipeline logical NOT and History Operator

叹号(!)是一个逻辑运算符,意思是“非”。

! logical opterator

!6051 历史命令中的第6051条

history

!!重复上次命令

!!

15、$ Variable Expressions(变量表达式)

您可以使用 echo 查看变量持有的值ーー只需在变量名称前面加上美元符号($) ,如下所示:

reference variable

要创建变量,必须给它一个名称并提供一个值让它保存。您不必使用美元符号来创建变量。只有在引用变量时才添加 $,如下面的示例所示:

创建变量

在美元符号周围添加大括号({}) ,并执行参数展开以获取变量的值,并允许对该值进行进一步的转换。

${variables}

Quoting Special Characters(引用特殊字符)

下面三种特殊的引用,产生不同的效果:

quoting special characters

把特殊字符想象成非常短的命令。

如果您能记住它们的用法,

那么对于理解 Bash shell 以及其他人的脚本将大有裨益。

下想获得更多的命令帮助信息请试一试下面的方法:

推荐使用tldr

备注:tldr - too long don't read! 

相关文章

网友评论

      本文标题:Linux Bash中,你应该知道的15个特殊字符!

      本文链接:https://www.haomeiwen.com/subject/vzrkldtx.html