很实用的Linux 系统运维常用命令及常识(超实用)

2019-09-23 09:17:29丽君

##################################
test 条件判断
# 符号[ ] 等同test
expression 为字符串操作
-n str # 字符串str 是否不为空
-z str # 字符串str 是否为空
expression 为文件操作
-b # 是否块文件
-p # 文件是否为一个命名管道
-c # 是否字符文件
-r # 文件是否可读
-d # 是否一个目录
-s # 文件的长度是否不为零
-e # 文件是否存在
-S # 是否为套接字文件
-f # 是否普通文件
-x # 文件是否可执行,则为真
-g # 是否设置了文件的SGID 位
-u # 是否设置了文件的SUID 位
-G # 文件是否存在且归该组所有
-w # 文件是否可写,则为真
-k # 文件是否设置了的粘贴位
-t fd # fd 是否是个和终端相连的打开的文件描述符(fd 默认为1)
-O # 文件是否存在且归该用户所有
! # 取反
expression 为整数操作
expr1 -a expr2 # 如果expr1 和expr2 评估为真,则为真
expr1 -o expr2 # 如果expr1 或expr2 评估为真,则为真
两值比较
整数字符串
-lt <: # 小于
-gt >: # 大于
-le <=: # 小于或等于
-ge >=: # 大于或等于
-eq ==: # 等不等
-ne !=: # 不等于
判断大小,0 为真,1 为假
test 10 -lt 5
echo $?
1
判断字符串长度是否为0
test -n "hello"
0
##################################
重定向
# 标准输出stdout 和标准错误stderr 标准输入stdin
cmd 1> fiel # 把标准输出重定向到file 文件中
cmd > file 2>&1 # 把标准输出和标准错误一起重定向到file 文件中
cmd 2> file # 把标准错误重定向到file 文件中
cmd 2>> file # 把标准错误重定向到file 文件中(追加)
cmd >> file 2>&1 # 把标准输出和标准错误一起重定向到file 文件中(追加)
cmd < file >file2 # cmd 命令以file 文件作为stdin(标准输入),以file2 文件作为标
准输出
cat <>file # 以读写的方式打开file
cmd < file cmd # 命令以file 文件作为stdin
cmd << delimiter
cmd; #从stdin 中读入,直至遇到delimiter 分界符。
delimiter
>&n # 使用系统调用dup (2) 复制文件描述符n 并把结果用作标准输出
<&n # 标准输入复制自文件描述符n
<&- # 关闭标准输入(键盘)
>&- # 关闭标准输出
n<&- # 表示将n 号输入关闭
n>&- # 表示将n 号输出关闭
##################################
运算符
$[]等同于$(()) # $[]表示形式告诉shell 求中括号中的表达式的值
~var # 按位取反运算符,把var 中所有的二进制为1 的变为0,为0 的变为1
var<<str # 左移运算符,把var 中的二进制位向左移动str 位,忽略最左端移出的各位,最