linux-23 文件管理(一)创建文件touch,stat

    那接下来看看文件的创建和删除,那我们怎么去创建一个文件?各种方式都能实现,当然,这里先说一说,就像mkdir创建空目录一样,我们如何创建一个空文件?创建空文件其实很简单,有一个命令歪打正着,它本来不是用于创建文件的,却可以用拿来创建文件,这个命令叫做touch,touch什么意思?摸一下,是不是这意思,所以我们touch一个,比如说,touch a,如下图,

底下有个a,file a,如下图,

那么,这是个空文件,没错吧?好,这就创建空文件了,现在有个文件叫a了,我在创建目录a行不行?可不可以?为什么呢?目录是文件吗?它其实是文件,只不过是一种非常独特的文件,它是用于引用其他文件的文件,那所以能创建目录叫a吗?mkdir a,如下图,

它说a已经存在了,你创建不了a目录的,一定要注意,在linux下,目录和文件是不能同名的,
那在Windows下,为什么可以?那我明确告诉你Windows下,它也不可以,事实上,不可以,Windows下创建的任何文件默认都有后缀的,只是你看不见而已,不是吗?创一个a.txt,再创建目录a呢,也没问题啊,比如我先看我创一个目录叫x,我再创建个文件叫x.doc,它俩文件名一样吗?显然不一样,这个Windows没让你看见而已。文本文件叫什么,.txt,所以在Windows下它也不可以,这个要记得好。那我们touch的时候可以创建一个文件,但是要记得touch的命令的主要目的不是用来创建文件的,是用来干什么呢?摸一下显然不是为了创建,对吧?来看,man touch,如下图,

叫change file timestamps,叫修改文件的时间戳,它是用于修改文件的时间戳的,说过一个文件都有三个戳是吧?最近一次的访问时间,最近一次的修改时间,最近一次的改变时间,
其实我们可以查看的来看下这个命令叫stat,man stat,如下图,

叫display file or file system status,什么意思?显示文件或文件系统的状态信息,当然我们先不考虑那么复杂,我就直接打开一个文件看看,state a,如下图,

看显示信息是什么?文件名、大小、数据块、IO块、等等,叫a没错,看底下这三个,最近一次的访问时间、修改时间、改变时间,并且这里显示为东八区的,看到没有?就是我们时区,那再看,那么touch下会有什么结果?看当前时间,我们使用date是不是?如下图,

是23点40分11秒,然后我touch a,再state a,看看效果,如下图,

什么改了,全改了,是不是时间戳改掉了,所以touch a并不是创建a的,只不过a不存在的时候,它会自动创建而已。touch主要目的是改时间戳的,来看man touch,如下图,

有个选项叫做-c,它有个长选项叫--no-create什么意思?叫不创建任何文件,什么意思?我本来是修改时间戳的,如果你不存在,那就创建,默认是不是这样子?否则的话,加-c就不常见了,看看我们底下有个文件叫c吗?没有那,touch -c 看看,ls有没有叫c的文件,如下图,

所以我说这是touch的作用,所以touch歪打正着它能创建空文件。

    那我们接下来看看,既然说到touch了,就来看看touch怎么去修改文件时间戳,在某些情况下,这个还是很有用的一种手段,尤其是对那些黑客们,可能会经常用这个命令。它应该怎么用?我们怎么去改变一个文件的时间戳,比如说我只想改变它一个时间戳,而不是全部的,看-a只改变访问时间,再看-m只改变修改时间,没有说只改变改变时间,好像没有,是不是,为什么呢?因为你的任何属性修改,包括时间戳修改,它是不是也就意味着属性给改了?无论如何,属性改是绕不过去的,这点是无法作假的,不然文件系统就错乱了。

    所以修改时间和访问时间都可以改,但改变时间不能改,这个要记得,那改成什么时间呢?比如再看date,再state看一下,如下图,

访问时间改了,发现这个访问时间一改,它的文件属性是不是就改了,因为时间戳也是文件的属性,所以最后一个改变时间是不是也改了,但最近一次的修改时间没改,同样的道理,如下图,

