首页 >> 知识 >> Bash 需要知道的 15 个特殊字符

Bash 需要知道的 15 个特殊字符

Bash 需要知道的 15 个特殊字符

如果您想在 Linux、macOS 或其他类 UNIX 系统上精通 Bash shell,特殊字符(如 ~、*、| 和 >)至关重要。蜜桃成人网站入口将帮助您解开这些神秘的 Linux 命令序列,成为象形文字的英雄。

什么是特殊字符?

Bash shell 以两种不同的方式处理一组字符。当您在 shell 中键入它们时,它们充当指令或命令并告诉 shell 执行特定功能。将它们视为单字符命令。

有时,您只想打印一个字符,而不需要它充当魔法符号。有一种方法可以使用角色来代表它自己而不是它的特殊功能。

蜜桃成人网站入口将向您展示哪些字符是“特殊”或“元”字符,以及如何在功能上和字面上使用它们。

~ 主目录

波浪号 (~) 是您的主目录的简写。这意味着您不必在命令中键入主目录的完整路径。无论您在文件系统中的哪个位置,都可以使用此命令转到您的主目录:

cd ~

您还可以将此命令与相对路径一起使用。例如,如果您位于文件系统中不在您的主文件夹下的某个位置,并且想要更改到您的 work 目录中的 archive 目录,请使用波浪号来执行它:

cd ~/work/archive.当前目录

句点 (.) 表示当前目录。如果将 -a(全部)选项与 ls 一起使用,您会在目录列表中看到它。

ls -a

您还可以在命令中使用句点来表示当前目录的路径。例如,如果你想从当前目录运行一个脚本,你可以这样调用它:

./script.sh

这告诉 Bash 在当前目录中查找 script.sh 文件。这样,它就不会在您的路径中搜索目录来匹配可执行文件或脚本。

.. 父目录

双句点或“双点”(..) 代表当前目录的父目录。您可以使用它在目录树中向上移动一个级别。

cd ..

您还可以将此命令与相对路径一起使用——例如,如果您想要在目录树中上升一个级别,然后进入该级别的另一个目录。

您还可以使用此技术快速移动到目录树中与当前目录处于同一级别的目录。你跳上一层,然后跳下一层进入不同的目录。

cd ../gc_help/ 路径目录分隔符

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

ls ~/work/archive

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

cd /# 注释或修剪字符串

大多数情况下,您使用井号或数字符号 (#) 来告诉 shell 以下是注释,它不应对其执行操作。您可以在 shell 脚本中使用它,也可以在命令行中使用它,但用处不大。

# This will be ignored by the Bash shell

但是,它并没有真正被忽略,因为它已添加到您的命令历史记录中。

您还可以使用散列来修剪字符串变量并从开头删除一些文本。此命令创建一个名为 this_string 的字符串变量。

在此示例中,蜜桃成人网站入口分配文本“Dave Geek!”到变量。

this_string="Dave Geek!"

此命令使用 echo 将“How-To”字样打印到终端窗口。它通过参数扩展检索存储在字符串变量中的值。因为蜜桃成人网站入口附加了散列和文本“Dave”,所以它会在将字符串传递给 echo 之前删除该部分字符串。

echo How-To ${this_string#Dave}

这不会改变存储在字符串变量中的值;它只会影响发送到 echo 的内容。蜜桃成人网站入口可以使用 echo 再次打印字符串变量的值并检查:

echo $this_string?单字符通配符

Bash shell 支持三种通配符,其中一种是问号 (?)。您可以使用通配符替换文件名模板中的字符。包含通配符的文件名形成一个匹配一系列文件名的模板,而不仅仅是一个。

问号通配符代表恰好一个字符。考虑以下文件名模板:

ls badge?.txt

这翻译为“列出名称以‘徽章’开头且后跟文件扩展名之前的任何单个字符的任何文件。”

它匹配以下文件。请注意,有些在文件名的“标志”部分后有数字,有些有字母。问号通配符将同时匹配字母和数字。

但是,该文件名模板与“badge.txt”不匹配,因为文件名在“badge”和文件扩展名之间没有单个字符。问号通配符必须匹配文件名中的相应字符。

您还可以使用问号查找文件名中具有特定字符数的所有文件。这列出了文件名中恰好包含五个字符的所有文

网站地图