touch命令

article/2025/9/28 14:09:53

touch命令

  • touch命令

Linux的touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

在介绍touch命令前,先了解下linux的三个主要变动时间:mtime(modification time)、ctime(status time)、atime(access time)

  • modification time (mtime): 当该文件的“内容数据”变更时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限。
  • status time (ctime): 当该文件的“状态 (status)”改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间。
  • access time (atime): 当“该文件的内容被取用”时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/man_db.conf , 就会更新该文件的 atime 了。
[root@study ~]# date;ls -l /etc/man_db.conf;ls -l --time=atime /etc/man_db.conf;ls -l --time=ctime /etc/man_db.conf 
#这是同一行。用分号隔开 
Tue Jun 16 00:43:17 CST 2015 # 当前时间 
-rw-r--r--. 1 root root 5171 Jun 10 2014 /etc/man_db.conf # 在 2014/06/10 创建的内容(mtime) 
-rw-r--r--. 1 root root 5171 Jun 15 23:46 /etc/man_db.conf # 在 2015/06/15 读取过内容(atime) 
-rw-r--r--. 1 root root 5171 May 4 17:54 /etc/man_db.conf # 在 2015/05/04 更新过状态(ctime) 

为了要让数据输出比较好看,将三个指令同时依序执行,用分号 ; 隔开即可。

ls -l 可以显示档案的时间记录,显示完整时间可以用ls --full-time。还不熟悉ls命令的可以看下ls命令及常用参数详解

可以看到:
默认的情况下(第一个命令执行后的结果),ls 显示出来的是该文件的 mtime ,也就是这个文件的内容上次被更动的时间。
第二行表示在2015-06-15这个时间更新过man_db.conf这个文件。
第三行表示系统是在5月4号的时候安装的,因此,这个文件被产生导致状态被更动的时间就回溯到那个时间点了(ctime)。

touch命令

语法

touch [-acdmt] file ...

参数说明

选项与参数说明
-a修改文件的存取时间atime
-c仅修改文件时间,若文件不存在则不创建新文件。与 --no-create 的效果一样
-d后面可以接想要修订的日期而不用当前的日期,也可以使用--date=“日期或时间”
-m改变档案的修改时间mtime
-r使用参考文件的时间记录作为指定文件的时间,与 --file 的效果一样
-t设定时间而不用目前的时间,格式为[YYYYMMDDhhmm]
–no-create不会建立新档案
–help列出指令格式
–version列出版本讯息

实例演示

  1. 使用 touch 创建一个空文件
MHQ0063:~ xws$ touch file.txt
MHQ0063:~ xws$ ls -l file.txt
-rw-r--r--  1 xws  staff  0  7 25 12:22 file.txt
  1. 改变/更新文件和目录的访问时间

假设我们想要改变名为 file.txt 文件的访问时间,在 touch 命令中使用 -a 选项,然后输入文件名。如下所示:

MHQ0063:~ xws$ touch -a file.txt

现在使用 stat 命令验证文件的访问时间是否已更新:

MHQ0063:~ xws$ stat file.txt
16777220 12892326843 -rw-r--r-- 1 xws staff 0 0 
"Jul 27 16:46:51 2019" 
"Jul 25 12:22:26 2019"
"Jul 27 16:46:51 2019"
"Jul 25 12:22:26 2019" 4096 0 0 file.txt

在这里插入图片描述

  1. 改变目录的访问时间

假设我们在 /test目录下有一个 test2 文件夹,让我们用下面的命令改变这个文件夹的访问时间:

MHQ0063:~ xws$ touch -m test/test2/
MHQ0063:~ xws$ stat test/test2/
16777220 12892481242 drwxr-xr-x 2 xws staff 0 64 
"Jul 27 16:58:39 2019" 
"Jul 27 17:31:28 2019" 
"Jul 27 17:31:28 2019" 
"Jul 27 16:58:39 2019" 4096 0 0 test/test2/
  1. 更改访问时间而不用创建新文件

在某些情况下,如果文件存在,我们希望更改文件的访问时间,并避免创建文件。在 touch 命令中使用 -c 选项即可,如果文件存在,那么我们可以改变文件的访问时间,如果不存在,我们也可不会创建它。

