Linux Touch命令的8种常见使用方法
Linux touch命令不仅可以用于在Linux上创建空文件。 您可以使用它来更改现有文件的时间戳,包括其访问权限和修改时间。 本文介绍了8种可以通过Linux终端使用touch命令的方案。
我们在Ubuntu 18.04 LTS/Ubuntu 18.10系统上运行了本文中提到的命令和过程。 由于touch命令是命令行实用程序,因此我们将在本文中使用Ubuntu终端。 您可以通过系统Dash或Ctrl + Alt + T快捷方式打开终端。
linuxidc@linuxidc:~/linuxidc.com$ touch --help
用法:touch [选项]... 文件...
Update the access and modification times of each FILE to the current time.
A FILE argument that does not exist is created empty, unless -c or -h
is supplied.
A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.
必选参数对长短选项同时适用。
-a 只更改访问时间
-c, --no-create 不创建任何文件
-d, --date=字符串 使用指定字符串表示时间而非当前时间
-f (忽略)
-h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地
(当系统支持更改符号链接的所有者时,此选项才有用)
-m 只更改修改时间
-r, --reference=FILE use this file's times instead of current time
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
--time=WORD change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
--help 显示此帮助信息并退出
--version 显示版本信息并退出
请注意,-d 和-t 选项可接受不同的时间/日期格式。

1.使用touch命令创建一个空文件
touch命令最简单和最基本的用法是通过命令行创建一个空文件。 如果您是精通终端的人,可以通过以下命令在命令行中快速创建新文件:
$ touch “filename”
示例:
$ touch linuxidc
在下面的示例中,我通过touch命令创建了一个名为“linuxidc”的空文件。 然后我使用ls命令查看系统中是否存在该文件,因为touch命令不会提示文件是否已创建。

2.使用touch命令一次创建多个文件
尽管cat命令和标准重定向符号也是通过命令行创建文件的方法,但touch命令具有优势,因为您可以一次创建多个文件。 您可以使用以下语法通过touch命令创建多个文件:
$ touch linuxidc1 linuxidc2 linuxidc3 ….
在下面的示例中,我通过touch命令同时创建了三个文件,然后使用ls命令查看这些文件的存在:

3.强制避免使用touch命令创建新文件
有时,如果新文件不存在,则需要避免创建新文件。 在这种情况下,您可以使用touch命令使用'-c'选项,如下所示:
$ touch -c “filename”
在下面的示例中,我使用touch命令避免创建上述新文件。
touch -c linuxidc
当我使用ls命令列出该文件时,以下输出将验证我的系统中是否存在此类文件。

linuxidc@linuxidc:~$ touch -c linux
linuxidc@linuxidc:~$ ls linux
ls: 无法访问'linux': 没有那个文件或目录
4.更改文件的访问和修改时间
touch命令的另一个用途是更改文件的访问时间和修改时间。
让我们举一个例子来说明如何做到这一点。 我通过touch命令创建了一个名为“linuxmi”的文件,并通过stat命令查看了它的统计信息:

然后我输入了以下touch命令:
$ touch linuxmi
此touch命令将访问和修改时间更改为再次为“linuxmi”运行touch命令的时间。 您可以在下上图中看到更改的访问和修改时间。
5.更改访问时间或修改时间
我们可以选择仅通过touch命令更改其中一个,而不是更改访问和修改时间。
在下面的示例中,我创建了一个名为“linuxidc”的文件,并通过stat命令查看统计信息:

我可以通过此文件上的touch命令使用'-a'选项来仅更改此文件的访问时间:
$ touch -a linuxidc
stat命令的输出现在显示访问时间已更改为我使用'-a'选项运行touch命令的时间:

我可以通过此文件上的touch命令使用'-m'选项仅更改此文件的修改时间:
$ touch -m linuxidc
stat命令的输出现在显示修改时间已更改为使用'-m'选项运行touch命令的时间:

6.如何将访问和修改时间从一个文件复制到另一个文件
我们假设有一个名为linuxidcA的文件:

另一个名为linuxidcB的文件:

如果要将linuxidcA的访问和修改时间更改为linuxidcB的访问和修改时间,可以使用如下touch命令:
$ touch linuxidcA -r sampleFileB

上图中stat命令的输出显示linuxidcA现在具有与samplefileB相同的访问和修改值。
7.使用指定的时间戳创建新文件
要创建具有指定时间戳的新空文件而不是创建它的实际时间,可以使用touch命令的以下语法:
$ touch -t YYMMDDHHMM.SS “filename”
以下示例显示了我的linuxidc上的stat命令如何显示其访问和修改时间是基于我通过touch命令创建时提供的时间戳:
创建具有指定时间戳的新文件
touch -t 2006151230.30 linuxidc

8.将文件的时间戳更改为其他时间
您可以使用touch命令的以下语法将现有文件的时间戳更改为其他时间:
$ touch -c -t YYMMDDHHMM.SS “filename”
touch -c -t 2008191130.30 linuxidc
在下面的示例中,我通过touch命令更改了现有文件的时间戳,然后通过该示例文件上的stat命令验证了更改:

