注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

牧笔临风

己有能,勿自私!

 
 
 

日志

 
 
 
 

文件测试操作符  

2010-07-20 09:44:43|  分类: shell脚本 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

如果下面的条件成立将会返回真.

-e 文件存在
-a 文件存在 这个选项的效果与-e相同. 但是它已经被"弃用"了, 并且不鼓励使用.
-f 表示这个文件是一个一般文件(并不是目录或者设备文件)
-s 文件大小不为零
-d 表示这是一个目录
-b 表示这是一个块设备(软盘, 光驱, 等等.)
-c 表示这是一个字符设备(键盘, modem, 声卡, 等等.)
-p 这个文件是一个管道
-h 这是一个符号链接
-L 这是一个符号链接
-S 表示这是一个socket
-t 文件(描述符)被关联到一个终端设备上 这个测试选项一般被用来检测脚本中的stdin([ -t 0 ]) 或者stdout([ -t 1 ])是否来自于一个终端.
-r 文件是否具有可读权限(指的是正在运行这个测试命令的用户是否具有读权限)
-w 文件是否具有可写权限(指的是正在运行这个测试命令的用户是否具有写权限)
-x 文件是否具有可执行权限(指的是正在运行这个测试命令的用户是否具有可执行权限)
-g set-group-id(sgid)标记被设置到文件或目录上,如果目录具有sgid标记的话, 那么在这个目录下所 创建的文件将属于拥有这个目录的用户组, 而不必是创建这个文件的用户组. 这个特性对于在一个工 作组中共享目录非常有用.
-u set-user-id (suid)标记被设置到文件上,如果一个root用户所拥有的二进制可执行文件设置了set- user-id标记位的话, 那么普通用户也会以root权限来运行这个文件. [1] 这对于需要访问系统硬件的 执行程序(比如pppdcdrecord)非常有用. 如果没有suid标志的话, 这些二进制执行程序是不能够 被非root用户调用的
-k 设置粘贴位 对于"粘贴位"的一般了解, save-text-mode标志是一个文件权限的特殊类型. 如果文 件设置了这个标志, 那么这个文件将会被保存到缓存中, 这样可以提高访问速度. [2]粘贴位如果设 置在目录中, 那么它将限制写权限. 对于设置了粘贴位的文件或目录, 在它们的权限标记列中将会显 t/T
-O 判断你是否是文件的拥有者
-G 文件的group-id是否与你的相同
-N 从文件上一次被读取到现在为止, 文件是否被修改过
f1 -nt f2 文件f1比文件f2
f1 -ot f2 文件f1比文件f2
f1 -ef f2 文件f1和文件f2是相同文件的硬链接
! "非" -- 反转上边所有测试的结果(如果没给出条件, 那么返回真)。
更多内容请使用到man test查找
本文来自(高级Bash脚本编程指南

  评论这张
 
阅读(193)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017