美文网首页
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