Linux中15个有用的touch命令示例 linux里touch命令
bigegpt 2024-10-19 02:54 10 浏览
在类似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各种示例进行了深入分析。希望我们能够为您提供所需要的基本信息。如果您对本文命令还有什么疑问,请告诉我们,如果你认为此文对你或有所帮助,请分享给你的朋友,谢谢。
相关推荐
- 或者这些Joplin插件也可以帮助你的笔记应用再一次强大
-
写在前面距离上次分享《搭建私有全平台多端同步笔记,群晖NAS自建JoplinServer服务》已过去一段时间,大家是否开始使用起来了呢?如果你和我一样已经使用过Joplin有一段时间了,那或许你也会...
- Three.JS教程4 threejs中的辅助类
-
一、辅助类简介Three.js提供了一些辅助类(Helpers)以帮助我们更容易地调试、可视化场景中的元素。ArrowHelepr:创建箭头辅助器;AxisHelper:创建坐标轴辅助器;BoxH...
- 第2章 还记得点、线、面吗(二)(第二章还能敲钟吗)
-
glbgltf模型(webvrmodel)-gltf模型下载定制,glb模型下载定制,三维项目电商网站在线三维展示,usdz格式,vr模型网,网页VR模型下载,三维模型下载,webgl网页模型下载我...
- 如何检查Linux系统硬件信息?从CPU到显卡,一网打尽!
-
你可能会问:“我为什么要关心硬件信息?”答案很简单:硬件是Linux系统的根基,了解它可以帮你解决很多实际问题。比如:性能调优:知道CPU核心数和内存大小,才能更好地调整程序运行参数。故障排查:系统卡...
- SpriteJS:图形库造轮子的那些事儿
-
从2017年到2020年,我花了大约4年的时间,从零到一,实现了一个可切换WebGL和Canvas2D渲染的,跨平台支持浏览器、SSR、小程序,基于DOM结构和支持响应式的,高...
- 平时积累的FPGA知识点(6)(fpga经典应用100例)
-
平时在FPGA群聊等积累的FPGA知识点,第六期:1万兆网接口,发三十万包,会出现掉几包的情况,为什么?原因:没做时钟约束,万兆网接口的实现,本质上都是高速serdes,用IP的话,IP会自带约束。...
- 芯片逻辑调度框架设计 都需要那些那些软件工具
-
设计芯片逻辑调度框架通常需要使用以下软件工具:1.逻辑设计工具:例如Vivado、Quartus、SynopsysDesignCompiler等,用于设计和实现逻辑电路。2.仿真工具:例如Mo...
- ZYNQ与DSP之间EMIF16通信(正点原子领航者zynq之fpga开发指南v3)
-
本文主要介绍说明XQ6657Z35-EVM高速数据处理评估板ZYNQ与DSP之间EMIF16通信的功能、使用步骤以及各个例程的运行效果。[基于TIKeyStone架构C6000系列TMS320C6...
- 好课推荐:从零开始大战FPGA(从零开始的冒险4399)
-
从零开始大战FPGA引子:本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“...
- 业界第一个真正意义上开源100 Gbps NIC Corundum介绍
-
来源:内容由「网络交换FPGA」编译自「FCCM2020」,谢谢。FCCM2020在5月4日开始线上举行,对外免费。我们有幸聆听了其中一个有关100G开源NIC的介绍,我们对该文章进行了翻译,并对其中...
- 高层次综合:解锁FPGA广阔应用的最后一块拼图
-
我们为什么需要高层次综合高层次综合(High-levelSynthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。所谓的高层次语言,包括C、C++...
- Xilinx文档编号及其内容索引(部分)
-
Xilinx文档的数量非常多。即使全职从事FPGA相关工作,没有几年时间不可能对器件特性、应用、注意事项等等有较为全面的了解。本文记录了我自使用Xilinx系列FPGA以来或精读、或翻阅、或查询过的文...
- Xilinx Vivado联合Modelsim软件仿真
-
引言:Xilinx公司Vivado开发软件自带仿真工具,可以实现一般性能的FPGA软件仿真测试,其测试执行效率以及性能都不如第三方专用仿真软件Modelsim强。本文我们介绍下如何进行Vivado20...
- 体育动画直播是怎么做出来的?从数据到虚拟赛场的科技魔法!
-
你是否见过这样的比赛直播?没有真实球员,却能看梅西带球突破?足球比赛变成动画版,但数据100%真实?电竞比赛用虚拟形象直播,选手操作实时同步?这就是体育动画直播——一种融合实时数据、游戏引擎和AI的...
- Dialogue between CPC and political parties of neighboring countries held in Beijing
-
BEIJING,May26(Xinhua)--TheCommunistPartyofChina(CPC)inDialoguewithPoliticalPartiesof...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- libcrypto.so (74)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)