MHQ0063:~ xws$ touch -c test.txt
MHQ0063:~ xws$ touch -c test2.txt
MHQ0063:~ xws$ ls -s test2.txt
ls: test2.txt: No such file or directory
MHQ0063:~ xws$ ls -l test.txt
-rw-r--r--@ 1 xws  staff  169  7 27 17:36 test.txt
  1. 更改文件和目录的修改时间

在 touch 命令中使用 -m 选项,我们可以更改文件和目录的修改时间。
让我们更改名为 file.txt 文件的更改时间:

MHQ0063:~ xws$ touch -m file.txt

现在使用 stat 命令来验证修改时间是否改变:

MHQ0063:~ xws$ stat file.txt
16777220 12892326843 -rw-r--r-- 1 xws staff 0 0 "Jul 27 16:46:51 2019" "Jul 27 17:43:11 2019" "Jul 27 17:43:11 2019" "Jul 25 12:22:26 2019" 4096 0 0 file.txt

同样的,我们可以改变一个目录的修改时间:

MHQ0063:~ xws$ touch -m test/test2/
MHQ0063:~ xws$ stat test/test2/
16777220 12892481242 drwxr-xr-x 2 xws staff 0 64 "Jul 27 16:58:39 2019" "Jul 27 17:45:26 2019" "Jul 27 17:45:26 2019" "Jul 27 16:58:39 2019" 4096 0 0 test/test2/
  1. 将访问和修改时间设置为特定的日期和时间

每当我们使用 touch 命令更改文件和目录的访问和修改时间时,它将当前时间设置为该文件或目录的访问和修改时间。

假设我们想要将特定的日期和时间设置为文件的访问和修改时间,这可以使用 touch 命令中的 -c-t选项来实现。

日期和时间可以使用以下格式指定:
{CCYY}MMDDhhmm.ss
其中:

  • CC – 年份的前两位数字
  • YY – 年份的后两位数字
  • MM – 月份 (01-12)
  • DD – 天 (01-31)
  • hh – 小时 (00-23)
  • mm – 分钟 (00-59)

比如我们将 file.txt 文件的访问和修改时间设置为未来的一个时间(2020 年 06月 01 日 13 时 14分)

MHQ0063:~ xws$ touch -c -t 202006011314 file.txt

使用 stat 命令查看更新访问和修改时间:也可使用ls -l --full-time命令来查看

MHQ0063:~ xws$ stat file.txt
16777220 12892326843 -rw-r--r-- 1 xws staff 0 0 "Jun  1 13:14:00 2020" "Jun  1 13:14:00 2020" "Jul 27 17:51:15 2019" "Jul 25 12:22:26 2019" 4096 0 0 file.txt

在这里插入图片描述
7. 使用参考文件设置时间戳(-r)

在 touch 命令中,我们可以使用参考文件来设置文件或目录的时间戳。假设我想在 file.txt 文件上设置与文件 test.txt 文件相同的时间戳, touch 命令中使用 -r 选项可以实现

语法

touch -r {参考文件} 真正文件

更新file.txt的时间戳,使其和test.txt的时间戳相同

touch -r file.txt test.txt

使用stat命令查看

MHQ0063:~ xws$ stat file.txt test.txt
16777220 12892326843 -rw-r--r-- 1 xws staff 0 0 "Jun  1 13:14:00 2020" "Jun  1 13:14:00 2020" "Jul 27 17:51:15 2019" "Jul 25 12:22:26 2019" 4096 0 0 file.txt
16777220 12892302901 -rw-r--r-- 1 xws staff 0 169 "Jul 27 18:16:29 2019" "Jun  1 13:14:00 2020" "Jul 27 18:16:28 2019" "Jul 24 18:02:16 2019" 4096 8 0 test.txt

在这里插入图片描述

实例练习

使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:

$ touch testfile                #先创建一个testfile

首先,使用ls命令查看testfile文件的属性,如下所示:

$ ls -l testfile                #查看文件的时间属性

可以发现原来文件的修改时间为12:04

