当前位置 主页 > 服务器问题 > Linux/apache问题 >

    详解在Linux下9个有用的touch命令示例

    栏目:Linux/apache问题 时间:2019-10-08 16:54

    touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。

    让我们来看看 touch 命令的语法和选项:

    语法:

    # touch {选项} {文件}

    touch 命令中使用的选项:

    在这篇文章中,我们将介绍 Linux 中 9 个有用的 touch 命令示例。

    示例:1 使用 touch 创建一个空文件

    要在 Linux 系统上使用 touch 命令创建空文件,键入 touch ,然后输入文件名。如下所示:

    [root@linuxtechi ~]# touch devops.txt
    [root@linuxtechi ~]# ls -l devops.txt
    -rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt

    示例:2 使用 touch 创建批量空文件

    可能会出现一些情况,我们必须为某些测试创建大量空文件,这可以使用 touch 命令轻松实现:

    [root@linuxtechi ~]# touch sysadm-{1..20}.txt

    在上面的例子中,我们创建了 20 个名为 sysadm-1.txt 到 sysadm-20.txt 的空文件,你可以根据需要更改名称和数字。

    示例:3 改变/更新文件和目录的访问时间

    假设我们想要改变名为 devops.txt 文件的访问时间,在 touch 命令中使用 -a 选项,然后输入文件名。如下所示:

    [root@linuxtechi ~]# touch -a devops.txt

    现在使用 stat 命令验证文件的访问时间是否已更新:

    [root@linuxtechi ~]# stat devops.txt
     File: 'devops.txt'
     Size: 0        Blocks: 0     IO Block: 4096  regular empty file
    Device: fd00h/64768d  Inode: 67324178  Links: 1
    Access: (0644/-rw-r--r--) Uid: (  0/  root)  Gid: (  0/  root)
    Context: unconfined_u:object_r:admin_home_t:s0
    Access: 2018-03-29 23:03:10.902000000 -0400
    Modify: 2018-03-29 22:39:29.365000000 -0400
    Change: 2018-03-29 23:03:10.902000000 -0400
     Birth: -
    

    改变目录的访问时间:

    假设我们在 /mnt 目录下有一个 nfsshare 文件夹,让我们用下面的命令改变这个文件夹的访问时间:

    [root@linuxtechi ~]# touch -m /mnt/nfsshare/
    [root@linuxtechi ~]# stat /mnt/nfsshare/
     File: '/mnt/nfsshare/'
     Size: 6        Blocks: 0     IO Block: 4096  directory
    Device: fd00h/64768d  Inode: 2258    Links: 2
    Access: (0755/drwxr-xr-x) Uid: (  0/  root)  Gid: (  0/  root)
    Context: unconfined_u:object_r:mnt_t:s0
    Access: 2018-03-29 23:34:38.095000000 -0400
    Modify: 2018-03-03 10:42:45.194000000 -0500
    Change: 2018-03-29 23:34:38.095000000 -0400
     Birth: -
    

    示例:4 更改访问时间而不用创建新文件

    在某些情况下,如果文件存在,我们希望更改文件的访问时间,并避免创建文件。在 touch 命令中使用 -c 选项即可,如果文件存在,那么我们可以改变文件的访问时间,如果不存在,我们也可不会创建它。

    [root@linuxtechi ~]# touch -c sysadm-20.txt
    [root@linuxtechi ~]# touch -c winadm-20.txt
    [root@linuxtechi ~]# ls -l winadm-20.txt
    ls: cannot access winadm-20.txt: No such file or directory

    示例:5 更改文件和目录的修改时间

    在 touch 命令中使用 -m 选项,我们可以更改文件和目录的修改时间。