«

Linux中字符集/特殊符号/通配符

时间:2023-3-11 11:46     作者:wen     分类: Linux


[TOC]

通配符

作用: 就是一些特殊的字符, 来实现某些特定的特殊功能。

  1. *: 匹配任意字符

    • rm -rf *.txt
  2. *.*: 任意名称.任意类型

    • mv \*.* /temp
  3. /*: 目录下的所有内容(目录和文件)

    • rm -rf /* 危险
  4. ?: 匹配字符, 有且仅有一个字符

    • ll /etc/???
  5. []: 匹配的字符集合

    • [abcd] 匹配abcd任意一个字符
    • [a-z] 匹配a-z之间的任意一个字符
    • [0-9] 匹配0-9之间任意一个字符
    • [!abcd] 匹配不是abcd中的任意一个字符
    • [!a-d] 匹配不是abcd中的任意一个字符
    • [^a-d] 匹配不是abcd中的任意一个字符
  6. {}: 用于表示一个或多个字符串的集合。它通常用于批量操作或创建文件名或目录名的模板。

    • touch {a..z}.txt

字符集

查看字符集echo $LANG

如何修改字符集

特殊符号

位置符号

  1. . 当前目录
  2. .. 当前目录的上一级目录
  3. / 根目录
  4. ~ 主目录、家目录
  5. - 上一次进入的目录

引号相关

  1. '' 单引号, 所见及所得, 字符串常量
  2. "" 双引号, 所见非所得, echo "$LANG"
  3. \ 转义字符 echo "\n"
  4. `` 反引号, 命令替换

重定向

  1. 重定向输出
    • > 标准输出重定向, 已覆盖的方式写入
    • >> 标准输出重定向,以追加 的方式写入
  2. 重定向输入
    • < 标准输入重定向, 用来引导命令从哪里读取数据
    • << 标准输入重定向, cat > a.txt<<1234

标准输入输出

2>&1 同时把错误信息和正确信息都记录到文件中

  1. 标准输入 stdin:0
  2. 标准输出 stdout:1
  3. 错误输出 stderr:2

管道符

  1. |管道符, 把前面一个命令的结果传递给后面的命令 , 管道默认传递的是文字符号
    • ps -ef | grep nginx
    • cat a.txt | wc -l
  2. 管道
    • IPC进程间通信
      • 有名管道
      • 匿名管道

其他字符

  1. #
    • 出现在shell终端CLI, 表示你是root
    • 出现在配置文件里, 表示注释
  2. $
    • 出现在shell终端CLI, 表示你是普通用户
    • 出现在脚本和配置文件$LANG, 表示取出变量内容
  3. & 一般在脚本中或在命令行中, 让命令在后台运行 php index.php &
  4. ; 可以表示一个表达式结束, 一个语句解释。或连续不同命令的分隔符。
  5. !
    • 强制,vim文本编辑器w!和q!
    • 查找, !ls上一次以ls开头的命令并执行

标签: linux