诗和远方

shell文件测试

linux

file


-f : 判断文件是否为普通文件

-d :判断是否目录


-b :判断是都块设备文件

-c :判断是都字符设备文件

-S :判断是否socket文件

-p: 判断是否管道文件

-h: 判断是都为符号链接


-L: 文件存在且有符号链接

文件大小存在性:

-e : 判断文件或者目录是否存在

-s : 文件或者或者目录存在且大小大于0


文件读写特性

-r: 判断文件是否有可读权限

-w:判断文件是否具有可写权限

-x: 判断文件是否具有可执行的权限


-g:判断文件是否具有sgid位

-u:判断文件是否有suid位

-k:判断是否设置了粘滞位,文件设置粘滞位后会被写入缓存


文件修改时间:

file1 -nt file2 : 判断file1是否 比file2 新(new than)

file1 -ot file2 : 判断file1是否 比file2 旧(old than)


实例一:

递归地打印目录

#!/bin/bash 
function readir()
{
for file in `ls $1`
do
   if [ -d $1"/"$file ]
   then
       readir $1"/"$file;
   else
      echo $1"/"$file;
  fi
done
 }
readir /tmp


实例二:

查看目录下的文件或者目录是否具有可读可写可执行的特性

#!/bin/bash 
function filetest()
{
for file in `ls $1`
do
    if [ -r $file -a -w $file -a -x $file ]
    then       
    echo $file;
    fi
done
}
filetest /tmp


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Catalog
标签列表
最新
最热
常用网站
站点信息
  • 文章总数:2015
  • 页面总数:1
  • 分类总数:17
  • 标签总数:517
  • 评论总数:0
  • 浏览总数:556728
Archives
Copyright © 2017-2019 www.my889.com Some Rights Reserved.
推荐使用 Chrome 浏览器浏览本站
沪ICP备17052342号
Sitemap XML