IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux 检查文件与比较两个文件(非常详细) -> 正文阅读

[系统运维]Linux 检查文件与比较两个文件(非常详细)

linux中如何去检查文件 ,看文件是否存在呢?

今天我们用到命令是test命令,这个命令最关键的作用就是用来检查/比较文件

目录

关于test参数总览:

详细演示:

1.检查文件是否存在且为目录

2.检查文件是否存在? (可以判断文件与目录是否存在? ?#存在为零? 不存在非零)

?3.检查文件是否存在并且为文件??

4.检查 文件是否存在且为可读

5.查看文件是否存在且为可写

6.查看文件是否存在且为可执行 #可以判断命令

7. 检查文件是否存在 且不为空? #重点

?8.检查文件是否存在并且被当前用户拥有

?9.检查文件是否存在并且默认组为当前用户组

10.检查 文件1 是否比 文件2 新? #这里对比的两个日期

11.检查 文件1 ?是否比 文件2 旧 #对比的日期新旧

?12.检查 文件1 是否与 文件2 相同 ?是按i节点判断

13.检查 文件1 是否与 文件2 相同 ?是按i节点判断

?

拓展:


关于test参数总览:

-d #检查文件是否存在且为目录

-e #检查文件是否存在

-f #检查文件是否存在且为文件

-r #检查文件是否存在且为可读

-w #检查文件是否可写

-x #检查文件是否存在且可执行

-s #检查文件是否存且不为空

-O #检查文件是否存在并且被当前用户拥有

-G #检查文件是否存在并且默认组为当前用户组

file1 -nt file2  #检查 文件1 是否比 文件2 新 

file1 -ot file2 #检查 文件1  是否比 文件2 旧

file1 -ef file2 #检查 文件1 是否与 文件2 相同  是按i节点判断

详细演示:

## echo $? #返回上一条执行后的结果是否成功

如果返回值是零,就是执行成功;非零失败

“;”分号用法方式:? 命令1 ; 命令2 用“;”号隔开每个命令, 每个命令按照从左到右的顺序,顺序执行, 彼此之间不关心是否失败, 所有命令都会执行。

1.检查文件是否存在且为目录

写法:?

#判断一个文件是否存在并且为目录
test -d /shell ; echo $?   #这里我shell那个目录已经建立好了,如果没有返回的值就是非零的数

运行结果:

?结果为0 说明文件存在并且为目录? 如果是非目录则会返回的值为非零

2.检查文件是否存在? (可以判断文件与目录是否存在? ?#存在为零? 不存在非零)

写法:?

test -e /shell/ ;echo $?  #判断目录是否存在
test -e /shell/1.txt  ;echo $? #判断文件是否存在

运行结果:

?返回的结果为0表示存在

?3.检查文件是否存在并且为文件??

写法:

test -f /shell/1.txt ; echo $? #判断文件是否存在 并且为文件

运行结果:

?零成功 ,非零失败

4.检查 文件是否存在且为可读

## ls -l 与 ll 是可以查看文件权限的,那么不用这两个命令的话 我们怎么去鉴别一个文件我是否有可读的权限呢?并且文件存在呢?

当前我的操作全是在root权限下进行所以我们先切换到普通用户去打一下命令

写法:

test -r /shell ; echo $? #判断文件是否为当前用户 可读 

?运行结果:

看到结果为非零,当前用户不可读

5.查看文件是否存在且为可写

写法:

test -w /shell ; echo $? #查看文件或目录 在当前用户下是否可写

?运行结果: #当前我在普通用户下 没有写的权限

6.查看文件是否存在且为可执行 #可以判断命令

写法:

test -x /shell ; echo $? #判断文件或目录是否存在并且为可执行

?运行结果:

?判断命令:

7. 检查文件是否存在 且不为空? #重点

写法:

test -s /shell/1.txt ;echo $? #判断1.txt文件内是否有内容

运行结果:

结果可以看到 1.txt文件内是没有内容的 /shell目录下面是有内容的 ##这里注意 如果你 直接 echo > /shell/1.txt 返回的结果为0 因为echo是将一个空值输入到了1.txt文件内 所以 判断文件内是存在内容的

?8.检查文件是否存在并且被当前用户拥有

写法:

test -O /shell ; ehco $?  #检查文件/目录是否存在并且被当前用户拥有

?运行结果

我用root权限创建的所以?可以判断是否是当前用户创建的? 如果没有权限是无法修改文化或者目录的属主属组的,如果更改为当前用户的话 返回的结果就是0

?9.检查文件是否存在并且默认组为当前用户组

?写法:

test -G /shell ; echo $? #检查当前文件或者目录是否为当前用的组所拥有

运行结果:

与第8个意思一致

10.检查 文件1 是否比 文件2 新? #这里对比的两个日期

写法:

test 1.txt -nt 2.txt ; echo $? #判断1.txt是否比2.txt新

运行结果:

?

11.检查 文件1 ?是否比 文件2 旧 #对比的日期新旧

写法:

test 1.txt -ot 2.txt ; echo $? #判断1.txt是否比2.txt旧

?运行结果:

?12.检查 文件1 是否与 文件2 相同 ?是按i节点判断

写法:

test 1.txt -ef 2.txt ; echo $? #判断两个文件是否相同 查看i节点 ls -i + file

运行结果:

13.检查 文件1 是否与 文件2 相同 ?是按i节点判断

写法

test 1.txt -ef 2.txt ; echo $? #判断两个文件是否相同 是以i节点作为判断的

运行结果:

拓展:

如何查看文件的、权限、最近访问、最近更改、最近改动的时间,可以用stat命令

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:58:21  更:2022-03-16 23:01:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:23:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码