linux符号命令 linux字符命令( 五 )


基础正则符号可以被三剑客命令直接识别 grep sed awk
扩展正则符号不可以被三剑客命令中老二和老三直接识别
sed命令想识别正则符号: sed -r
grep命令想识别正则符号: egrep / grep -E
a 加号符号:+
匹配加号前面一个字符连续出现1次或者多次
b 竖线符号:|
或者关系符号
egrep "oldboy|oldbey" test.txt
c 括号符号:()
将多个字符信息进行汇总为一个整体
egrep "(oldboy)" test.txt
进行后向引用前向的一个操作(sed)
echo "123456"|sed -r "s#(..)(..)(..)#\1\2\3#g"
修改配置文件内容
sed -rn "s#(^S.*UX=).*#\1enforcing#gp" /etc/selinux/config
SELINUX=enforcing
d 括号符号:{}
指定花扩号前一个字符连续匹配多少次
* 连续匹配 0 次 或 多次
+ 连续匹配 1 次 或 多次
1) {n,m}n表示最少连续匹配多少次m表示最多连续匹配多少次
2) {n}n表示只连续匹配n次
3) {n,}n表示至少连续匹配n次,至多没有限制
4) {,m}m表示至多连续匹配n次,至少0次
e 问号符号:?
表示匹配问号前面一个字符出现0次或者1次
linux特殊符号大全tablinux符号命令:文本分隔符linux符号命令,相当于四个空格linux符号命令,在命令行界面可以用来自动补齐命令与目录 。
ESC:esc+.,上一条命令linux符号命令的选项参数,vim恢复到命令模式 。
~:家目录
`:反引号,编程中调用shell命令
!:调用前面linux符号命令的命令,!!调用上一条,!23调用前面低23条 。
@:at符,后面接IP地址 。
#:Linux文件中注释行,表示不起作用 。
$:文件行结尾标识符 , 变量标识符 。
%:格式化文本 。
^:文件行首标识符
:任务放到后台
*:通配符,代表一个字符或者很多个字符 。
\:用来转义 , \t表示制表符,\n表示换行符 。
:数据流的流入方向 , 表示输入,将数据传入给左侧软件 。
|:管道,改变数据流的方向,将数据传入给另外的软件 。
:数据流的流出方向,表示输出 , 将屏幕输出的内容写入一个文件 。
2:数据流的流出的第二个方向,表示错误输出 , 报错信息会写入到这个文件中 。
:表示追加写入
/:根目录,目录分隔符
‘’:双引号 , 支持转义
‘:单引号,不支持转义
():shell编程中使用 , 命令行用的不多
[]:索引
{}:代码块
::vim或者less命令中,表示可以输入命令
;:分割不同命令
-:短选项标识符-h
--:长选项标识符--help
Linux简要命令 所有命令的参数都是使用空格分隔的,例如 ls -l。在这里ls即为命令名,-l 为此命令的参数,在 ls 与 -l 之间有一个空格,但是在 -l 内部不能有空格 。
由于Linux继承于Unix , 而Unix操作系统在当初设计的时候,键盘并不可靠 , 而且敲键盘比较费劲(比如容易卡住),因此大部分命令都非常简短,一般是完整的英文单词去掉元音字母(aeiou)后的缩写,这是一个历史问题 。
整个操作系统的磁盘都被划分为很多个目录(directory)或称文件夹(folder),还有文件(file) 。每个目录下还可以有子目录(sub direcotory)与文件,这样就形成了一个树状结构 , 树根为 / ,被称为根目录(root directory) 。
在 任何时候 ,你都有一个 当前目录 (Working Directory) , 你所有的操作都是相对于当前目录做出的,以当前目录为基准的目录名或者文件名叫做相对目录 。例如若你的当前目录是/home/alex,在/home/alex目录下有一个叫Public的子目录,还有一个叫log.txt的文件,则Public与log.txt就是相对目录名与相对文件名 。

推荐阅读