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种常见使用方法的更多相关文章

  1. Linux Touch命令的8种使用技巧

    Linux touch命令不仅可以用于在Linux上创建空文件. 您可以使用它来更改现有文件的时间戳,包括其访问权限和修改时间. 本文介绍了8种可以通过Linux终端使用touch命令的方案. 我们在 ...

  2. Linux touch命令详解

    Linux touch命令 Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间.若文件不存在,系统会建立一个新的文件. 用法: touch [-acfm][-d<日 ...

  3. 在Windows中运行Linux bash命令的几种方法

    如果你正在课程中正在学习 shell 脚本,那么需要使用 Linux 命令来练习命令和脚本. 你的学校实验室可能安装了 Linux,但是你自己没有安装了 Linux 的笔记本电脑,而是像其他人一样的 ...

  4. 今天给各位介绍Linux touch命令详述

    触摸命令 touch命令有两个功能:一个是将现有文件的时间戳更新为系统的当前时间(默认模式),它们的数据将保持不变;第二个是创建一个新的空文件. 语法 触摸(可选) 最常见的用法:touch file ...

  5. Linux -- touch 命令

    在Linux中,每个文件都关联一个时间戳,并且每个文件搜会存储最近一次访问的时间.最近一次修改的时间和最近一次变更的时间等信息.所以,无论何时我们创建一个新文件,访问或者修改一个已经存在的文件,文件的 ...

  6. Linux touch命令

    touch命令不常用,一般用于更改文件时间戳,或创建一个空文件 命令选项 -a:只更改访问时间 -c:--no-create 不创建任何文件 -d:--date=字符串 使用指定字符串表示时间而非当前 ...

  7. PHP几种常见魔术方法与魔术变量解析

    原文地址:http://small.aiweimeng.top/index.php/archives/49.html 先不多说,直接上代码,如下: class Demo { private $str ...

  8. Linux进程控制理论及几种常见进程间通信机制

    1. Linux进程控制理论 ① 进程是一个具有一定独立功能的程序的一次运行活动(动态性.并发性.独立性.异步性). 进程的四要素: (1)有一段程序供其执行(不一定是一个进程所专有的),就像一场戏必 ...

  9. linux touch命令 创建文件

    touch 创建文件,用法,touch test.txt,如果文件存在,则表示修改当前文件时间 [root@MongoDB ~]# touch /data/text.txt [root@MongoDB ...

随机推荐

  1. c#的异步处理思路和vue前端中异步处理思路比较

    前语:目前工作在做的项目是前端基于vue的组件式开发,通过api接口调用,后端数据逻辑是一个c#实现的WCF服务 1.总结自己在c# .NET 4.5后的新异步方式  async搭配await来实现  ...

  2. active port

    2510099 - SSL Port XXXXX Not Active - message on NWA even though SSL works Resolution Open the defau ...

  3. Dubbo服务发布、引用

    DUBBO原理.应用与面经总结 Dubbo原理和源码解析之服务暴露 Dubbo原理和源码解析之服务引用 服务发布 服务的发布总共做了以下几件事,这个也可以从日志log上看出来: 暴露本地服务 暴露远程 ...

  4. Linux命令——ldd和ldconfig

    转自:Linux系统中“动态库”和“静态库”那点事儿 前言 在调试lua脚本的时候,报错. 我已经再lua脚本中更改了cpath package.cpath = package.cpath .. &q ...

  5. 如何修改配置文件:CentOS下SSH端口修改

    CentOS各发行版中SSH端口默认为22,如果正式做站或其它用途,为了提高安全性就需要修改掉默认的SSH端口号,防止被有心人穷举密码.部分VPS提供商,若您的VPS服务器SSH遭受多次的暴力破解,可 ...

  6. 持续集成实践---基于ant+jmeter+jenkins接口CI

    背景: 大纲: jmeter入门教程 jenkins入门教程 ant介绍 jmeter+ant脚本自动执行实践 接口测试CI实践

  7. JavaScript事件——拖拉事件

    拖拉事件的种类 拖拉(drag)指的是,用户在某个对象上按下鼠标键不放,拖动它到另一个位置,然后释放鼠标键,将该对象放在那里. 具体的api可查看 拖拽变色demo <div draggable ...

  8. 2019牛客多校B Beauty Values——思维题

    题目 求所有子区间中不同元素之和. 分析 枚举相邻的相同数字形成的区间,计算它是哪些区间的子区间,每次有-1的贡献,将其从总贡献中减去. #include<bits/stdc++.h> u ...

  9. LightOJ - 1214-Large Division(数学,同余)

    链接: https://vjudge.net/problem/LightOJ-1214 题意: Given two integers, a and b, you should check whethe ...

  10. git合并之 merge和rebase

    合并有两种方法: git rebase 和git merge 优先用 rebase!!!! 区别: 1. 使用git merge git checkout dev git merge master 或 ...