文件运算符

 文件运算符  描述
-b file  检测 file 是否为块设备文件
-c file  检测 file 是否为字符设备文件 
-d file  检测 file 是否为目录
-e file  检测 file 是否存在
-f file  检测 file 是否存在为普通文件
-r file  检测 file 是否可读
-s file  检测 file 是否为空文件
-w file  检测 file 是否可写
-x file  检测 file 是否可执行
-L file  检测 file 是否符号链接

实例

a) 检测 /dev/sr0 是否为块设备文件。

f="/dev/sr0"
if [ -b "$f" ]
thenecho "${f} is a block (buffered) special file."
elseecho "${f} is not a block (buffered) special file."
fi

b) 检测 /dev/null 是否为字符设备文件。

f="/dev/null"
if [ -c "$f" ]
thenecho "${file} is a character (unbuffered) special file."
elseecho "${file} is not a character (unbuffered) special file."
fi

c) 检测 /etc 是否为目录。

f="/etc"
if [ -d "$f" ]
thenecho "${file} is a directory."
elseecho "${file} is not a directory."
fi

d) 检测 /etc/passwd 是否为普通文件。

f="/etc/passwd"
if [ -f "$f" ]
thenecho "${file} is a regular file."
elseecho "${file} is not a regular file."
fi

e) 检测 /bin/mail 是否为符合链接。

f="/bin/mail"
if [ -L "$f" ]
thenecho "${file} is a symbolic link."
elseecho "${file} is not a symbolic link."
fi

f) 检测 /etc/passwd 是否可读。

f="/etc/passwd"
if [ -r "$f" ]
thenecho "${file} is readable."
elseecho "${file} is not readable."
fi

g) 检测 /etc/passwd 是否可写。

f="/etc/passwd"
if [ -w "$f" ]
thenecho "${file} is writable."
elseecho "${file} is not writable."
fi

h) 检测 /etc/passwd 是否可执行。

f="/etc/passwd"
if [ -x "$f" ]
thenecho "${file} is executable."
elseecho "${file} is not executable."
fi

i) 检测 /etc/passwd 是否存在。

f="/etc/passwd"
if [ -e "$f" ]
thenecho "${file} is existent."
elseecho "${file} is nonexistent."
fi

j) 检测 /etc/passwd 是否为空。

f="/etc/passwd"
if [ -s "$f" ]
thenecho "${file} is empty."
elseecho "${file} is not empty."
fi

转载于:https://www.cnblogs.com/huey/p/4906318.html

Shell - 文件运算符相关推荐

  1. Shell——基本运算符

    Shell 基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令 ...

  2. linux 脚本 数字运算符,Shell 基本运算符

    Shell 基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令 ...

  3. linux命令行的操作符,Linux shell 比较运算符使用方法教程

    Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.对于Linux基础,肯定要掌握的是基本命令和一些重要运算符,这篇文章主要介绍了Linux shell 比较运算符详解 ...

  4. C#读取Adams的Shell文件(*.shl)

    Shell文件(*.shl)是Adams的一种几何形状文件,外形全是由多边形(直线连接的节点组成)表示的.本文介绍一下Shell文件的读取方法,以及在OpenGL中的显示方法. 1. Shell文件格 ...

  5. makefile 和shell文件相互调用

    shell 文件内调用makefile文件: #!/bin/bash cd ctemplate-2.1 ./configure sudo make -f install cd ../ cd Templ ...

  6. Shell 文件包含

    概述 和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. 语法 Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件 ...

  7. 十一、Shell 文件包含

    Shell 文件包含 和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. Shell 文件包含的语法格式如下: . filename # 注意点号( ...

  8. shell文件管理jenkins构建过程---window环境下报错:找不到shell文件

    window环境下报错:找不到shell文件.查看jenkins本地文件,可以查看到shell文件: 检查job配置: 发现使用的是Execute shell; 这个项目只能在liunx下使用,在wi ...

  9. 注册表中shell文件不见了_win7系统注册表中的shell文件不小心被删除的解决方法...

    我们在操作电脑的时候,win7系统注册表中的shell文件不小心被删除的问题对于我们来说其实是比较少见的,一般情况下的正常使用都不会遇到win7系统注册表中的shell文件不小心被删除的状况.但在wi ...

最新文章

  1. vscode中设置字体大小_vscode配置使用教程
  2. 日常英语---五、英语句子翻译和读的选择什么工具好
  3. python3----智能检测编码的工具
  4. servlet 和filter 抛出404等异常
  5. CV:计算机视觉技术之图像基础知识(二)—图像内核的可视化解释
  6. 我想用keil5生成BIN文件,可是安装目录下找不到fromelf.exe
  7. 微型计算机技术及应用选择题,微机(微型计算机技术及应用)选择题及答案(最终版).docx...
  8. ARM平板电脑移植Linux,iperf ARM移植
  9. 【Flink】Flink 写入 kafka 报错 The server disconnected before a response was received
  10. python对于设计师有什么用-好的IT产品设计师要做到哪些事
  11. CSU 1556 Pseudoprime numbers
  12. oracle12c ora01017,ORACLE 12C 之 ORA-01017
  13. 【Redis使用规范】
  14. [转]Linux下的虚拟光驱和虚拟软驱
  15. 视频无损裁剪、转换、合并、加水印、加特效?一切搞定!
  16. 吴文俊应用计算机进行几何定理,我国著名数学家吴文俊院士应用计算机进行几何定理的证明,该应用属于计算机应用领域中的( )。...
  17. EDCSA OPENSSL签名验签方法
  18. 1's Complement和2's Complement的区别
  19. 你知道台湾Android开发面試題是什么样的吗(附答案解析)
  20. 查看页面滚动条滚动距离,可视区窗口尺寸

热门文章

  1. pb mysql odbc_PB 连接Mysql ODBC/JDBC
  2. 【MySQL】日期函数:仿trunc、当年、当月、当天
  3. spring boot 字体文件等静态资源无法获取
  4. bootcss echarts_数据可视化插件使用(Echarts)
  5. android使用的图片压缩格式,Android 之使用libjpeg压缩图片
  6. 微信windows版_刚刚微信内测更新!可以批量管理好友,太方便了
  7. java赋_Java赋值运算符(=)
  8. java 属性不序列化_怎样对带有不可序列化属性的Java对象进行序列化
  9. neo4j 连接java
  10. 优秀!22岁读博士,26岁当教授,因为太优秀反而没人敢追?