zoukankan      html  css  js  c++  java
  • 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 选项可接受不同的时间/日期格式。

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

    1.使用touch命令创建一个空文件

    touch命令最简单和最基本的用法是通过命令行创建一个空文件。 如果您是精通终端的人,可以通过以下命令在命令行中快速创建新文件:

    $ touch “filename”

    示例:

    $ touch linuxidc

    在下面的示例中,我通过touch命令创建了一个名为“linuxidc”的空文件。 然后我使用ls命令查看系统中是否存在该文件,因为touch命令不会提示文件是否已创建。
    Linux Touch命令的8种使用技巧Linux Touch命令的8种使用技巧

    2.使用touch命令一次创建多个文件

    尽管cat命令和标准重定向符号也是通过命令行创建文件的方法,但touch命令具有优势,因为您可以一次创建多个文件。 您可以使用以下语法通过touch命令创建多个文件:

    $ touch linuxidc1 linuxidc2 linuxidc3 ….

    在下面的示例中,我通过touch命令同时创建了三个文件,然后使用ls命令查看这些文件的存在:

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

    3.强制避免使用touch命令创建新文件

    有时,如果新文件不存在,则需要避免创建新文件。 在这种情况下,您可以使用touch命令使用'-c'选项,如下所示:

    $ touch -c “filename”

    在下面的示例中,我使用touch命令避免创建上述新文件。

    touch -c linuxidc

    当我使用ls命令列出该文件时,以下输出将验证我的系统中是否存在此类文件。

    Linux Touch命令的8种使用技巧Linux Touch命令的8种使用技巧
    4.更改文件的访问和修改时间

    touch命令的另一个用途是更改文件的访问时间和修改时间。

    让我们举一个例子来说明如何做到这一点。 我通过touch命令创建了一个名为“linuxmi”的文件,并通过stat命令查看了它的统计信息:

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

    然后我输入了以下touch命令:

    $ touch linuxmi

    此touch命令将访问和修改时间更改为再次为“linuxmi”运行touch命令的时间。 您可以在下上图中看到更改的访问和修改时间。

    5.更改访问时间或修改时间

    我们可以选择仅通过touch命令更改其中一个,而不是更改访问和修改时间。

    在下面的示例中,我创建了一个名为“linuxidc”的文件,并通过stat命令查看统计信息:

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

    我可以通过此文件上的touch命令使用'-a'选项来仅更改此文件的访问时间:

    $ touch -a linuxidc

    stat命令的输出现在显示访问时间已更改为我使用'-a'选项运行touch命令的时间:

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

    我可以通过此文件上的touch命令使用'-m'选项仅更改此文件的修改时间:

    $ touch -m linuxidc

    stat命令的输出现在显示修改时间已更改为使用'-m'选项运行touch命令的时间:

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

    6.如何将访问和修改时间从一个文件复制到另一个文件

    我们假设有一个名为linuxidcA的文件:

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

    另一个名为linuxidcB的文件:

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

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

    $ touch linuxidcA -r sampleFileB

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

    上图中stat命令的输出显示linuxidcA现在具有与samplefileB相同的访问和修改值。

    7.使用指定的时间戳创建新文件

    要创建具有指定时间戳的新空文件而不是创建它的实际时间,可以使用touch命令的以下语法:

    $ touch -t YYMMDDHHMM.SS “filename”

    以下示例显示了我的linuxidc上的stat命令如何显示其访问和修改时间是基于我通过touch命令创建时提供的时间戳:
    创建具有指定时间戳的新文件

    touch -t 2006151230.30 linuxidc

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

    8.将文件的时间戳更改为其他时间

    您可以使用touch命令的以下语法将现有文件的时间戳更改为其他时间:

    $ touch -c -t YYMMDDHHMM.SS “filename”
    touch -c -t 2008191130.30 linuxidc

    在下面的示例中,我通过touch命令更改了现有文件的时间戳,然后通过该示例文件上的stat命令验证了更改:
    Linux Touch命令的8种使用技巧Linux Touch命令的8种使用技巧
    将文件的时间戳更改为其他时间
    通过我们在本文中介绍的基本但有用的场景,您可以开始掌握touch命令并使用它通过Linux命令行快速执行一些看似复杂的任务。

  • 相关阅读:
    什么是linux的ftp
    linux安装ftp组件
    菜鸟之linux问题之图形界面和dos界面的登录问题
    linux第一面
    vmware下linux系统的安装过程
    vmware的安装
    装饰器的邪门歪道
    关于任务脚本里面用异步
    写类装饰器的2个小问题
    VUE 与其他常见前端框架对比
  • 原文地址:https://www.cnblogs.com/linuxprobe-sarah/p/9944774.html
Copyright © 2011-2022 走看看