一、特殊字符说明
(一)#
:注释字符
功能:以
#
开头的内容被视为注释,不会被执行。示例:
1 2 3 4
# This line is a comment. this_string="amazing alvin" echo awesome ${this_string#amazing} # 输出去掉 "amazing" 的字符串 echo $this_string # 输出原始字符串
用途:用于在脚本中添加说明或临时禁用某些命令。
(二)~
:代表用户的 home 目录
功能:
~
表示当前用户的家目录。示例:
1 2
cd ~ # 返回当前用户的家目录 cd ~/Documents # 进入家目录下的 Documents 文件夹
用途:快速定位到用户的家目录或其子目录。
(三);
:分号(连续指令)
功能:分隔多个命令,即使前面的命令失败,后面的命令也会继续执行。
示例:
1
ls > count.txt; wc -l count.txt; rm count.txt
用途:在一行中执行多个命令。
(四)/
:路径分隔符
功能:用于分隔路径中的目录和文件名,
/
也表示根目录。示例:
1
cd /usr/local/bin
用途:表示路径或切换到根目录。
(五)\
:转义符
功能:
- 取消特殊字符的功能。
- 连接多行命令。
示例:
1 2
\rm file.txt # 取消 rm 的别名 echo "Backup dir, \$bkdir = $bkdir" # 输出 $bkdir 而非变量内容
用途:用于转义特殊字符或分割长命令。
(六)|
:管道符
功能:将一个命令的输出作为下一个命令的输入。
示例:
1
who | wc -l # 统计当前登录用户数量
用途:连接多个命令,实现复杂的数据处理。
(七).
:当前目录
功能:表示当前目录。
示例:
1
./script.sh # 执行当前目录下的 script.sh 脚本
用途:指定当前目录下的文件或脚本。
(八)..
:父目录
功能:表示当前目录的上一级目录。
示例:
1
cd .. # 返回上一级目录
用途:快速切换到父目录。
(九)?
:单字符通配符
功能:匹配文件名中的任意单个字符。
示例:
1
ls f?.txt # 匹配 f0.txt、f1.txt 等
用途:用于文件名匹配。
(十)*
:多字符通配符
功能:匹配任意长度的字符序列。
示例:
1
ls f*.txt # 匹配以 f 开头的所有 .txt 文件
用途:用于文件名匹配。
(十一)!
:逻辑非
功能:表示逻辑非,用于条件表达式中。
示例:
1
ls f[!1-9].txt # 匹配除了 f1.txt 到 f9.txt 之外的文件
用途:用于条件判断或文件名匹配。