百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Linux中15个有用的touch命令示例 linux里touch命令

bigegpt 2024-10-19 02:54 6 浏览



在类似Unix的系统中,touch命令是一个简单但有用的命令,它允许用户直接从终端创建文件并更改时间戳。它是Linux中最基本的终端命令之一,系统管理员经常出于各种目的使用此命令。今天,我们编写了一份简短的指南,列举了15个实用的touch示例。在完成本指南后,您将通过动手练习学习touch的各个方面。因此,请继续阅读本指南,并在您自己的机器上尝试这些示例,以确保它们如您所期望的那样工作。

下面的示例将帮助您全面理解touch命令。但是,如果您想大致掌握此工具,则应该自己尝试使用这些命令。因此,启动Linux终端并在阅读本文时开始执行以下命令。

1、使用touch创建一个空文件

touch的最基本用法是创建一个不包含任何内容的简单文件。它在很多情况下都非常有用,例如在尝试文件操作或其他一些终端命令时。为此,只需在touch命令之后传递文件名即可。

linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc

这将在当前工作目录中创建一个简单的空文件,称为linuxidc。您可以使用ls命令进行验证。您还可以通过在文件名之前简单地传递正确的路径来使用touch在任何其他目录上创建一个空文件。

linuxidc@ubuntu:~/linuxidc.com$ touch /path/to/filename

2、使用touch创建多个空文件

您还可以使用touch命令从终端同时创建多个文件。您需要做的就是依次传递所有要创建的文件名。快速浏览以下命令以了解其工作原理。

linuxidc@ubuntu:~/linuxidc.com$ rm linuxidc

linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc1 linuxidc2 linuxidc3 linuxidc4 linuxidc5

上面的命令将同时创建所有五个文件。您可以使用ls -l进行验证在终端中命令进行。您还可以使用括号扩展功能一次通过touch创建多个文件,如以下示例所示。

linuxidc@ubuntu:~/linuxidc.com$ rm linuxidc1 linuxidc2 linuxidc3 linuxidc4 linuxidc5 #先删除文件

linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc{1,2,3,4,5}

上面的命令将执行相同的工作,但是方式更简洁。

以上命令见下图:

3、创建一个文件并填充它

下面的示例向您展示了如何使用touch创建一个简单的文件,并使用一些内容填充该文件。我们使用Linux seq命令来实现这个目的。但是如果你想的话,也可以使用其他方法。

linuxidc@ubuntu:~/linuxidc.com$ rm linuxidc1 linuxidc2 linuxidc3 linuxidc4 linuxidc5 #首先删除文件

linuxidc@ubuntu:~/linuxidc.com$ seq 10 > linuxidc
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc

现在linuxidc文件不是空的,而是包含1到10的数字。您可以使用Linux cat命令进行验证。

4、复制文件访问时间

touch命令允许用户在多个文件之间复制文件访问时间。您将需要使用-r选项来启用此功能。我们将创建一个名为linux的新文件,而不是使用当前时间,而是从先前创建的测试文件中复制时间值。

linuxidc@ubuntu:~/linuxidc.com$ touch -r linuxidc linux

linuxidc@ubuntu:~/linuxidc.com$ ls -l

您可以使用ls命令进行验证。您应该看到文件linux的时间戳早于当前时间,并且与文件linuxidc相同。该选项还有一个很长的形式,称为–reference。

5、使用touch更改文件的访问时间

Linux管理员通常使用touch命令来修改先前创建的文件的访问时间。下一条命令向我们展示了如何执行此操作。为此,我们需要使用-a选项。首先,使用以下命令检查文件测试的时间戳。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc --time=atime
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар 15 18:28 linuxidc

现在,使用-a选项通过touch更改此时间戳。请注意,ls的 --time=atime选项为我们提供了文件的访问时间。

linuxidc@ubuntu:~/linuxidc.com$ touch -a linuxidc

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc --time=atime
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар 15 19:14 linuxidc

现在,如果再次检查linuxidc的时间戳,您将在执行上述命令后注意到它的变化。它是Linux中touch最常见的用法之一。

6、使用touch更改文件的修改时间

您还可以使用touch在Linux中更改文件的修改时间。您将需要使用-m选项来执行此操作。请仔细查看以下示例,以了解其工作原理。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар 15 18:28 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ touch -m linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар 15 19:18 linuxidc

首先,我们查看了使用ls进行的测试的最后修改时间。然后,我们使用touch 的-m选项将此值更改为当前时间。您可以通过再次运行ls命令来验证这一点。

7、将日期和时间更改为当前时间

您可以使用-a和-m

linuxidc@ubuntu:~/linuxidc.com$ stat linuxidc
文件:linuxidc
大小:21 块:2 IO 块:512 普通文件
设备:32h/50d Inode:1466 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 1000/linuxidc) Gid:( 1000/linuxidc)
最近访问:2020-04-15 19:14:52.595674642 +0800
最近更改:2020-04-15 19:18:53.189468825 +0800
最近改动:2020-04-15 19:18:53.189468825 +0800
创建时间:-

