在Linux系统中,特殊字符在命令行、脚本编程和文本处理中有特定功能。以下是常见特殊字符及其含义的详细分类说明:
*
ls *.txt 列出所有.txt文件。?
ls file?.txt 匹配 file1.txt,但不匹配 file10.txt。[]
ls [abc]* 列出以 a、b 或 c 开头的文件。[0-9] 匹配数字,[a-z] 匹配小写字母。[^] 或 [!]
ls [!a]* 列出不以 a 开头的文件。~
cd ~ 进入家目录。.
./script.sh 执行当前目录下的脚本。..
cd .. 返回上一级目录。/
/home/user/file。>
echo "text" > file.txt。>>
echo "text" >> file.txt。<
wc -l < file.txt。|
ls | grep "txt"。2> 或 &>
command 2> error.log。;
cmd1; cmd2。&&
make && make install。||
cmd1 || echo "Failed"。&
sleep 10 &。#
# This is a comment。$
echo $PATH,echo $((1+2))。""
$var或$(cmd))。echo "User: $USER"。''
echo '$USER' 输出 $USER。` 或 $()
echo `date 或 echo $(date)。\
echo "Price: \$5"。{}
echo {1..3} 输出 1 2 3;cp file{,.bak} 复制为 file.bak。!
!ls 执行最近的 ls 命令)。[]中表示取反(见通配符部分)。-
-l),或代表标准输入/输出。tar -xvf file.tar,cat file | grep "text" -。()
(cd /tmp && ls)。;、&&、||
>
rm -rf /
* 和 / 组合可能引发灾难性删除(务必检查路径)。掌握这些特殊字符能高效操作Linux,但需注意:
- 转义字符(\)或引号用于处理包含特殊字符的文件名(如 touch "file*.txt")。
- 通配符在脚本和命令中行为可能不同(建议测试后使用)。
通过组合这些字符,可以构建复杂的命令或脚本(如 find . -name "*.log" -exec rm {} \;)。