2>&1 把标准错误传输到标准输出要去的地方 cmd > file 覆盖全部 cmd >> file 追加到最后 cmd > file 2>&1 合并标准输出和标准错误,重定向到file中
分割: 一行输出多个命令“;”隔开命令
管道: 用“|”在两个命令之间创建管道
常和管道协作的命令 1.more/less #2.find 参数: -name 按照文件名查找 -mtime 按照修改时间查找文件 -exec 执行 find /etc -name *.conf -exec file {}\; 3.tr -c -d -s 4.spilt 分割文件 split -b 200k messages messages_ split -l 1000 messages messages_ 5.join 合并文件 join -t ':' /etc/passwd /etc/shadow join -t ':' -1 4 /etc/passwd -2 3 /etc/group #6.grep 参数: -r 递归 -v 反取 -i 忽略大小写 -n 显示行号 -c 计数 -w 匹配一个词 -l 只给出匹配的文件名 -L 列出不匹配的文件名 -o 只列出匹配的内容 7.sort -n 按数字排序 -r 反序排序 -o 结果输出到文件 -t 分隔符 -k 关键字 8.uniq -c 每行出现的次数 -d 仅显示重复行 -u 仅显示不重复行 -i 忽略大小写
&&和||做简单的比较
替换 转义符号 \ 命令行输出“”特殊字符转义 命令行输出 ''特殊字符不转义 运行命令``
比较 test 参数 filename 对文件: -e 是否存在 -f 是否为文件 -d 是否为目录 对权限: 对新旧: -nt 1是否比2新 -ot 1是否比2旧 -ef 1是否和2同一个文件 两个整数之间的判断,如:test n1 -eq n2 -eq 两个数相等 -ne 两个数不等 -gt n1大于n2 -lt n1小于n2 -ge n1大于等于n2 -le n1小于等于n2
数字的比较使用(()),其运算符> >= < <= == != 可以使用算数扩展,如((99+1 <= 101)) 字符表达式的比较使用[[]],其运算符= != -n -z 文件表达式的测试使用[[]],其运算符-r -l -w -x -f -d -s -nt -ot 逻辑表达式的测试使用[[]],其运算符!&& || 数字比较、字符比较、逻辑测试可以组合,如$[["a" != "b" && 4 -gt 3]] 支持bash中通配符扩展,如:[[ hest = h??t ]]、[[hest = h*t ]] 在[[]]中使用[]中的运算符 “-eq -ne -le -lt -gt -ge” 数字测试 -eq -ne -lt -le -gt -ge 文件测试 -r -l -w -x -f -d -s -nt -ot 字符测试 逻辑测试 -a -o ! 数字运算 不可以使用
|