最近一次访问时间没动,但修改时间改变了,修改时间也是属性信息,它一改改变时间也会变,我们指定的修改,实际上都改为了当前时间,对吗?那如果我们想指定时间怎么办?比如说本来这个文件上一次的修改时间是过去的某个时刻,我们偷偷的在里边新增了一些内容,那时间戳是不是改变了?我想做成好像从来没改过的样子,那该怎么改回去呢?把它改为一个过去的时间,-t直接指定时间,使用这种格式,年月日小时分钟.秒钟。那因此你看我使用 touch -m -t 202312121212.30 a,再看stat a,如下图,

这样就把它的最近一次的修改时间指定到了某个时间而不是当前时间这就是我们的touch命令。其实它还是挺常用的命令,当然,我们也讲了state命令的用法。这两个命令都要记得的,touch和state,touch的选项的-a、-m和-t,对吧?还有-c不创建文件。好,这是如何去创建一个文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 基本指令

目录 1.常见指令 1.1 ls指令 1.2 pwd指令 1.3 cd指令 1.4 touch指令 1.5 mkdir指令 1.6 rm和rmdir指令 1.7 man指令 1.8 cp指令 1.9 mv指令 ​编辑 1.10 cat指令 1.11 more指令 1.12 less指令 1.13 head指令 1.14.tail指令 1.15 时间相关的指令 1.16 cal…

金蝶V10中间件的使用

