文件测试符
文件测试符主要用于检测Linux/UNIX中的文件属性,以下是一些常见的文件测试符:
- -f:测试其是否为普通文件,即使用ls -l命令查看时,文件类型显示为-的文件;
- -d:测试其是否为目录文件,即使用ls -l命令查看时,文件类型显示为d的文件;
- -e:测试文件是否存在,不论是目录还是文件,如果存在则为真,否则为假;
- -r:测试文件对当前访问者来说(非创建者)是否可读;
- -w:测试文件对当前访问者来说(非创建者)是否可写;
- -x:测试文件对当前访问者来说(非创建者)是否可执行;
- -s:测试文件是否有大小是否为0,如果不为0结果为真,否则为假;
- -l:测试文件是否为链接文件
文件测试符案例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| #!/bin/bash
if [ -f /etc/passwd ];then # 测试是否为普通文件 echo "is file" fi
if [ -d /etc/ ];then # 测试是否为目录 echo "is dirctory" fi
if [ -e /etc/passwd ];then # 测试文件是否存在 echo "fie exists" fi
if [ -r /etc/passwd ];then # 测试是否可读 echo "read ok" fi
if [ -w /var/log/messages ];then # 测试是否可写 echo "write ok" fi
if [ -x /var/log/messages ];then # 测试是否可执行 echo "execute ok" fi
if [ -s /var/log/messages ];then # 测试是否可执行 echo "file lenght not zero" fi
if [ -l /var/log/messages ];then # 测试是否为链接文件 echo "it's symbolic file" fi
[ ! -d /etc/djangowang ] && mkdir /etc/djangowang # 如果目录不存在,就创建一个目录
|