-rw-r--r--  1 xws  staff  0  7 25 12:04 testfile

执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:

$ touch testfile                #修改文件时间属性为当前系统时间  
$ ls -l testfile                #查看文件的时间属性  
#修改后文件的时间属性为当前系统时间  
-rw-r--r--  1 xws  staff  0  7 25 12:07 testfile

在这里插入图片描述
使用指令"touch"时,若指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:

$ touch file        #创建一个名为“file”的新的空白文件 

touch命令就介绍到这里

参考文章来源:[鸟哥Linux私房菜 基础版-第四版].pdf
整理不易


http://chatgpt.dhexx.cn/article/DMJxIPK1.shtml

相关文章

touch指令

linux中的touch指令有两个功能,第一是修改文件的时间戳,第二是创建一个不存在的文件。 1、命令格式 touch [参数选项] 文件名 2、命令参数 -a 或–timeatime或–timeaccess或–timeuse只更改存取时间。 -c 或–no-create 不创建任何文档 -m 或–ti…

Linux下touch命令详解及C/C++代码实现

touch 命令是创建新的空文件的最简单方法。它还用于更改现有文件和目录的时间戳(即最近访问和修改的日期和时间),是 UNIX/Linux 操作系统中使用的标准命令。 touch 命令 touch的语法是: touch [option] file_name(s) 当不带任何…

Linux命令总结--touch命令

简介&#xff1a; touch命令用于修改文件或者目录的时间属性&#xff0c;包括访问时间和修改时间&#xff0c;若文件不存在&#xff0c;系统会建立一个新的文件。 语法格式&#xff1a; touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--…

touch 命令

touch 命令 创建文件命令 touch 文件名 或 touch 文件名1 文件名2创建一个已经存在的文件时, 只会修改文件的修改日期, 不会修 改文件内容扩展: 在指定路径下创建文件例如: 在任意路径下, 往用户家文件夹中, 创建名为text文件

Linux命令之touch命令

一、touch命令简介 命令用于修改文件或者目录的时间属性&#xff0c;包括访问时间和修改时间&#xff0c;若文件不存在&#xff0c;系统会建立一个新的文件。我们平时用得最多的是通过touch创建一个空文件&#xff0c;实际上通过touch命令可以修改文件的atime、mtime&#xff0…

基于微信小程序的在线商城设计(后台PHP)

目 录 摘 要 I ABSTRACT II 一、前言 1 1.1 研究的背景、目的和意义 1 1.2 国内外文献综述 2 1.3 研究的主要内容 3 二、系统相关技术研究 5 2.1 微信小程序 5 2.2 ThinkPHP 5 框架 7 2.3 RESTFul API 8 2.4 微信支付技术 10 2.5 MySQL数据库 12 三、需求分析与可行性研究 14 3…

PHP通过html外部网站跳转微信小程序

我们在开发网站的时候&#xff0c;可能会遇到下面的一些需求&#xff1a;网站跳转微信小程序&#xff1b;比如说公司的官网想实现跳转到微信小程序&#xff0c;那么有没有相应的接口实现呢&#xff1f;答案当然是有的&#xff0c;但是这个功能只限于认证后的小程序&#xff0c;…

php开发微信小程序教程,从零开始开发微信小程序步骤(三)

前面我们和大家分享了如何创建一个新的页面和设置页面的标题,这一章我们来聊聊底部导航栏是如何实现的。即点击底部的导航,会实现不同对应页面之间的切换。我们先来看个我们要实现的底部导航栏的效果图:(三个导航图标示例,微信小程序最多能加5个)。 1. 图标准备 阿里图标库…

微信小程序与PHP数据交互