将文件的时间戳更改为其他时间
通过我们在本文中介绍的基本但有用的场景,您可以开始掌握touch命令并使用它通过Linux命令行快速执行一些看似复杂的任务。
Linux Touch命令的8种常见使用方法的更多相关文章
- Linux Touch命令的8种使用技巧
Linux touch命令不仅可以用于在Linux上创建空文件. 您可以使用它来更改现有文件的时间戳,包括其访问权限和修改时间. 本文介绍了8种可以通过Linux终端使用touch命令的方案. 我们在 ...
- Linux touch命令详解
Linux touch命令 Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间.若文件不存在,系统会建立一个新的文件. 用法: touch [-acfm][-d<日 ...
- 在Windows中运行Linux bash命令的几种方法
如果你正在课程中正在学习 shell 脚本,那么需要使用 Linux 命令来练习命令和脚本. 你的学校实验室可能安装了 Linux,但是你自己没有安装了 Linux 的笔记本电脑,而是像其他人一样的 ...
- 今天给各位介绍Linux touch命令详述
触摸命令 touch命令有两个功能:一个是将现有文件的时间戳更新为系统的当前时间(默认模式),它们的数据将保持不变;第二个是创建一个新的空文件. 语法 触摸(可选) 最常见的用法:touch file ...
- Linux -- touch 命令
在Linux中,每个文件都关联一个时间戳,并且每个文件搜会存储最近一次访问的时间.最近一次修改的时间和最近一次变更的时间等信息.所以,无论何时我们创建一个新文件,访问或者修改一个已经存在的文件,文件的 ...
- Linux touch命令
touch命令不常用,一般用于更改文件时间戳,或创建一个空文件 命令选项 -a:只更改访问时间 -c:--no-create 不创建任何文件 -d:--date=字符串 使用指定字符串表示时间而非当前 ...
- PHP几种常见魔术方法与魔术变量解析
原文地址:http://small.aiweimeng.top/index.php/archives/49.html 先不多说,直接上代码,如下: class Demo { private $str ...
- Linux进程控制理论及几种常见进程间通信机制
1. Linux进程控制理论 ① 进程是一个具有一定独立功能的程序的一次运行活动(动态性.并发性.独立性.异步性). 进程的四要素: (1)有一段程序供其执行(不一定是一个进程所专有的),就像一场戏必 ...
- linux touch命令 创建文件
touch 创建文件,用法,touch test.txt,如果文件存在,则表示修改当前文件时间 [root@MongoDB ~]# touch /data/text.txt [root@MongoDB ...
随机推荐
- Nginx的启动、停止等命令
Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启 ...
- springboot mvc自动配置(目录)
对于长时间基于spring框架做web开发的我们,springmvc几乎成为了开发普通web项目的标配.本系列文章基于快速启动的springboot,将从源码角度一点点了解springboot中mvc ...
- jmeter安装,汉化
下载完成后打开bin文件,选择jmeter.properties打开,搜索language,修改成zh_CN,汉化jmeter,记得去掉前面的#号,然后保存,修改完配置文件后需要重启jmeter 用的 ...
- 解决npm安装时出现run `npm audit fix` to fix them, or `npm audit` for details 的问题
npm audit fix npm audit fix --force npm audit 按照顺序一一运行亲测完全可用如果还是不行的话,可以把node_modules和package-lock.js ...
- Needham-Schroeder协议的形式化描述语言
1.对TLS1.3协议形式化描述过程 第一步: Needham-Schroeder 过程的分析 常量和变量的定义: /* * Needham-Schroeder过程的形式化描述 */ // THE ...
- Springboot整合cxf后不能访问controller,不能访问接口
参考版本 springboot 1.4.X <=========> cxf-spring-boot-starter-jaxws 3.1.X springboot 1.5.X <=== ...
- jcmd命令实战
继续来根据之前的那篇infoq的文章的介绍熟悉工具,上一次咱们学习使用了: 接下来学习它里面提到的另一个工具: jcmd是一个非常之强大的命令行工具,能输出很多很多的信息,也是在处理JVM的一些问题经 ...
- python学习之flask接口开发,环境变量扩展,网络编程requests
python基础 flask之mock接口 所谓mock接口,其实就是我们在正式接口还没联调或者是测试接口没有正式使用时,自己创建一个模拟接口,来供项目暂时打通功能或者测试流程梳理的桥梁,而我们这儿使 ...
- rmi的调用
在java8 121版本以前,只要这样就能任意代码 rmiTest.java import javax.naming.InitialContext; import javax.naming.Nami ...
- 如何使用Jmeter批量构造MySQL测试数据
前言: 当我们进行API测试.Web Service或者其他系统模块测试时,你可能需要从数据库获取并记录数据.这些测试的目的是检查数据库中指定的数据,或者向数据库添加指定的数据,这篇文章会展示使用JM ...