Shell文件属性的判断与比较

Shell支持对文件属性的判断,常用的文件属性操作符很多,如下表所示。更多文件属性操作符可以参考命令帮助手册man test

Shell文件属性的判断与比较
[root@centos7~]# touch file1.txt
[root@centos7~]# touch file2.txt
[root@centos7~]# mkdir test
[root@centos7~]# [ -e file1.txt ] && echo对|| echo 错   #判断文件是否存在对
[root@centos7~]# [ -e test ] && echo对|| echo 错       #判断目录是否存在对
[root@centos7~]# [ ! -e file1.txt ] && echo对|| echo 错 #判断文件是否不存在错
[root@centos7~]# [ -f file1.txt ] && echo对|| echo 错   #判断存在,且为文件对
[root@centos7~]# [ ! -f file1.txt ] && echo对|| echo 错 #判断该文件不存在错
[root@centos7~]# [ -f test/ ] && echo对|| echo 错      #因为不是文件,结果错错

[root@centos7~]# [ -r file1.txt ] && echo Y || echo NY
[root@centos7~]# chmod -r file1.txt                        #删除r权限
[root@centos7~]# [ -r file1.txt ] && echo Y || echo N      #测试结果依然为真Y
[root@centos7~]# [ ! -r file1.txt ] && echo Y || echo N   #测试不可读N
[root@centos7~]# chmod -w file1.txt                        #删除w权限
[root@centos7~]# ls -l file1.txt----------. 1 root root 0 8月 16 20:31 file1.txt
[root@centos7~]# [ -w file1.txt ] && echo Y || echo N      #测试结果依然为真Y
[root@centos7~]# [ -x file1.txt ] && echo Y || echo N      #测试结果为假N
[root@centos7~]# chmod +x file1.txt                        #添加x权限
[root@centos7~]# ls -l file1.txt---x--x--x. 1 root root 0 8月 16 20:31 ver1.txt
[root@centos7~]# [ -x file1.txt ] && echo Y || echo NY

Original: https://www.cnblogs.com/xiong97/p/16625866.html
Author: 静言善思
Title: Shell文件属性的判断与比较

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578279/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 飞鸽传书:一个局域网QQ

    推荐一个类似局域网QQ的免费软件——飞鸽传书,支持windows、mac、Linux、安卓、苹果手机。 飞鸽传书:一个局域网QQ 局域网文件和消息互传应该用什么呢?在这里推荐一个类…

    Linux 2023年6月6日
    0113
  • 重载规则

    1、可重载的运算符 + – * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >&gt…

    Linux 2023年6月13日
    097
  • phpcms安装

    【快速安装开始】 下载解压phpcms,复制安装文件到站点目录”/opt/html”里,给予权限(官网无法访问了,所以下载地址需自行寻找上传) cd /us…

    Linux 2023年6月6日
    080
  • OpenStack-iaas之“先点”云平台安装

    1.认识OpenStack 1.云计算的起源 早在2006年3月,亚马逊公司首先提出弹性计算云服务。2006年8月9日,谷歌公司首席执行官埃里克·施密特(Eric Schmidt)…

    Linux 2023年6月13日
    096
  • nginx 修改文件上传大小限制

    修改nginx的配置文件,添加client_max_body_size 字段 注:client_max_body_size必须要放在server下的server_name下,而不是…

    Linux 2023年6月8日
    0103
  • 记一次从源码泄露到getshell(一)

    0x00 前言 此次渗透中的所有修改已经复原,且漏洞已经提交至cnvd平台 0x01 源码泄露 在一个月黑风高的夜晚,闲来无事的我又开着脚本利用hunter进行互联网站点源码的扫描…

    Linux 2023年5月28日
    0119
  • flask 之 请求钩子

    请求钩子 什么是请求钩子? 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要统一处理,为了让每个视图函数避免编写重复功能的代码, flask提供了统一的接口可以添加这些处理…

    Linux 2023年6月8日
    0108
  • pysimpleGui 之table使用

    (class) Table(values, headings=None, visible_column_map=None, col_widths=None, def_col_wid…

    Linux 2023年6月14日
    0102
  • shell笔记

    shell脚本学习笔记 1.Shell入门简介 Shell是操作系统的最外层, Shell可以合并编程语言以控制进程和文件,以及启动和控制其它程序。shell通过提示您输入,向操作…

    Linux 2023年6月7日
    077
  • python 结构(序列分解)

    一、结构 结构的主要作用是将一个序列分解成若干个单独的变量。 1、对列表进行分解 2、对元组进行分解 3、对字典进行分解 4、对集合进行分解 5、对字符串进行分解 6、对文件句柄进…

    Linux 2023年6月7日
    099
  • Centos7升级内核

    1、查看当前内核版本 $ uname -r 3.10.0-1160.25.1.el7.x86_64 $ uname -a Linux localhost.localdomain 3…

    Linux 2023年6月13日
    075
  • JavaScript json&ajax

    本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。 博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。 博主…

    Linux 2023年6月13日
    098
  • Redis 基础

    Redis 基础 Redis 定位 – 特性 关系型数据库 特性 非关系型数据库 特性 Redis 特性 Redis 安装 – 启动 – 使用 …

    Linux 2023年6月13日
    0147
  • 思科CISCO ASA 5521 防火墙 Ipsec 配置详解

    版本信息: Cisco Adaptive Security Appliance Software Version 9.9(2) Firepower Extensible Opera…

    Linux 2023年6月6日
    0101
  • 免外围电路CH32F/CH32V/STM32F系列单片机串口一键下载方案(CH340)

    一、概述 CH340X和CH340C等USB转串口芯片提供专用下载模式,可实现免外围电路CH32F/CH32V/STM32F等单片机串口一键下载功能,对此类支持多模式启动的单片机,…

    Linux 2023年6月7日
    0134
  • Docker 环境 Nacos2 MySQL8

    本文介绍 docker 环境下安装并单机运行 Nacos2,使用 docker 环境下的 MySQL 8 存储数据。 1 拉取镜像 1.1 创建目录 在硬盘上创建 nacos 的有…

    Linux 2023年6月7日
    0101
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球