命令别名alias
单独alias 显示当前shell进程中可用的命令别名
alias NAME='VALUE'
例如
alias cdnet='cd /etc/sysconfig/network-scripts/'
那么下次 cdnet 就直接进入这个目录了
这个别名仅对当前shell进程有效,登出再登录就不行了
如果永久有效
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
nano ~/.bashrc
写入这些命令
^+o 保存 ^+x 退出
然后还需要重新读取配置文件
source /path/to/config_file
. /path/to/config_file
撤销别名 unalias -a 撤销所有
unalisa name 撤销 name
如果重名 使用\COMMAND 即可
glob(globbing)
bash中用于实现文件名“通配”
通配符:* ? []
*任意长度的任意字符
?任意单个字符
[]匹配指定范围内的任意单个字符(不区分大小写[a-z])
[A-Z]大写字母还是区分的
[^0-9]除了0-9
[:digit:]任意数字
lower 任意小写
upper 任意大写
alpha 任意大小写字母
alnum 任意数字或字母
space 空格
punct 标点符号
bash快捷键
^+l 清屏
^+a 到命令开始
^+e 到命令皆为
^+c 取消命令
^+u 删除命令行首至光标所在处的所有内容
^+k 删除光标到命令行位出的所有命令
bash的I/O重定向及管道
标志输入、输出、错误 0 1 2
IO重定向就是改变默认标准位置
输出重定向
> >>
set -C 禁止覆盖重定向
set +C 允许
强制覆盖 >|
2> 错误输出
&> 对错都要
例如
COMMAND > /path 2> &1 对错都要
COMMAND >> /path 2>> &1
输入重定向
< <<
tr:转换或删除字符
比如 tr abc ABC
以后输入a 则输出A
tr abc ABC < /etc/fstab
文件中abc转换为ABC
tr 'a-z' 'A-Z' </etc/fstab
tr -d abc 删除出现的abc
<< 用来实现创建文档
例如
cat << EOF
how are you?
EOF
这样就可以显示了
cat >> /tmp/test.out << EOF
..
..
EOF
这样就可以把..\n..写入到文件里
cat << EOF
cat >> path << EOF
管道
a| b | c |
最后一个命令在当前shell进程的子shell进程中执行
tee file 输出到某个文件
文本处理工具
wc uniq cut sort
cut 分割
cut -d: -f1,7 /etc/passwd
用: 显示字段1 7
cut -d: -f1,7 --output-delimiter=' ' /etc/passwd
将:改为空格 然后只显示1 7 字段
-d 指明分隔符
-f 1-9 1,9 精确或者范围字段
混合使用 1-3,7
sort 排序
sort /path 按字母排序
sort -r 逆序排列
sort -f 忽略字符大小写
sort -t 指明字段分隔符
sort -k 以指定字段为标准进行排序
sort -n 以数值大小进行排序
sort -u 排序后去重
uniq -c 显示每行重复出现的次数
-d 显示重复过的行
-u 显示不重复的行