手机版

Linux Shell特殊字符和控制字符大全

发布时间:2024-11-10   来源:未知    
字号:

Linux Shell特殊字符和控制字符大全

Linux Shell特殊字符和控制字符大全 Shell特殊字符

# 注释

表示注释 #注释

在引号中间和\#等表示#本身

echo ${PATH#*:} # 参数替换,不是一个注释

echo $(( 2#101011 )) # 数制转换,不是一个注释

; 分隔

命令分隔,在一行中写多个命令 echo "aa" ; echo "bb" 在条件中的if和then如果放在同一行,也用;分隔

;; case条件的结束

. 命令相当于source命令

命令:source

文件名的前缀,隐藏文件

目录:.当前目录,..父目录

正则表达式:匹配任意单个字符

"" 部分引用 支持通配符扩展

' ‘ 全引用,不进行通配符扩展

\ 转义

/ 目录分隔符

, 多个命令都被执行,但返回最后一个

` 后置引用

: 操作符

空操作

死循环: while :

在if/then中表示什么都不做,引出分支

Linux Shell特殊字符和控制字符大全

设置默认参数: : ${username=`whoami`}

变量替换: : ${HOSTNAME?} ${USER?} ${MAIL?}

在和 > (重定向操作符)结合使用时,把一个文件截断到0 长度,没有修改它的权限;如果文件在之前并不存在,那么就创建它.如:

: > data.xxx #文件"data.xxx"现在被清空了. 与 cat

/dev/null >data.xxx 的作用相同 然而,这不会产生一个新的进程,因为":"是一个内建命令.

在和>>重定向操作符结合使用时,将不会对想要附加的文件产生任何影响.

如果文件不存在,将创建.

* 匹配0个或多个字符;数学乘法;**幂运算

? 匹配任意一个字符;但在((a>b?a:b))表示c语言中的三目运算

$

取变量的值 echo $PATH 正则表达式中表示行的结尾 ${} 参数替换 ${PAHT} $* 所有参数 $# 参数个数 $$ 进程的ID $? 进程的返回状态

( )

命令组,在一个子Shell中运行 (a=3;echo $a) 其中定义的变量在后面不可用

数组初始化: array=(a,b,c)

{ } 代码块,即一个匿名函数,但其中定义的变量在后面依然可用

{ } \; 用在find的-exec中 $find -name *.txt -exec cat {} \;

[ ]

测试 [-z $1]

数组元素 a[1]='test'

[[]]表示测试 使用[[ ... ]]条件判断结构, 而不是[ ... ], 能够防止脚本中的许多逻辑错误. 比如, &&, ||, <, 和> 操作符能够正常存在于

[[ ]]条件判断结构中, 但是如果出现在[ ]结构中的话, 会报错.

Linux Shell特殊字符和控制字符大全

(( ))数学运算

在正则表达式中表示范围 [a-z]

< << > 重定向和进程替换 ls -al > a.txt

> < 还用在ASCII比较 if [[ "$veg1" < "$veg2" ]]

\<,\> 正则表达式中的单词边界.如:bash$grep '\<the\>' textfile

| 管道

>| 强制重定向(即使设置了noclobber 选项--就是-C 选项).这将强制的覆盖一个现存文件.

|| 逻辑或操作 ;用在两个命令之间的时候,表示在前一个命令结束时,若返回值为 false,继续执行下一个命令

&& 逻辑与;用在两个命令之间的时候,表示在前一个命令结束时,若返回值为 true,继续执行下一个命令

& 后台运行

-

参数选项 减号 重定向stdin和stdout:cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xpvf -) 先前的工作目录 cd - 注:使用-开头的文件名和变量名可能会出现一些问题

+ 一个命令或者过滤器的选项标记.

~ home目录

~+ 当前工作目录

~- 先前工作目录

^ 正则表达式中表示行首

$IFS 用来做一些输入命令的分隔符, 默认情况下是空白.

控制字符

Linux Shell特殊字符和控制字符大全

修改终端或文本显示的行为. . 控制字符以CONTROL + key这种方式进行组合(同时按下). 控制字符也可以使用8进制或16进制表示法来进行表示, 但是前边必须要加上转义符.

控制字符在脚本中不能正常使用.

Ctl-B退格(非破坏性的), 就是退格但是不删掉前面的字符.

Ctl-C终结一个前台作业.

Ctl-D 从一个shell中登出(与exit很相像).

"EOF"(文件结束). 这也能从stdin中终止输入.

在console或者在xterm窗口中输入的时候, Ctl-D将删除光标下字符. 当没有字符时, Ctl-D将退出当前会话, 在一个xterm窗口中, 则会产生关闭此窗口的效果.

Ctl-G "哔" (beep). 在一些老式的打字机终端上, 它会响一下铃.

Ctl-H "退格"(破坏性的), 就是在退格之后, 还要删掉前边的字符.

Ctl-I 水平制表符.

Ctl-J 重起一行(换一行并到行首). 在脚本中, 也可以使用8进制表示法 -- '\012' 或者16进制表示法 -- '\x0a' 来表示.

Ctl-K垂直制表符.

Ctl-L 清屏(清除终端的屏幕显示). 在终端中, 与clear命令的效果相同. 当发送到打印机上时, Ctl-L会让打印机将打印纸卷到最后.

Ctl-M 回车.

Ctl-Q 恢复(XON).在一个终端中恢复stdin.

Ctl-S 挂起(XOFF).

在一个终端中冻结stdin. (使用Ctl-Q可以恢复输入.)

Ctl-U 删除光标到行首的所有字符. 在某些设置下, 不管光标的所在位置Ctl-U都将删除整行输入.

Ctl-V当输入字符时, Ctl-V允许插入控制字符.

Ctl-V主要用于文本编辑.

Linux Shell特殊字符和控制字符大全

Ctl-W

当在控制台或一个xterm窗口敲入文本时, Ctl-W将会删除当前光标到左边最近一个空格间的全部字符. 在某些设置下, Ctl-W将会删除当前光标到左边第一个非字母或数字之间的全部字符.

Linux Shell特殊字符和控制字符大全.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)