导语
Linux命令,前端是反复的学习,通过不停的使用,才能掌握的。
内容
正则
符号 | 描述 |
---|---|
* | 标识0个或者多个字符 |
? | 标识可有可无 |
+ | 1个或者多个 |
^ | 表示以什么开头 |
& | 表示以什么结尾 |
\ | 用来转义特殊字符 |
<> | 用来做精确匹配 |
[] | 选项中的 |
() | 类似[],表示一组可选范围,常与|或联用 |
grep(全局搜索正则表达式并打印)
global search by regular express and print out the line
注意点,搜索的内容中如果有空格,需要使用””括起来
命令格式:
1
grep [选项][模式][文件数组]
变量
变量赋值
1 | one=1 |
特殊赋值
1 | #变量定义,均无效 |
“:?”和“?”可用于测试变量是否被赋值,若变量未赋值,Shell提示错误信息
:=”和“:-”都不对colour进行重新赋值。注意,使用以上两种符号时,都需要用花括号将赋值式子括起来,否则,Shell将colour:=blue整个字符串当做变量名进行处理。
变量清空
unset one
readonly
declare命令与typeset命令一样,用于定义和限制变量的属性,declare -r可将变量设置为只读,等价于readonly命令
- 可以使用readonly关键字,设置只读
- 如果要查看系统中所有的只读变量,只需执行readonly命令即可
- 用readonly设置变量为只读只是其中的一种方法,我们还可以利用declare和typeset命令实现同样的功能
无类型
Shell脚本变量却是无类型的,这与awk变量是一样的。bash Shell不支持浮点型,只支持整型和字符型,默认情况下,Shell脚本变量是字符型的,同时,字符型的变量还具有一个整型值,为0,尽管如此,bash Shell并不要求在定义一个变量时声明其类型。但是,Shell会根据上下文判断出数值型的变量,并进行变量的算术运算和比较等数值操作。判断标准是变量中是否只包含数字,如果变量只包含数字,则Shell认定该变量是数值型的,反之,Shell认定该变量是字符串
运算
1 | a=2009 |
1 | b=xx09 |
环境变量
在给环境变量赋值后,用export命令声明一下,就说明此变量为环境变量,环境变量的名称一般由大写字母组成.如果要列出系统中所有的环境变量,可使用env命令
PATH
1 | export PATH="dir":$PATH |
USER ,UID
USER表示已登录用户的名字,UID则表示已登录用户的ID。PPID是创建当前进程的进程号,即当前进程的父进程号
PS1,PS2
PS1和PS2称为提示符变量,用于设置提示符格式,比如,例6-17中的Shell提示符指的是[root @jselab ~]#这段文字,中括号里包含了当前用户名、主机名和当前目录等信息,这些信息并非固定不变,它可以通过PS1和PS2的设置而改变。
配置文件
系统管理员通常不会利用export逐个设置环境变量,而是将export命令放置在特殊的配置文件之中,Shell能够在特定时刻执行这些配置文件,从而自动完成环境变量的配置工作。本节介绍.bash_profile、.bashrc和.bash_logout三个配置文件,这三个文件存在于用户根目录,即$HOME目录,Linux中以“.”开头的文件为隐藏文件
- $HOME/.bash_profile是最重要的配置文件,当某Linux用户登录时,Shell会自动执行.bash_profile文件,如果.bash_profile文件不存在,则自动执行系统默认的配置文件/etc/profile
- 即句点符号“.”和source命令是等价的,source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
- .bash_logout文件在用户注销时执行,用户可以在该文件中写入清除某些环境变量或记录登录时间等命令,.bash_logout文件也可以不存在,此时,用户注销时将不再执行任何额外的命令。
- 打印其进程号,$$表示执行该脚本的进程号
位置参数
位置参数(positional parameters)是一种特殊的Shell变量,用于从命令行向Shell脚本传递参数,$1表示第1个参数、$2表示第2个参数等,$0为脚本的名字,从${10}开始,参数号需要用花括号括起来,如${10}、${11}、${100}、…。$*和$@一样,表示从$1开始的全部参数
特殊位置参数
- $# - 传递到脚本参数个数
- $*,$@ - 传递到脚本所有参数
- $$ - 进程号
- $? - 是否执行有误, 0 无误; 非0,有误
引用
引用是屏蔽特殊字符的特殊意义,而将其解释为字面意义。
“” , 除了``,\ , $ 其余字符都可以操作
双引号引用除美圆符号$, 反引号(’)和反斜线(\)之外的所有字符,即$、(’)和(\)在双引号中仍被解释为特殊意义.在双引号中保持$符号的特殊意义可以引用变量,如”$variable”表示以变量值替换变量名。 可以防止字符串分割、保留变量中的空格这一特性.
‘’ 都可以
单引号不再具备引用变量的功能。因此,我们通常将单引号的引用方式称为全引用,将双引号的引用方式称为部分引用, 除了自身外,其余都解释为字面意义。
`` , shell执行命令
\ 转义字符
命令替换
命令替换,一种是使用反引号,另一种是利用$()
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