命令别名
命令:# alias
定义别名:
(1)alias 不加参数直接使用
显示当前shell进程所有可使用的命令别名
(2)alias NAME='VALUES' 定义命令别名
注意:在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,则要定义在配置文件中
配置文件的修改生效范围
仅对当前用户有效:~/.bashrc
对所有用户有效:/etc/bashrc
重新读取配置文件:source /path/to/config——file
撤销别名
命令:# unalias 别名名
【note:如果别名同原命令名称相同,则如果要执行原命令,可以使用"\COMMAND" 】
glob文件(夹)通配符
通配符:
* 任意长度的任意字符
? 任意单个字符
[] 匹配指定范围内的单个字符
[1-9] 匹配单个数字
[a-z] 不区分字母的大小写
[A-Z] 匹配任意单个大写字符
^ 匹配指定范围外的字符
[^] 匹配指定范围外的单个字符
特殊字符集:
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]: 任意大写字母
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:space:]:匹配空格字符
[:punct:]:标点符号
【注意: ls /mnt/a[[:digit:]]b == ls /mnt/a*b (注意:在使用特殊字符的时候,需要加两个中括号)】
I/O重定向
(1)理解三种输入/输出模式
标准输入:keyborad, 0
标准输出:monitor, 1
标准错误输出:monitor, 2
(2)输出重定向 【>,>>】
命令格式:# COMMAND > NEW_POS, COMMAND >> NEW_POS
>:覆盖重定向,目标文件中的原有内容会被清除
>>: 追加重定向,新内容会追加至目标文件尾部
# set -C: 禁止将内容覆盖输出至已有文件中
强制覆盖:>|
# set +C:
2>: 覆盖重定向错误输出数据流
2>>: 追加重定向错误输出数据流
合并标准输出和错误输出为同一个数据流进行重定向:
&>:覆盖重定向
&>>:追加重定向
COMMAND > /path/to/file.out 2> &1
COMMAND >> /path/to/file.out 2>> &1
(3)输入重定向 【<】,一般情况下,输入重定向只使用一个小于号
tr命令:转换或删除字符
tr [OPTION]... SET1 [SET2]
用法: tr abc ABC FILE
tr -d "abc" FILE
管道
语法:COMMAND1 | COMMAND2 | COMMAND3 |...
【Note:最后一个命令会在当前shell进程的子shell进程中执行】
tee命令:【一路输入产生两路输出,但是tee是覆盖输出的】
tee [OPTION]... [FILE]...
tee命令常用参数
格式:tee
只输出到标准输出,因为没有指定文件
格式:tee file
输出到标准输出的同时,保存到文件file中。如果文件不存在,则创建;如果已经存在,则覆盖之
格式:tee -a file
输出到标准输出的同时,追加到文件file中。如果文件不存在,则创建;如果已经存在,则在源文件后面追加内容
格式:tee -
输出到标准输出两次;如果后面接文件,则会覆盖输出一次。
格式:tee file1 file2 -
输出到标准输出两次,同时保存到file1和file2中