linux通配符

Linux之通配符

 

前言:学习通配符有点为正则表达式打基础的感觉……之前学python有学过正则表达式,所以这篇博客学起来还是挺快的。

特殊符号

复制代码
|     #管道符,或者(正则)
>     #输出重定向
>>    #输出追加重定向
<     #输入重定向
<<    #追加输入重定向
~     #当前用户家目录
`` $() #引用命令被执行后的结果
$     #以。。。结尾(正则)
^     #以。。。开头(正则)
*     #匹配全部字符,通配符
?    #任意一个字符,通配符
#       #注释
&       #让程序或脚本切换到后台执行
&&      #并且 同时成立
[]      #表示一个范围(正则,通配符)
{}      #产生一个序列(通配符)
.       #当前目录的硬链接
..      #上级目录的硬链接
复制代码

通配符

他是shell的内置功能
通配符,用过DOS的应该很了解,也很常用。
通配符,指包含这些字符的字符串“?”,“*”,“[]”,{}

通配符含义===>匹配文件名

 

符号作用
*匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *
?匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0
[abcd]匹配abcd中任何一个字符
[a-z]表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0
{..}表示生成序列. 以逗号分隔,且不能有空格
补充 
[!abcd]或[^abcd]表示非,表示不匹配括号里面的任何一个字符

通配符详解

? 任何一个字符

[abcd]表示匹配中括号内任意一个字符就成立

  • {}生成序列

  • []用来找文件(匹配文件名)

利用 {} 来备份

[^abcd] !^表示非,取反

[]与{}区别

  • []只能用来找文件
  • {} 用来找文件,或创造文件,生成序列

 

特殊符号

 命令1|命令2  ###管道符号,传递的时普通的文本,字符串,来自于前一个命令。
 |xargs   ###管道符号,通过xargs这个管道符命令来将字符串转换成文件名

目录结构

.   #当前目录(或“任意一个字符”正则)
..  #当前目录的上一级目录

重定向符号

>   #输出重定向,会清空原文内容,然后在向文件里面追加内容
>>  #追加输出重定向,追加到文件的最后一行
<   #输入重定向tr xargs
<<  #cat 用来给文件追加多行文本

 

未分类特殊符号

#表示注释

linux 会忽略他,给运维人员看的,解释说明用的。

$ 引用变量 去变量的值或普通用户的命令提示符

1、shell
$变量:取变量里面的内容

2、awk
$取列 $数字

3、普通用户的命令提示符

``(esc下面)反引号 引用命令的结果,相当于$()

;分隔多个命令,没有逻辑关系,只是一步一步执行

1、shell

2、sed

[root@chengliang ~]$ seq 100 | sed -n '20p;50p;100p'
20
50
100
cd - ;su -
  • cd - ###返回上一次的工作目录,返回上一次的位置
  • su - ###切换用户,重新加载环境变量

 

 ~ 当前用户的家目录,老家
[root@chengliang ~]$ cd ~
会直接返回当前用户的家目录

 

\ 转义符号或者叫屏蔽别名
.    #(正则里代表任意一个字符)
\.   #只代表一个点的符号

 

! 表示非

表示强制
vi/vim
vi 强制退出 (:q!)

 

&& 表示并且

注意:&&符号只有当前边的命令执行成功才会执行后边的命令

单引号,双引号,不加引号的区别

  • 单引号:所见即所得。

  • 双引号:解析特殊符号,特殊符号有了原本的特殊意思

  • 不加引号:比较特殊,支持通配符

转载于:https://www.cnblogs.com/zpzp7878/p/10368535.html

Linux系统中,通配符(wildcard)是一种用于匹配文件名、路径或命令参数的特殊字符。它们广泛应用于命令行操作中,特别是在文件管理和搜索任务中。以下是一些常见的通配符及其使用示例。 ### 通配符类型及用法 #### 1. `*`(星号) `*` 用于匹配任意数量的字符(包括零个字符)。它是最常用的通配符之一。 - 示例:查找所有以 `.txt` 结尾的文件。 ```bash ls *.txt ``` 此命令将列出当前目录下所有扩展名为 `.txt` 的文件[^1]。 #### 2. `?`(问号) `?` 用于匹配单个任意字符。 - 示例:查找所有以 `file` 开头,后跟一个字符并以 `.log` 结尾的文件。 ```bash ls file?.log ``` 这将匹配 `file1.log`、`fileA.log` 等,但不会匹配 `file10.log` 或 `file.log`。 #### 3. `[ ]`(字符集合) `[ ]` 用于匹配括号内任意一个字符。 - 示例:查找所有以 `data` 开头,后跟 `1`、`2` 或 `3` 的文件。 ```bash ls data[123].csv ``` 这将匹配 `data1.csv`、`data2.csv` 和 `data3.csv`。 #### 4. `[ - ]`(范围匹配) 可以使用 `-` 在 `[ ]` 中指定字符范围。 - 示例:查找所有以 `log` 开头,后跟数字 `0` 到 `9` 的文件。 ```bash ls log[0-9].txt ``` 这将匹配 `log0.txt` 到 `log9.txt`。 #### 5. `[^ ]` 或 `[! ]`(否定匹配) `[^ ]` 或 `[! ]` 用于匹配不在括号内的字符。 - 示例:查找所有以 `abc` 开头,但不以 `d` 或 `e` 结尾的文件。 ```bash ls abc[!de].log ``` ### 通配符在命令中的应用 #### 使用 `whatis` 命令进行通配符搜索 `whatis` 命令可以使用 `-w` 或 `--wildcard` 选项进行通配符搜索,帮助查找命令或函数信息。 - 示例:查找所有以 `ab` 开头的命令或函数。 ```bash whatis -w 'ab*' ``` 输出可能包括: ``` abort (3) - cause abnormal process termination abs (3) - compute the absolute value of an integer ``` #### 使用 `man` 命令查看特定章节的手册 `man` 命令支持通过章节号查找特定的手册页,这也可以与通配符结合使用。 - 示例:查看第 3 章节中与 `abs` 相关的手册页。 ```bash man 3 abs ``` 此命令将显示 `abs` 函数的说明,属于程序库调用章节[^3]。 ### 通配符的注意事项 - 通配符主要用于匹配文件名和路径,但在某些命令中(如 `grep`)也可以用于文本内容匹配。 - 使用通配符时,需注意当前目录下的文件结构,以避免意外匹配到不期望的文件。 - 如果希望禁用通配符扩展,可以使用单引号 `' '` 或双引号 `" "` 将字符串包裹起来。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值