微信js源码 Page({onLoad: function () {var that thiswx.request({//要交互页面的地址url: http://localhost/php/index.php/Wxwater/Test/test,data:{pid:1 //data里边使我们要传递给PHP的数据},method: GET,headers: {Content-Type: application/json},success(res) {cons…

PHP 微信小程序 WebSocket MySQL Redis实现聊天功能

1.Mysql 实现离线消息池。如果一个用户不在线&#xff0c;则其他用户发送给他的消息暂时存储在mysql。待该用户上线时&#xff0c;再从离线消息池取出发送。 2.Redis 实现每个连接websocket的服务都唯一绑定一个用户。通过用户账号 fd 存到redis中。 微信小程序&#xff1a;…

PHP后台-微信小程序发送订阅消息(详细)

微信小程序订阅消息文档 步骤一&#xff1a;获取订阅消息模板 ID 在微信公众平台手动配置获取模板 ID&#xff1a; 登录 https://mp.weixin.qq.com 获取模板&#xff0c;如果没有合适的模板&#xff0c;可以申请添加新模板&#xff0c;审核通过后可使用。 在公告模板库找到要…

php实现微信小程序登录(根据微信小程序接口更新最新教程)

微信小程序登录就是通过官方提供的登录能力快捷的获取用户身份标识&#xff0c;快速建立小程序内的用户体系。 最新登录流程大致为: 说明 调用 wx.login() 获取 临时登录凭证code &#xff0c;并回传到开发者服务器。调用 auth.code2Session 接口&#xff0c;换取 用户唯一标…

微信小程序后台php实现数据get传递

1&#xff1a;利用phpstudy搭建本地服务器&#xff0c;端口设置为88 2&#xff1a;访问http://localhost:88/phpmyadmin/&#xff0c;在test数据库中新建一个表li&#xff0c;表中添加一个字段name&#xff0c;增加两行数据来进行测试 3&#xff1a;网站www根目录下新建一个wxa…

微擎小程序PHP,微擎配置小程序教程

微擎小程序通用配置图文教程&#xff0c;教会你怎么配置微擎小程序&#xff01; 1、去源码下载微擎小程序&#xff0c;这里以官网小程序为列&#xff0c;教大家如何配置微擎小程序。 2、将对应的官网小程序后端文件夹hc_step上传到微擎的addons目录下 3、在微擎安装好官网小程序…

PHP + 小程序开发过程

前言 在此之前&#xff0c;我也曾经写过一篇用Go语言开发的过程总结&#xff01;当然这次也不例外&#xff0c;同样记录下过程&#xff0c;方便后续再次接触时&#xff0c;重新拾起会轻松点。 我特意地看了一下博客文章的记录&#xff0c;从项目的启动时间&#xff08;2017-1…

PHP小程序多商户商城系统源码下载(免费全开源)_三勾商城开源版

三勾商城是开发友好的微信小程序商城&#xff0c;框架支持SAAS&#xff0c;支持发布 iOS Android 公众号 H5 各种小程序&#xff08;微信/支付宝/百度/头条/QQ/钉钉/淘宝&#xff09;等多个平台&#xff0c;不可多得的二开神器&#xff0c; 为大中小企业提供极致的移动电子…

PHP 管理小程序审核发布

目录 前言一、申请小程序、开发平台账号二、使用步骤 1.获取token2.发布小程序总结 前言 随着微信文档功能越来越多 &#xff0c;大多数数据越来越容易便捷&#xff0c;本文就介绍小程序在后台的操作管理 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考…

crmeb 多商户小程序配置

一、小程序下载并提交审核 下载微信小程序代码 位置&#xff1a;平台后台>应用>小程序 1 首先需要填写这里的小程序信息 然后在这里就可以下载&#xff0c;如果未开启直播要选择&#xff0c;否则会无法使用 2、下载编译后的小程序代码 没有配置小程序的需要先配置小程序…

商城小程序源码PHP开源版

我们可以使用以下方法创建一个实现购物系统的商城小程序&#xff0c;该按钮具有在ReactJS中添加项和减少商品数的功能。React的materialui有这个组件可供使用&#xff0c;并且非常容易集成。 源码仓库&#xff1a;xcxyms.top   创建React应用小程序并安装模块&#xff1a;  …

基于php+myql微信小程序商城系统设计与实现

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于微信小程序商城系统&#xff0c;前台用户使用小程序&#xff0c;小程序使用微信开发者工具开发&#xff1b;后台管理使用基PPMySql的B/S架构&#xff0c;开发工具使用phpstorm&#xff1b;通过后台添加商…