Liunx特殊符号
引号
1. 单引号(' ')
- 特性:强引用、所见即所得
- 解读:单引号内的所有内容都会原样输出,不会解析变量、特殊符号、转义字符等,适合需要精准保留原始字符串的场景。
例: echo 'Hello $USER' 会直接输出 Hello $USER ,而非解析 $USER 变量。
2. 双引号(" ")
- 特性:弱引用、解析后输出
- 解读:会识别并解析内部的变量、特殊符号、转义符等,再输出解析后的结果,适合需要保留变量或特殊字符功能的场景。
例: echo "Hello $USER" 会输出 Hello 用户名 (解析 $USER 变量后的结果)。
3. 无引号
- 使用场景:连续字符串、数字、路径等**无特殊字符(空格、变量、特殊符号)**时可省略引号。
- 注意:若内容包含空格、变量、特殊符号,必须加双引号,否则会被Linux Shell拆分或误解析。
4. 反引号(``)
- 作用:引用命令执行结果,功能等同于 $(命令) 。
- 例: echo `date` 和 echo $(date) 都会输出当前系统时间(执行 date 命令后的结果)。
重定向符号
一、文件描述符核心概念
Linux中一切设备皆文件,程序启动时默认打开3个标准I/O文件,对应唯一的文件描述符(数字标识):
文件描述符 名称 作用
0 标准输入(stdin) 接收外部输入的数据
1 标准输出(stdout) 输出正常执行结果
2 标准错误(stderr) 输出执行错误的信息
二、I/O重定向符号及功能(修正图片笔误后)
重定向的核心是改变数据的默认流向,图片中存在“玳码”“讲标”等笔误,以下是准确的符号与功能说明:
重定向类型 符号 功能解读
标准输入重定向 0< 或 < 将文件内容作为命令的输入(替代键盘输入)
追加输入重定向 0<< 或 << 按行读取输入,直到遇到指定终止符(Here Document)
标准输出重定向 1> 或 > 将命令正常输出写入文件,覆盖文件原有内容
标准输出追加重定向 1>> 或 >> 将命令正常输出追加到文件末尾,不覆盖原有内容
标准错误输出重定向 2> 将命令错误信息写入文件,覆盖文件原有内容
标准错误输出追加重定向 2>> 将命令错误信息追加到文件末尾,不覆盖原有内容
三、补充关键知识点
1. 合并重定向:实际使用中常需将标准输出和标准错误合并重定向,例如 command > output.log 2>&1 (将错误和正常输出都写入文件),或 command &> output.log (简化写法)。
2. 流向逻辑: < / << 是“从文件到命令”(右到左), > / >> 是“从命令到文件”(左到右),箭头方向即数据流向。
逻辑符号
逻辑关系 符号 执行规则 示例
与 && 前命令成功,才执行后命令 命令1 && 命令2
或 || 前命令失败,执行后命令 命令1 || 命令2
非 ! 对命令执行结果取反
其他符号
; 分号,命令分隔符或结束符号
# 1.文件中注释内容。2.root身份提示符
| 管道符,传递结果给下一个命令
\ 转义符,将含特殊意义的字符还原成普通字符
{} 1.生成序列。2.引用变量作为变量与普通字符的分割。
$ 1.$变量,取出变量的值。2.普通用户的身份提示符