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. Go context 介绍和使用

    context 上下文管理 context 翻译过来就是上下文管理,主要作用有两个: 控制 goroutine 的超时 保存上下文数据 WithTimeout 通过下面的一个简单的 http 例子进行 ...

  2. iOS中JSON解析三方库的比较

    网络数据解析框架 1.  JsonModel 一个 JSON 模型转换库,有着比较简洁的接口.Model 需要继承自 JSONModel. 2.  yyModel yyModel比较轻量(算上.h 只 ...

  3. 缓存数据库memcache、redis原理对比

    一.问题:     数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求. 二.解决方案:      1.通过高速服务器Cache缓存数据库数据      2.内存数据库     (这里 ...

  4. 【DevOps】在Rancher2中启动Docker-Registry仓库服务

    准备 拥有Rancher2环境,已经在Rancher2配置Kubernetes集群 拥有域名,拥有SSL证书,可以自行在阿里云申请 启动Docker-Registry仓库服务 第一步:进入集群应用 第 ...

  5. k8s的组件

    1.Master组件 1.API Server K8S对外的唯一接口,提供HTTP/HTTPS RESTful API,即kubernetes API.所有的请求都需要经过这个接口进行通信.主要负责接 ...

  6. Spring Boot起步依赖:定制starter

    在定制我们自己的起步依赖--xxx.spring.boot.starter之前,我们先了解下什么是Spring Boot起步依赖. 起步依赖,是Spring Boot带给我们的一项重要的便利.要理解S ...

  7. python 根据两个字段排序, 一个升序, 一个降序

    from collections import Counter c = Counter(input()) l=sorted(c.items(), key=lambda s:(-s[], s[])) ] ...

  8. 关于TCP/IP协议的记录

    本博客是个人随笔,只是记录自己的学习过程.

  9. JavaScript003,用法

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. 2019-2020-1 20199301《Linux内核原理与分析》第二周作业

    第二周Linux学习笔记 文件打包与解压缩 tar工具打包 tar的解压和压缩都是同一个命令,只需参数不同,使用较方便. 创建一个包时文件名必须紧跟在 -f 之后,解包一个文件(-x参数)到指定路径的 ...