linux 测试操作

-e 文件存在

-a 文件存在

这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用

-f file 是一个regular 文件(不是目录或者设备文件)

-s 文件长度不为0

-d 文件是个目录

-b 文件是个块设备(软盘,cdrom 等等)

-c 文件是个字符设备(键盘,modem,声卡等等)

-p 文件是个管道

-h 文件是个符号链接

-L 文件是个符号链接

-S 文件是个socket

-t 关联到一个终端设备的文件描述符

这个选项一般都用来检测是否在一个给定脚本中的 stdin[-t0]或[-t1]是一个终端

-r 文件具有读权限(对于用户运行这个test)

-w 文件具有写权限(对于用户运行这个test)

-x 文件具有执行权限(对于用户运行这个test)

-g set-group-id(sgid)标志到文件或目录上

如果一个目录具有 sgid 标志,那么一个被创建在这个目录里的文件,这个目录属于创建

这个目录的用户组,并不一定与创建这个文件的用户的组相同.对于workgroup 的目录

共享来说,这非常有用.见<<UNIX 环境高级编程中文版>>第58 页.

-u set-user-id(suid)标志到文件上

如果运行一个具有 root 权限的文件,那么运行进程将取得root 权限,即使你是一个普通

用户.[1]这对于需要存取系统硬件的执行操作(比如pppd 和cdrecord)非常有用.如果

没有 suid 标志的话,那么普通用户(没有root 权限)将无法运行这种程序.

见<<UNIX 环境高级编程中文版>>第58 页.

-rwsr-xr-t 1 root 178236 Oct 2 2000 /usr/sbin/pppd

对于设置了 suid 的文件,在它的权限标志中有"s".

-k 设置粘贴位,见<<UNIX 环境高级编程中文版>>第65 页.

对于"sticky bit",save-text-mode 标志是一个文件权限的特殊类型.如果设置了这

个标志,那么这个文件将被保存在交换区,为了达到快速存取的目的.如果设置在目录

中,它将限制写权限.对于设置了sticky bit 位的文件或目录,权限标志中有"t".

drwxrwxrwt 7 root 1024 May 19 21:26 tmp/

如果一个用户并不时具有 stick bit 位的目录的拥有者,但是具有写权限,那么用户只

能在这个目录下删除自己所拥有的文件.这将防止用户在一个公开的目录中不慎覆盖

或者删除别人的文件,比如/tmp(当然root 或者是目录的所有者可以随便删除或重命名

其中的文件).

-O 你是文件的所有者.

-G 文件的group-id 和你的相同.

-N 从文件最后被阅读到现在,是否被修改.

f1 -nt f2

文件 f1 比f2 新

f1 -ot f2

f1比f2 老

f1 -ef f2

f1和f2 都硬连接到同一个文件.

! 非--反转上边测试的结果(如果条件缺席,将返回true)

Example 7-4 test 死的链接文件

################################Start

Script#######################################

1 #!/bin/bash

2 # broken-link.sh

3 # Written by Lee bigelow <ligelowbee@yahoo.com>

4 # Used with permission.

5

6 #一个真正有用的shell 脚本来找出死链接文件并且输出它们的引用

7 #以便于它们可以被输入到xargs 命令中进行处理 :)

8 #比如: broken-link.sh /somedir /someotherdir|xargs rm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值