目录 1.declare命令介绍 2.声明数组变量类型 3.声明变量为环境变量 4.声明只读属性 5.补充: 1.declare命令介绍 Shell中所有变量的默认类型是字符串类型,如果你需要进行特殊数据类型进行运算,使用declare命令就可以实现声明变量的类型. declare命令是一个内置命令,命令如下: [root@localhost ~]# declare [+/-] [选项] 变量名 选项: -: 给变量设定类型属性. +: 取消变量的类型属性. -а: 将变量声明为数组型. -i:…
提示:本篇文章接上一篇文章,主要说说()小括号和{}大括号的区别与使用. 8.()小括号 ():用于一串命令执行时,()中的命令会在子Shell中运行.(和下面大括号一起说明) 9.{}大括号 {}:用于一串命令执行时,{}中的命令会在当前Shell中执行.也可以用于变量变形与替换. (1)父Shell和子Shell 在介绍小括号和大括号的区别之前,我们先要解释一个概念,那就是父Shell和子Shell. 用户登录到Linux系统后,系统将启动一个用户Shell.在这个Shell中,可以使用Sh…
目录 1.扩展正则表达式说明 2.练习 (1)+和?练习 (2)|和()练习 3.注意(重点) 1.扩展正则表达式说明 熟悉正则表达式的童鞋应该很疑惑,在其他的语言中是没有扩展正则表达式说法的,在Shell的正则表达式中还可以支持一些元字符,比如+.?.|.(). 其实Linux系统是支持这些字符的,只是grep命令默认不支持而已(grep命令无法识别扩展正则表达式). 如果要想支持这些字符,必须使用egrep命令或grep -E选项,才能识别扩展正则表达式的字符,所以我们又把这些字符称作扩展字…
目录 1.Shell的作用 2.Shell的分类 1.Shell的作用 Shell除了能解释用户输入的命令,将它传递给内核,还可以: 调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果. 在多个程序之间传递数据,把一个程序的输出作为另一个程序的输入. Shell本身也可以被其他程序调用. 由此可见,Shell是将内核.程序和用户连接了起来. Shell本身支持的命令并不多,但是它可以调用其他的程序,每个程序就是一个命令,这使得Shell命令的数量可以无限扩展,其结果就是Shell的功能…
目录 1.给命令设置别名 (1)设置别名的命令格式 (2)命令别名永久生效 (3)别名的优先级 2.Bash常用快捷键 1.给命令设置别名 Linux系统的命令别名我们之前已经说过了,这里再过一边. (1)设置别名的命令格式 查询命令别名. [root@localhost ~] # alias 设定命令别名. [root@localhost ~] # alias 别名='原命令' 例如:查询系统中已经定义好的别名. [root@localhost ~] # alias 结果如下: alias c…
目录 1.echo命令的作用 2.echo命令的基本用法 3.echo命令的-e选项用法 4.echo命令一些特殊用法 (1)输出字符带有字体颜色 (2)输出字符带有背景颜色 在讲Shell脚本之前,要先说一个我们之前学过的命令,echo命令. echo命令是Linux中最基础的命令,也是很常用的命令,特别是在写Shell脚本的时候,可能会经常被用到,虽然echo命令非常基础,但是功能还算丰富. 1.echo命令的作用 用于打印输出文本(字符串). 在脚本中echo命令常用于在显示器上显示一段文…
目录 1.正则表达式说明 2.基础正则表达式 3.练习 (1)准备工作 (2)*练习 (3).练习 (4)^和$练习 (5)[]练习 (6)[^]练习 (7)\{n\}练习 (8)\{n,\}练习 (9)\{n,m\}练习 4.总结 1.正则表达式说明 正则表达式和通配符的区别 正则表达式用来在文件中匹配符合条件的字符串. 通配符用来匹配符合条件的文件名. 在Shell中,使用在文件当中搜索字符串的命令,如grep,awk,sed等命令(文本操作三剑客),可以支持正则表达式. 而在系统当中搜索文…
目录 1.sed命令说明 2.行数据操作 (1)查看文件中的数据 (2)删除文件中的数据 (3)向文件中追加数据 (4)向文件中插入数据 (5)修改文件中的多行数据(删除,追加,插入) (6)替换文件中的整行文本 (7)字符串替换 (8)同时执行多条动作 3.总结 1.sed命令说明 sed主要是用来将数据进行选取.替换.删除.新增的命令,grep,awk,sed称为是文本操作三剑客. 我们看看sed命令的语法格式: [root@localhost ~]# sed [选项] '[动作]' 文件名…
目录 1.Shell的由来 2.Shell的两种执行指令方式 3.什么是Shell脚本 4.Shell 是一种脚本语言 1.Shell的由来 我们比较熟悉Windows系统的图形化界面,对于图形界面来说,用户点击某个图标就能启动某个程序. 在此之前我们一直在使用Linux系统的命令行模式学习,对于命令行来说,用户输入一个命令就能启动某个程序. 这两者的基本过程都是类似的,都需要查找程序在硬盘上的安装位置,然后将它们加载到内存运行. 然而,真正能够控制计算机硬件(CPU.内存.显示器等)的只有操作…
目录 1.history历史命令 2.设置命令历史记录的条数 3.清空历史命令 4.历史命令的调用 5.命令与文件的补全 在Linux系统中默认的Shell就是Bourne-AgainShell(简称Bash),所以我们今天来掌握Bash的一些基本用法. 1.history历史命令 (1)历史命令的查看 在终端执行history命令,就会显示出在系统当中已经执行过的命令. [root@localhost ~] # history [选项] [历史命令保存文件] 选项: -c:清空历史命令. -w…
目录 1.双单引号 2.双引号 3.$符号 4.反引号 5.$()符号 6.#符号 7.\符号 1.双单引号 '':单引号.在单引号中所有的特殊符号,如$和"`"(反引号)都没有特殊含义. 2.双引号 "":双引号.在双引号中特殊符号都没有特殊含义,但是$."`"(反引号)和\除外,这三个符号是有特殊含义的,拥有"调用变量的值"."引用命令"和"转义符"的特殊含义. 单引号和双引号的区别…
目录 1.定义变量的规则 2.变量的分类 1.定义变量的规则 在定义变量时,有一些规则需要遵守 变量名称可以由字母.数字和下划线组成,但是不能以数字开头.如果变量名是2name则是错误的. 在Bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必修指定变量类型为数值型. 变量用等号连接值,等号左右两侧不能有空格. [root@localhost ~]# name = cangls -bash: name: command not found 变量的值如果有空格,需要使用单引号或双引号包…
目录 1.位置参数变量$n 2.位置参数变量$*和$@ 3.位置参数变量$# 位置參数变量的作用主要用于脚本的传参. 位置參数变量的名称和作用都是确定不能改变的,但是该变量的内容是可以更改的,也就是变量的值. 位置參数变量如下: 位置参数变量 作用 $n n为数字,$0代表命令本身,$1-$9代表(脚本命令后的)第一到第九个参数,十以上的参数需要用大括号包含,如${10}.${15}. $* 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体. $@ 这个变量也代表命令行中所有的参数,…
目录 1.Shell常用运算符 2.Shell中数值运算的方法 (1)方式一 (2)方式二 (3)方式三(推荐) 1.Shell常用运算符 Shell中常用运算符如下表: 优先级数值越大优先级越高,具有较高优先级级别的运算符先于较低级别的运算符进行求值运算. 优先级 运算符 说明 13 -,+ 单目负.单目正 12 !,~ 逻辑非.按位取反或补码 11 *,/,% 乘.除.取模 10 +,- 加.减 9 <<,>> 按位左移.按位右移 8 <=,>=,<,>…
目录 1.什么是变量的测试与内容置换 2.变量的测试与内容置换 3.示例 例1: 例2: 例3: 1.什么是变量的测试与内容置换 我们之前说过,在Shell中,一个变量未定义,和一个变量为空值的输出效果是一样的. # 先直接输出一个未定义的变量y [root@Lyl ~]# echo $y # 再定义变量y为空值,并输出变量y [root@Lyl ~]# y="" [root@Lyl ~]# echo $y [root@Lyl ~]# 其结果都是没有任何显示. 前边在说set命令的时候…
目录 1.注销时生效的环境变量配置文件 2.其他配置文件 3.Shell登录信息相关文件 (1)/etc/issue文件说明 (2)/etc/issue.net文件说明 (3)/etc/motd文件说明 4.定义Bash快捷键 1.注销时生效的环境变量配置文件 在用户退出登录时,只会调用一个环境变量配置文件,就是~/.bash_logout文件. 这个文件默认没有写入任何内容,可是如果我们希望再退出登录时执行一些操作,比如清除历史命令,或者备份某些数据,就可以把命令写入这个文件. 2.其他配置文…
目录 1.AWK内置变量 2.练习说明 (1)$n变量练习 (2)FS变量练习 (3)NF变量和NR变量练习 3.总结: 1.AWK内置变量 AWK内置变量如下表: awk内置变量 作用 $0 代表目前AWK所读入的整行数据.我们已知AWK是一行一行读入数据的,$0就代表当前读入行的整行数据. $n 代表目前读入行的第n个字段. NF 当前行拥有的字段(列)总数. NR 当前AWK所处理的行,是总数据的第几行. FS 用户定义分隔符.AWK的默认分隔符是任何空格(tab键或者空格),如果想要使用…
目录 1.Bash的标准输入输出 2.输出重定向 (1)标准输出重定向 (2)标准错误输出重定向 (3)正确输出和错误输出同时保存 3.输入重定向 1.Bash的标准输入输出 我们前边一直在说,在Linux系统下,一切皆是文件,键盘和显示器等硬件都是文件,如下图: 从上图中可以看出,键盘的设备文件名为/dev/stdin,显示器标准正确输入的设备文件名为/dev/stdout,显示器标准错误输入的设备文件名为/dev/stderr. 这些设备文件名非常不好记忆,Shell允许我们用文件描述符来描…
我们之前已经有文章说过管道符了,今天这里再简单总结一下用法. 1.行提取命令grep grep命令的作用,是在指定的文件中,搜索符合条件的字符串. 命令格式: [root@localhost ~ ] # grep [选项] "搜索内容" 文件名 选项: -A 数字:列出符合条件的行,并列出后续的n行…
目录 1.变量定义 2.变量调用 3.变量的修改 4.查看变量 (1)-u选项说明: (2)-x选项说明: (3)set命令说明: 5.变量删除 1.变量定义 变量正确定义. 格式:变量名="变量值" # 两种方式都可以 [root@localhost ~]# name=zhenniubi [root@localhost ~]# name="zhen niubi" 变量名不能用数字开头. [root@localhost ~]# 2name="zhen ni…
目录 1.用户自定义的环境变量 (1)环境变量设置 (2)查询自定义环境变量 (3)删除自定义环境变量 2.系统自带的环境变量--PATH环境变量 (1)PATH环境变量 (2)PATH环境变量的作用 (3)配置命令的环境变量 提示: 在Shell中,环境变量分为两种.一种是用户自定义的环境变量,另一种是系统自带的环境变量. 而在系统自带的环境变量中,PATH环境变量.PS1环境变量.LANG语系变量需要进行说明一下. 本篇文章主要说明用户自定义的环境变量,和PATH环境变量. 1.用户自定义的…
目录 1.PS1变量的作用 2.PS1变量的查看 2.PS1可以支持的选项 3.PS1环境变量的配置 4.总结 提示: 在Linux系统中,环境变量分为两种.一种是用户自定义的环境变量,另一种是系统自带的环境变量. 而在系统自带的环境变量中,PATH环境变量.PS1环境变量.LANG语系变量需要进行说明一下. 本篇文章主要说明系统自带的环境变量中的PS1环境变量. 1.PS1变量的作用 PS1变量:命令提示符设置.也就是[root@localhost ~]# 内容的设置. PS1是一个很有意思的…
目录 1.预定义变量$? 2.预定义变量$$和$! 我们之前说过,Shell中的变量不是按照变量值的类型来进行分类的,而是按照Linux系统中定义的变量类别来分类的. 预定义变量就是,事先把变量的名称和作用确定好(都是不可变的),只能修改变量的内容,也就是变量的值. 其实预定义变量和位置参数变量都可以统称为预定义变量(有分开说明的,也有一起说明的,知道就行). 预定义变量如下: 预定义变量 作用 $? $?中存的值,是最后一次执行的命令的返回状态.如果这个变量的值为0,证明上一个命令正确执行:如…
目录 1.source命令 2.Linux系统中环境变量配置文件 (1)登录时生效的环境变量配置文件 (2)/etc/profile环境变量配置文件 (3)/etc/profile.d/*.sh环境变量配置文件 (4)~/.bash_profile环境变量配置文件 (5)~/.bashrc环境变量配置文件 (6)/etc/bashrc环境变量配置文件 3.环境变量配置文件调用过程 4.总结 1.source命令 通过source命令可以直接环境变量配置文件. 命令格式如下: [root@loca…
目录 1.AWK介绍 (1)AWK概述 (2)printf格式化输出 (3)printf命令说明 2.AWK的基本使用 (1)AWK命令说明 (2)AWK命令使用 1.AWK介绍 (1)AWK概述 AWK是一种处理文本文件的语言,是一个强大的文本分析工具. AWK可以看成一门独立的语言,它拥有语言的基本特征,换句话说AWK可以写出极其繁琐和复杂的程序,AWK的语法比Shell的语法还难以接收.但绝大多数情况下,我们并不需要用AWK写过于复杂的东西,建议能用Shell处理的需求就不用AWK来解决.…
目录 1.AWK的条件表达 2.条件表达式说明 (1)BEGIN (2)END (3)关系运算符 (4)说明AWK中条件表达式的执行过程 (5)AWK中使用正则表达式 (6)A~B练习 1.AWK的条件表达 如下图所示: 2.条件表达式说明 以下练习使用如下文本: ID Name Python Linux MySQL Java 1 Tangs 88 87 86 85.55 2 Sunwk 99 98 97 96,66 3 Zhubj 77 76 75 74.44 4 Shahs 66 65 64…
目录 1.排序命令sort (1)sort命令介绍 (2)练习 2.取消重复行命令uniq 3.统计命令wc 1.排序命令sort (1)sort命令介绍 sort命令可针对文本文件的内容,以行为单位来排序. 命令格式如下: [root@localhost ~]# sort [选项] 文件名 选项: -f:忽略大小写. -b:忽略每行前面的空白部分. -n:以数值型进行排序,sort命令默认使用字符串型排序. -r:反向排序. -u:删除重复行.就是uniq命令. -t:指定分隔符,sort命令…
目录 1.test测试命令 (1)test命令介绍 (2)test命令使用方式 (3)示例 2.按照文件类型进行判断 3.按照文件权限进行判断 4.两个文件之间进行比较 5.两个整数之间比较 6.字符串的判断 7.多重条件判断 1.test测试命令 (1)test命令介绍 在Shell中的test测试命令,用于测试某种条件或某几种条件是否真实存在. 在Shell中的test测试命令,是判断语句和循环语句中条件测试的工具.test命令经常用于对判断语句进行测试,用于检查某个条件是否成立,它可以进行…
目录 1.多命令执行符: 2.多命令执行符&& 3.多命令执行符|| 4.&&和||联合应用 Linux系统支持多条命令顺序执行,就是我可以依次输入多条命令后,统一按Enter键,顺序执行. 1.多命令执行符: 在多个命令之间加;即可多命令顺序执行. 命令格式:命令1 ; 命令2 说明: 多个命令顺序执行,命令之间可以没有任何逻辑联系. [root@localhost ~]# ls ; date ; cd /etc/ anaconda-ks.cfg install.log…
目录 1.LANG语系变量介绍 2.如何查看Linux中支持的语系 3.查看当前系统的语系 4.总结 提示: 在Linux系统中,环境变量分为两种.一种是用户自定义的环境变量,另一种是系统自带的环境变量. 而在系统自带的环境变量中,PATH环境变量.PS1环境变量.LANG语系变量需要进行说明一下. 本篇文章主要说明系统自带的环境变量中的LANG语系环境变量. 1.LANG语系变量介绍 我们之前说过中文输出的问题,Linux系统的中文支持包括两个前提条件: 安装了中文字体和编码(安装的时候选择中…