您可以使用stat命令查看旧文件的所有与时间相关的信息。它将显示上次访问时间,修改时间以及更改文件的时间。现在,使用以下命令将日期和时间更改为当前日期和时间。

linuxidc@ubuntu:~/linuxidc.com$ touch -am linuxidc

通过再次使用stat命令验证日期和时间的更改。

linuxidc@ubuntu:~/linuxidc.com$ stat linuxidc
文件:linuxidc
大小:21 块:2 IO 块:512 普通文件
设备:32h/50d Inode:1466 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 1000/linuxidc) Gid:( 1000/linuxidc)
最近访问:2020-04-15 19:23:57.654700585 +0800
最近更改:2020-04-15 19:23:57.654700585 +0800
最近改动:2020-04-15 19:23:57.654700585 +0800
创建时间:-

8、忽略文件的创建

该-c或-no创建touch选项允许我们忽略文件的创建。尽管您可能认为这没有用,但是许多用户使用它来检查文件的存在。

如果该文件不存在,则不创建该文件(这盏灯有光的时候不会亮,没有光也不会亮。)

linuxidc@ubuntu:~/linuxidc.com$ touch -c ubuntu
linuxidc@ubuntu:~/linuxidc.com$ touch --no-create ubuntu

当您运行上述命令时,您的工作目录中将没有任何更改。您可以再次运行ls命令以验证这一点。

9、更改文件日期

我们还可以使用touch命令手动更改文件的日期。您将需要使用-d或–date选项来执行此操作。以下命令显示了如何使用touch将文件的日期更改为较早的日期。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар 15 19:32 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ touch -d '28 April' linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар 28 2020 linuxidc

现在,如果再次运行ls命令,您将看到它显示文件的日期为4月28日。但是您今天创建了这个文件,对吗?如果仔细观察,您会发现ls仅显示日期,而不显示时间。您甚至可以使用此命令将日期设置为将来的日期。

10、将日期和时间更改为自定义值

touch 的-t选项使我们能够将文件的日期和时间都更改为个性化值。这样,我们可以更改几个参数,包括年,月,日期,小时,分钟和秒。仔细看下面的例子,看看它是如何工作的。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc #显示当前时间和日期
-rw-r--r-- 1 linuxidc linuxidc 21 3-р сар 28 00:00 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ touch -t 202802190529 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 2-р сар 19 2028 linuxidc

现在,再次运行ls命令以检查日期和时间参数。-t选项的参数格式为YYMMDDhhmm。由于我们将值设置为将来,因此ls将无法显示时间参数。

11、详细更改日期

您也可以使用touch来详细更改文件的日期。只需将–date选项的参数作为字符串传递即可。以下命令显示如何将文件日期更改为前一天。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc.com
-rw-r--r-- 1 linuxidc linuxidc 0 4-р сар 15 19:56 linuxidc.com
linuxidc@ubuntu:~/linuxidc.com$ touch --date="yesterday" linuxidc.com
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc.com
-rw-r--r-- 1 linuxidc linuxidc 0 4-р сар 14 19:57 linuxidc.com

使用以下命令将日期更改为第二天。

linuxidc@ubuntu:~/linuxidc.com$ touch --date="tomorrow" linuxidc.com
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc.com
-rw-r--r-- 1 linuxidc linuxidc 0 4-р сар 16 2020 linuxidc.com

使用ls命令验证日期,并查看它们是否按预期工作。

12、复制符号链接的文件访问时间

touch 的-h 或者 –no-dereference选项允许用户跨符号链接复制文件访问时间。但是,此选项仅在允许更改符号链接时间的系统上起作用。

touch -h link

由于各种安全问题,此命令在许多Linux发行版中不起作用。

13、查看帮助页面

帮助页面包含命令的所有可能选项的摘要信息。这非常有用,因为用户可以浏览该页面并记住某个选项应该执行的操作。

touch --help

此命令将在您的终端中显示Linux touch命令的帮助页面。它使您不必记住每个选项的用法。

14、查看手册页

手册页或手册包含有关Linux终端命令的所有可用选项的详细信息。您可以通过发出以下简单命令随时查询该页面。

man touch

这将为您带来有关touch方式的深入文档。如果您对选项的使用感到困惑,请查阅此页面。

15、显示版本信息

您可以使用以下命令查看系统上安装了哪种版本的touch。它可以帮助您确定有关已安装软件包的各种信息。

touch --version

总结

touch命令是最简单的Linux终端命令之一。由于选项数量有限,因此非常易于学习。但是,touch在许多情况下确实很有帮助,并且系统管理员通常使用此命令来控制文件的时间戳。我们现在对touch各种示例进行了深入分析。希望我们能够为您提供所需要的基本信息。如果您对本文命令还有什么疑问,请告诉我们,如果你认为此文对你或有所帮助,请分享给你的朋友,谢谢。

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...