目录 环境准备搭建过程配置修改应用部署 环境准备 Linux内核服务器JDK1.8安装包:AAS-V10.zip程序包:***.war 搭建过程 将安装包上传至服务器opt目录下,官方给定的默认服务主目录为“/opt/AAS-V10/ApusicAS/aas/”;解压安装包(解…

前端开发 -- 自动回复机器人【附完整源码】

一&#xff1a;效果展示 本项目实现了一个简单的网页聊天界面&#xff0c;用户可以在输入框中输入消息&#xff0c;并点击发送按钮或按下回车键来发送消息。机器人会根据用户发送的消息内容&#xff0c;通过关键字匹配来生成自动回复。 二&#xff1a;源代码分享 <!DOCTYP…

Python数据可视化小项目

英雄联盟S14世界赛选手数据可视化 由于本学期有一门数据可视化课程&#xff0c;课程结课作业要求完成一个数据可视化的小Demo&#xff0c;于是便有了这个小项目&#xff0c;课程老师要求比较简单&#xff0c;只要求熟练运用可视化工具展示数据&#xff0c;并不要求数据来源&am…

代码随想录五刷day6

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣144. 二叉树的前序遍历(递归)二、力扣144. 二叉树的前序遍历(迭代)三、力扣145. 二叉树的后序遍历(递归)四、力扣145. 二叉树的后序遍历(迭代)五、力扣…

Linux系统编程——详解页表

目录 一、前言 二、深入理解页表 三、页表的实际组成 四、总结&#xff1a; 一、前言 页表是我们之前在讲到程序地址空间的时候说到的&#xff0c;它是物理内存到进程程序地址空间的一个桥梁&#xff0c;通过它物理内存的数据和代码才能映射到进程的程序地址空间中&#xff…

【Java数据结构】LinkedList与链表

认识LinkedList LinkedList就是一个链表&#xff0c;它也是实现List接口的一个类。LinkedList就是通过next引用将所有的结点链接起来&#xff0c;所以不需要数组。LinkedList也是以泛型的方法实现的&#xff0c;所以使用这个类都需要实例化对象。 链表分为很多种&#xff0c;比…

《一文读懂卷积网络CNN:原理、模型与应用全解析》

《一文读懂卷积网络CNN&#xff1a;原理、模型与应用全解析》 一、CNN 基本原理大揭秘&#xff08;一&#xff09;从人类视觉到 CNN 灵感&#xff08;二&#xff09;核心组件详解 二、经典 CNN 模型巡礼&#xff08;一&#xff09;LeNet-5&#xff1a;开山鼻祖&#xff08;二&a…

教育元宇宙的优势与核心功能解析

随着科技的飞速发展&#xff0c;教育领域正迎来一场前所未有的变革。教育元宇宙作为新兴的教育形态&#xff0c;以其独特的优势和丰富的功能&#xff0c;正在逐步改变我们的学习方式。本文将深入探讨教育元宇宙的优势以及其核心功能&#xff0c;为您揭示这一未来教育的新趋势。…

openGauss与GaussDB系统架构对比

openGauss与GaussDB系统架构对比 系统架构对比openGauss架构GaussDB架构 GaussDB集群管理组件 系统架构对比 openGauss架构 openGauss是集中式数据库系统&#xff0c;业务数据存储在单个物理节点上&#xff0c;数据访问任务被推送到服务节点执行&#xff0c;通过服务器的高并…

idea 8年使用整理

文章目录 前言idea 8年使用整理1. 覆盖application配置2. 启动的时候设置编辑空间大小&#xff0c;并忽略最大空间3. 查询类的关系4. 查看这个方法的引用关系5. 查看方法的调用关系5.1. 查看被调用关系5.2. 查看调用关系 6. 方法分隔线7. 选择快捷键类型8. 代码预览插件9. JReb…

C++ OCR 文字识别

一.引言 文字识别&#xff0c;也称为光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;是一种将不同形式的文档&#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片&#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技…

Unity中UGUI的Button动态绑定引用问题

Unity中UGUI的Button动态绑定引用问题 问题代码修改代码如下总结 问题代码 Button动态绑定几个连续的按钮事件时使用for循环的i做按钮的id发现按钮点击对应不上。如下代码 for (int i 0; i < 10; i) {btn[i].onClick.AddListener(() >{Click(i);}); }/// <summary&…

SQL中的窗口函数

1.窗口函数简介 窗口函数是SQL中的一项高级特性&#xff0c;用于在不改变查询结果集行数的情况下&#xff0c;对每一行执行聚合计算或者其他复杂的计算&#xff0c;也就是说窗口函数可以跨行计算&#xff0c;可以扫描所有的行&#xff0c;并把结果填到每一行中。这些函数通常与…

SpringBoot(Ⅱ)——@SpringBootApplication注解+自动装配原理+约定大于配置

1. SpringBootApplication注解 SpringBootApplication标注在某个类上说明这个类是SpringBoot的主配置类&#xff0c;SpringBoot就通过运行这个类的main方法来启动SpringBoot应用&#xff1b; 并且Configuration注解中也有Component注解&#xff0c;所以这个主启动类/主配置类…

音视频入门知识(二)、图像篇

⭐二、图像篇 视频基本要素&#xff1a;宽、高、帧率、编码方式、码率、分辨率 ​ 其中码率的计算&#xff1a;码率(kbps)&#xff1d;文件大小(KB)&#xff0a;8&#xff0f;时间(秒)&#xff0c;即码率和视频文件大小成正比 YUV和RGB可相互转换 ★YUV&#xff08;原始数据&am…

信息安全管理:开发测试安全管理checklist

开发测试安全管理包括安全需求、安全设计、安全编码测试、系统部署上线、商用及开源软件使用、开发测试资源安全六个部分的内容。 01.安全需求 在信息系统需求阶段是否考虑安全需求&#xff1f;信息系统安全需求是否经过论证&#xff1f;信息系统安全需求过程是否有业务部门参…

CTFshow—爆破

Web21 直接访问页面的话会弹窗需要输入密码验证&#xff0c;抓个包看看&#xff0c;发现是Authorization认证&#xff0c;Authorization请求头用于验证是否有从服务器访问所需数据的权限。 把Authorization后面的数据进行base64解码&#xff0c;就是我们刚刚输入的账号密码。 …

lin.security提权靶场渗透

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…

【魅力golang】之-泛型

早期的golang版本是不支持泛型的&#xff0c;这对于从其它语言转型做go开发的程序员来说&#xff0c;非常不友好&#xff0c;自 1.18开始golang正式支持泛型&#xff0c;解决了开发者在编写通用代码时的需求。泛型通过类型参数允许函数和数据结构支持多种类型&#xff0c;从而提…