特殊符号
代码语言:javascript复制| #管道符,或者(正则)
> #输出重定向
>> #输出追加重定向
< #输入重定向
<< #追加输入重定向
~ #当前用户家目录
`` $() #引用命令被执行后的结果
$ #以。。。结尾(正则)
^ #以。。。开头(正则)
* #匹配全部字符,通配符
? #任意一个字符,通配符
# #注释
& #让程序或脚本切换到后台执行
&& #并且 同时成立
[] #表示一个范围(正则,通配符)
{} #产生一个序列(通配符)
. #当前目录的硬链接
.. #上级目录的硬链接
通配符
- 它是shell的内置功能
- 通配符,用过DOS的应该很了解,也很常用。
- 通配符,指包含这些字符的字符串“?”,“*”,“[]”,{}
通配符含义===>匹配文件名
符号 | 作用 |
---|---|
* | 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file * |
? | 匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0 |
[abcd] | 匹配abcd中任何一个字符 |
[a-z] | 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0 |
{..} | 表示生成序列. 以逗号分隔,且不能有空格 |
补充 | |
[!abcd] | 或[^abcd]表示非,表示不匹配括号里面的任何一个字符 |
通配符详解
? 任何一个字符
[abcd]表示匹配中括号内任意一个字符就成立
- {}生成序列
- []用来找文件(匹配文件名)
利用 {} 来备份
[^abcd] !^表示非,取反
[]与{}区别
- []只能用来找文件
- {} 用来找文件,或创造文件,生成序列
特殊符号
代码语言:javascript复制命令1|命令2 ###管道符号,传递的时普通的文本,字符串,来自于前一个命令。
|xargs ###管道符号,通过xargs这个管道符命令来将字符串转换成文件名
目录结构
代码语言:javascript复制. #当前目录(或“任意一个字符”正则)
.. #当前目录的上一级目录
重定向符号
代码语言:javascript复制> #输出重定向,会清空原文内容,然后在向文件里面追加内容
>> #追加输出重定向,追加到文件的最后一行
< #输入重定向tr xargs
<< #cat 用来给文件追加多行文本
未分类特殊符号
#表示注释
linux 会忽略他,给运维人员看的,解释说明用的。
$ 引用变量 去变量的值或普通用户的命令提示符
1、shell $变量:取变量里面的内容
2、awk $取列 $数字
3、普通用户的命令提示符
``(esc下面)反引号 引用命令的结果,相当于$()
;分隔多个命令,没有逻辑关系,只是一步一步执行
1、shell
2、sed
代码语言:javascript复制[root@chengliang ~]$ seq 100 | sed -n '20p;50p;100p'
20
50
100
cd - ;su -
- cd - ###返回上一次的工作目录,返回上一次的位置
- su - ###切换用户,重新加载环境变量
~ 当前用户的家目录,老家
代码语言:javascript复制[root@chengliang ~]$ cd ~
会直接返回当前用户的家目录
转义符号或者叫屏蔽别名
代码语言:javascript复制. #(正则里代表任意一个字符)
. #只代表一个点的符号
! 表示非
表示强制 vi/vim vi 强制退出 (:q!)
&& 表示并且
注意:&&符号只有当前边的命令执行成功才会执行后边的命令
单引号,双引号,不加引号的区别
- 单引号:所见即所得。
- 双引号:解析特殊符号,特殊符号有了原本的特殊意
- 不加引号:比较特殊,支持通配符