这篇文章记录bash shell的相关命令
管道命令:以“|”为界定符号,用来处理前一个命令传来的正确信息关于变量:
变量设置规则:
1. 变量与变量内容用一个等号连接,“变量名=变量内容”
2. 等号两边不能直接接空格
3. 变量名称只能是英文字母与数字,但开头不能是数字
4. 变量内容若有空格符可用双引号或单引号将变量内容结合起来(单引号内的特殊字符仅作为一般字符(纯文本);双引号内的特殊字符,如$等,可以保持原有特性)
5. 可用转义字符(\)将特殊符号变成一般字符。
6. 一串命令中,需要其他命令提供信息时,可以使用反单引号(`(主键盘区数字键1左边的那个键))`命令`或者$(命令)。注意与下述变量名部分的${}区分。
7. 可用“$变量名称”或“${变量名称}”来进行变量内容累加。如PATH="$PATH":/home/bin (注意双引号)
8. 若变量需要其它子进程执行时,需要export来使变量变成换进变量
9. 通常以大写字母作为变量名。
“echo 变量名”:输出变量内容,当输出结果为空时,可能是没有这个变量,也可能是这个变量为空字符串
“${变量名-变量内容}”:若变量不存在,则将减号后面的变量内容赋值给变量,如果变量存在则不做操作。注意:变量内容为空字符串和没有该变量的区别。
“${变量名:变量内容}”:当变量为空字符串或不存在时,将冒号后面的内容赋值给变量。
“${变量名=变量内容}”:当变量不存在时,将等号后面的内容赋值给变量。
“${变量名?内容}”:当变量不存在时,显示问号后面的内容。
“unset 变量名”:取消这个变量
“env” :查看环境变量与常见变量
“set”:查看所有变量
“export 变量名”:把自定义变量转成环境变量
“read 变量名”:读取来自键盘的变量
-p 参数:后面可以接提示符
-t 参数:后面接等待时间(秒)
“declare 变量名”:声明变量的类型
-a 参数:将变量定义成数组类型(数组类型变量:变量名[索引]=变量内容)
-i 参数:将变量定义成整数数字类型
-x 参数:将变量变成环境变量(与export类似)
-r 参数:将变量设为readonly(只读)类型,不能更改,也不能重设
“#”:删除变量部分内容(从最先面开始向右删除,且删除最短的那个),如${PATH#/*test/bin:}表示删除从最开始到第一个“/*test/bin:”处中间的内容,注意“:”。
“##”:删除变量部分内容(从最先面开始向右删除,且删除最长的那个),如${PATH##/*test/bin:}从最开始到最后一个“/*/test/bin:”处中间的内容。
“%”:从后向前删除(最短的那个),如${paht%:*bin},该命令删除了最后一个路径
“%%”:从后向前删除(最长的那个)
“${变量名/旧字符串/新字符串}”:第一个旧字符串被新字符串替换掉。
“${变量名//旧字符串/新字符串}”:所有旧字符串被新字符串替换。
“alias”:查看或设置别名命令
后面不接内容:显示所有别名命令
alias 命令别名=‘命令’:将命令赋值给命令别名,之后使用命令别名即可代替命令的,适用于较长命令的简化
“unalias”:取消命令别名
“history”:显示之前输入过的命令。
history 3:显示最近输入过的三条命令,不加数字则默认全部显示(用echo $HISTSIZE可查看最大缓存的历史命令数量)
history -w:将目前的history记忆内容写入histfiles中
”!number“:执行编号为number的一条命令
”!command“:由最近的命令向前搜寻以command开头的命令
”!!“:执行上一个命令
“locale”:显示支持语系
“type”:查看命令类型
不加参数时,会显示type后面接的命令为外部命令还是bash内置命令
-t 参数:显示命令的意义(file:表外部命令;alias表该命令为别名命令;builtin:表内置命令)
-p 参数:后接命令为外部命令时才会显示完整文件名
-a 参数:会将PATH变量定义中所有含“后接命令名”的命令都列出来
“cut”:选取命令,将一段信息“切”出来显示,以行为单位。
cut -d '分割字符' -f 显示范围(编号从以开始):将前一个命令传递的信息按“分割符号”进行分割,并显示。显示范围从1开始,可以写成:“1,2,3”,“1-5”
cut -c 字符范围:将前一个命令传递的信息按规定范围显示。字符范围可以是:“20-”,表示从第20个字符开始显示;“20-30”,表示显示第20个到第30个字符之间的内容。
“grep -[a/c/i/n/v] -An -Bn --color=auto '查找字符串' filename”:选取命令,以行为单位。显示出含有该字符串的那一行。
--color=auto:将查找的结果用其他颜色显示。默认(命令别名)
-c:只显示查找到字符串的个数
-a:将binary文件以text文件的方式查找数据
-v:显示没有找到的那一行
-i:忽略大小写
-n:顺便输出行号
当grep单独使用时,需要filename参数,相当于cat filename | grep ......
-An:n为数字,表示将该行之后的n行也显示出来。
-Bn:n为数字,表示将该行之前的n行也显示出来。
关于这部分的知识有点多,暂时先记录这些,以后再用到其它内容时再做补充。