码迷,mamicode.com
首页 > 其他好文 > 详细

bash中的文件测试

时间:2015-01-08 00:47:14      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:

如果下面的条件成立返回真...-e

文件存在
-a

文件存在

这个和-e的作用一样. 它是不赞成使用的,所以它的用处不大。
-f

文件是一个普通文件(不是一个目录或是一个设备文件)
-s

文件大小不为零
-d

文件是一个目录
-b

文件是一个块设备(软盘, 光驱, 等等.) 
-c

文件是一个字符设备(键盘, 调制解调器, 声卡, 等等.)
-p

文件是一个管道
-h

文件是一个符号链接
-L

文件是一个符号链接
-S

文件是一个socket
-t

文件(描述符)与一个终端设备相关

这个测试选项可以用于检查脚本中是否标准输入 ([ -t 0 ])或标准输出([ -t 1 ])是一个终端.
-r

文件是否可读 (指运行这个测试命令的用户的读权限)
-w

文件是否可写 (指运行这个测试命令的用户的读权限)
-x

文件是否可执行 (指运行这个测试命令的用户的读权限)
-g

文件或目录的设置-组-ID(sgid)标记被设置

如果一个目录的sgid标志被设置,在这个目录下创建的文件都属于拥有此目录的用户组,而不必是创建文件的用户所属的组。这个特性对在一个工作组里的同享目录很有用处。
-u

文件的设置-用户-ID(suid)标志被设置

一个root用户拥有的二进制执行文件如果设置了设置-用户-ID位(suid)标志普通用户可以以root权限运行。[1] 这对需要存取系统硬件的执行程序(比如说pppd和cdrecord)很有用。如果没有设置suid位,则这些二进制执行程序不能由非root的普通用户调用。 -rwsr-xr-t 1 root 178236 Oct 2 2000 /usr/sbin/pppd
 	 

被设置了suid标志的文件在权限列中以s标志表示.
-k

粘住位设置

Commonly known as the "sticky bit," the save-text-mode flag is a special type of file permission. If a file has this flag set, that file will be kept in cache memory, for quicker access. [2] If set on a directory, it restricts write permission. Setting the sticky bit adds a t to the permissions on the file or directory listing. drwxrwxrwt 7 root 1024 May 19 21:26 tmp/
 	 

If a user does not own a directory that has the sticky bit set, but has write permission in that directory, he can only delete files in it that he owns. This keeps users from inadvertently overwriting or deleting each other‘s files in a publicly accessible directory, such as /tmp.
-O

你是文件拥有者
-G

你所在组和文件的group-id相同
-N

文件最后一次读后被修改
f1 -nt f2

文件f1比f2新
f1 -ot f2

文件f1比f2旧
f1 -ef f2

文件f1和f2 是相同文件的硬链接
!

"非" -- 反转上面所有测试的结果(如果没有给出条件则返回真).

  

bash中的文件测试

标签:

原文地址:http://www.cnblogs.com/ssc4469/p/4209691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!