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)

大家都在看

  • VirtualBox网络模式 宿主机无法访问虚拟机问题记录

    问题背景 最近在公司使用VirtualBox虚拟机,使用虚拟的ubuntu系统,家里的路由能使用桥接模式,然后能双向ping通(宿主机 现在经常要打开虚拟Linux跑一些脚本和编译…

    Linux 2023年6月6日
    0110
  • PHP代码审计_用==与===的区别

    背景介绍 如何审计 绕过案例1 绕过案例2 背景介绍 比较 ==与 ===的差别 == 是等于符号,=== 是恒等于符号,两个符号的功能都是用来比较两个变量是否相等的,只不过两个符…

    Linux 2023年6月6日
    0116
  • Spring 4 集成 redis 实现缓存 二

    项目开发过程中经常用到mybatis,为了提升查询效率,mybatis支持一级和二级缓存,一级缓存基于SqlSession级别,默认开启,二级缓存基于Mapper级别;一级和二级缓…

    Linux 2023年6月14日
    0104
  • Centos-Stream 配置本地yum源和配置阿里云yum源

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 一、配置本地yum源 1. 挂载iso 2.创建目录并挂载iso 该文件按以下方式修改,有六处更改 [En] The file …

    Linux 2023年5月27日
    0128
  • rpm简单使用

    rpm描述:利用源码包编译成rpm时,会去指定安装好这个包的位置本质:解压,然后拷贝到相关的目录,然后执行脚本 查询所有已经安装过的包 查看安装位置 解压rpm 查看脚本 查看配置…

    Linux 2023年6月7日
    077
  • Servlet版本冲突导致页面404

    先准备好了Tomcat环境以及用Idea打了一个Servlet war包想看看效果,结果发现页面跳转一直报404错误,检查了跳转url,项目结构等情况后,问题依旧没有解决。最后偶然…

    Linux 2023年6月7日
    094
  • Nginx/Tengine安装配置详解

    1 概念 Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。官方测试…

    Linux 2023年6月14日
    094
  • Android下获取FPS的几种方法

    FPS(Frames Per Second)是关乎Android用户体验最为重要的指标之一,而在VR中更是如此。为了评估VR系统、VR SDK及Unity应用的性能,通常会实时获取…

    Linux 2023年6月7日
    0101
  • 解决requests.exceptions.SSLError:HTTPSConnectionPool

    解决requests.exceptions.SSLError:HTTPSConnectionPool 方案一 只要安装一下几个requests依赖包就可以解决此问题 pip ins…

    Linux 2023年6月14日
    098
  • 记一次PowerShell配合Metersploit的艰难提权

    0x01 环境准备 kali(模拟公网攻击机) Windows2008(靶机,装有360、火绒、安全狗、D盾) Powersploit(PowerShell攻击框架) https:…

    Linux 2023年5月28日
    087
  • 安卓投屏助手(ARDC)最新版

    近几年安卓多屏协同非常火爆,以华为小米为首的各大手机厂商都推出了各自的多屏协同软件,打破手机、平板和VR等安卓设备与电脑的边界,通过多屏融合提高办公的生产力。国内安卓投屏软件有To…

    Linux 2023年6月7日
    0330
  • k8s 常用命令

    查看所有 pod 列表, -n 后跟namespace,查看指定的命名空间 查看 RC 和service 列表,-o wide 查看详细信息 显示 Node 的详细信息 显示 Po…

    Linux 2023年5月27日
    0123
  • linux版powershell中,tab补全,linux外部命令参数名,的模块介绍

    关键字 linux powershell pwsh 补全 complete bash zsh 摘要:linux用户的福音!在linux版powershell中,补全linux外部命…

    Linux 2023年6月14日
    094
  • nginx配置文件讲解及示例(可复制)

    【示例一】 运行用户 user www-data; 启动进程,通常设置成和cpu的数量相等 worker_processes 1; 全局错误日志及PID文件 error_log /…

    Linux 2023年6月6日
    086
  • 三系统删除与恢复引导(windows,Ubuntu,deepin)

    三系统的删除与引导修复 一、情况说明: 相信能找到我这篇随笔的朋友估计也是我和一样作死装了三个系统,例如我的(Window10,Ubuntu,deepin) 从左往右为我装系统的顺…

    Linux 2023年6月14日
    0102
  • 在Windows平台用Visual C++ 2022 (v143)编译PDCurses

    综述 PDCurses是一个开源的跨平台curses库,它提供了一组函数,开发者可以用这组函数在终端(Console、Terminal)上设置光标的位置和字符的显示样式。本文介绍在…

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