在 Linux 系统中,符号(特殊字符)在命令行、脚本编程和系统配置中扮演着关键角色。以下是分类详解:
用于文件名扩展(由 Shell 解析):
- * :匹配任意长度字符(如 ls *.txt 显示所有 .txt 文件)
- ? :匹配单个字符(如 file?.log 匹配 file1.log 但不匹配 file10.log)
- [] :匹配括号内任意一个字符(如 [abc].txt 匹配 a.txt 或 b.txt)
- {} :生成组合(如 mkdir /dir{1,2,3} 创建 /dir1, /dir2, /dir3)
控制输入/输出流:
- > :覆盖输出到文件(如 ls > list.txt)
- >> :追加输出到文件(如 echo "new" >> file.txt)
- < :从文件读取输入(如 sort < unsorted.txt)
- | :管道,将前一个命令的输出作为下一个的输入(如 ps aux | grep nginx)
组合命令执行逻辑:
- && :前一个命令成功则执行下一个(如 make && make install)
- || :前一个命令失败则执行下一个(如 ping -c1 host || echo "Host down")
- ; :按顺序执行命令(如 cd /tmp; ls)
处理变量和字符串:
- $ :引用变量(如 echo $PATH)
- "" :双引号,允许变量扩展(如 echo "User: $USER")
- '' :单引号,禁止所有扩展(如 echo '$USER' 输出字面量 $USER)
- ` 或 $() :命令替换(如 echo "Today is $(date)")
\ :转义下一个字符(如 echo "Price: \$5" 输出 Price: $5)# :注释(如 # This is a comment)~ :用户家目录(如 cd ~ 进入当前用户的家目录)+/- :设置权限(如 chmod u+x file 给所有者添加执行权限)= :精确设置权限(如 chmod o=rw file 设置其他用户为读写)用于文本搜索(如 grep, sed, awk):
- . :匹配任意单个字符
- ^ :匹配行首(如 ^start)
- $ :匹配行尾(如 end$)
- * :前一个字符重复 0 次或多次
& :后台运行命令(如 sleep 10 &)Ctrl+C :终止前台进程Ctrl+Z :暂停进程(可用 fg/bg 恢复)!! :重复上一条命令(需谨慎!)!$ :引用上一条命令的最后一个参数(如 mkdir dir && cd !$)'' 会禁用所有扩展,而双引号 "" 允许变量扩展。cd "My Documents" 或 cd My\ Documents)。掌握这些符号能显著提升 Linux 操作效率,尤其在脚本编写和自动化任务中。建议通过实践逐步熟悉其用法。