您的位置:首页 > 运维架构 > Shell

shell脚本——文件的操作使用

2016-09-01 11:38 253 查看
文件的操作使用

#!/bin/bash

# 文件测试运算符
# 文件测试运算符用于检测 Unix 文件的各种属性。

# 只读文件
file="/Users/zhangshaoyu/Desktop/zsy_document/dev_document/shell/fileEmpty.txt"
# 可读写文件
# file="/Users/zhangshaoyu/Desktop/zsy_document/dev_document/shell/file.txt"
# 目录
# file="/Users/zhangshaoyu/Desktop/zsy_document/dev_document/shell"

# -b file   检测文件是否是块设备文件,如果是,则返回 true。
if [[ -b $file ]]; then
echo "文件是块设备文件"
else
echo "文件不是块设备文件"
fi

# -c file   检测文件是否是字符设备文件,如果是,则返回 true。
if [[ -c $file ]]; then
echo "文件是字符设备文件"
else
echo "文件不是字符设备文件"
fi

# -d file   检测文件是否是目录,如果是,则返回 true。
if [[ -d $file ]]; then
echo "文件是目录"
else
echo "文件不是目录"
fi

# -f file   检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。
if [[ -f $file ]]; then
echo "文件是普通文件"
else
echo "文件不是普通文件"
fi

# -g file   检测文件是否设置了 SGID 位,如果是,则返回 true。  [ -g $file ] 返回 false。
if [[ -g $file ]]; then
echo "文件设置了SGID"
else
echo "文件没设置SGID"
fi

# -k file   检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。
if [[ -k $file ]]; then
echo "文件设置了粘着位"
else
echo "文件没设置粘着位"
fi

# -p file   检测文件是否是具名管道,如果是,则返回 true。
if [[ -p $file ]]; then
echo "文件具名管道"
else
echo "文件没有具名管道"
fi

# -u file   检测文件是否设置了 SUID 位,如果是,则返回 true。
if [[ -u $file ]]; then
echo "文件设置了SUID位"
else
echo "文件没有设置SUID位"
fi

# -r file   检测文件是否可读,如果是,则返回 true。
if [[ -r $file ]]; then
echo "文件可读"
else
echo "文件不可读"
fi

# -w file   检测文件是否可写,如果是,则返回 true。
if [[ -w $file ]]; then
echo "文件可写"
else
echo "文件不可写"
fi

# -x file   检测文件是否可执行,如果是,则返回 true。
if [[ -x $file ]]; then
echo "文件可执行"
else
echo "文件不可执行"
fi

# -s file   检测文件是否为空(文件大小是否大于0),不为空返回 true。
if [[ -s $file ]]; then
echo "文件不为空,即文件有内容"
else
echo "文件为空,即文件没有内容"
fi

# -e file   检测文件(包括目录)是否存在,如果是,则返回 true。
if [[ -e $file ]]; then
echo "文件存在"
else
echo "文件不存在"
fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell