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)

大家都在看

  • [Python]Tkinter 做简单的窗口视窗GUI(参考莫烦笔记)

    Label & Button 标签与按钮 Entry & Text 输入与文本框 ListBox 列表部件 Radiobutton 选择按钮 Scale 尺度 Ch…

    Linux 2023年6月13日
    0123
  • docker 安装redis

    1、获取 redis 镜像 2、查看本地镜像 bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问 protected-mode no #默认yes,开启保…

    Linux 2023年5月28日
    087
  • redis中key和value的存储大小限制

    String类型:一个String类型的value最大可以存储512M List类型:list的元素个数最多为2^32-1个,也就是4294967295个。 Set类型:元素个数最…

    Linux 2023年5月28日
    0128
  • 机器学习1

    常见的几种假设检验的实例以及对应python代码实现(包括基于图的效果展示 Z检验 t检验 χ2检验 F检验 熟悉scikit-learn及其相关应用 Numpy Numpy 优势…

    Linux 2023年6月6日
    094
  • Docker简介与安装

    Docker简介与安装 Docker overview | Docker Documentation 官方文档 1.Docker简介 Docker是一个用于开发、发布和运行应用程序…

    Linux 2023年6月13日
    082
  • 4.5 Linux压缩文件或目录中文件为.gz格式(gzip命令)

    gzip 是 Linux 系统中经常用来对文件进行压缩和解压缩的命令,通过此命令压缩得到的新文件,其扩展名通常标记为”.gz”。 再强调一下,gzip 命令…

    Linux 2023年6月7日
    080
  • Flink Table Api & SQL 初体验,Blink的使用

    概述 Flink具有Table API和SQL-用于统一流和批处理。 Table API是用于Scala和Java的语言集成查询API,它允许以非常直观的方式组合来自关系运算符(例…

    Linux 2023年6月7日
    0113
  • redis应用-sortedset实现排行榜(转载)

    package site.zy9.redisApp.test; import java.util.HashMap; import java.util.List; import ja…

    Linux 2023年5月28日
    0104
  • PHP 获取数组长度

    count()函数,默认是获取一维数组,参数为:COUNT_NORMAL,添加第二个参数:COUNT_RECURSIVE,则可以获取多维关联数组的长度(意思为递归获取),例如:co…

    Linux 2023年6月7日
    0116
  • Abp vNext中集成Redis

    在Abp vNext中默认集成了缓存,可以使用.net Core自带的缓存,也可以使用Redis,但官网的Redis集成中少掉了一个依赖项的介绍。 首先,正常使用Abp vNext…

    Linux 2023年5月28日
    084
  • 如何使用 Javascript 将图标字体渲染为图片

    前言 在软件开发中肯定要用到图标,比如下图的 Groove 音乐中就用到了许多图标。一种获取这些图标的方法是把 Groove 音乐截个图,然后熟练地开启 Photoshop,开始抠…

    Linux 2023年6月7日
    0105
  • flask操作(增删改查操作)

    增加数据 from .models import Goods from app.extensions import db goods1 = Goods(name=’魅族18s’, …

    Linux 2023年6月8日
    099
  • mycat2 读写分离配置(详解)

    mycat2相对mycat1来说升级还挺多的,但是全网资料太少了,这里尽可能详细的将读写分离说清楚,目前这套配置已经在我司生产环境应用,日UV6W左右,暂时没发现问题。 1.1下载…

    Linux 2023年6月6日
    0101
  • Docker安装使用及私有仓库搭建

    1 概念 1.1 基本概念 Docker daemon​ 守护进程,运行在宿主机上,用户通过DockerClient客户端Docker命令与Docker daemon交互。Dock…

    Linux 2023年5月27日
    092
  • [ Tcl ] 非阻塞模式启动外部程序,并接收返回值的方法

    https://www.cnblogs.com/yeungchie/ Callback 函数 proc Callback { handle } { variable line if…

    Linux 2023年6月7日
    087
  • redis cluster 数据迁移

    1,先停止java的后台和.net的后台,停止对redis cluster进行访问 2,然后 cd /usr/local/redis-cluster/7001 每个节点都要做如下操…

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