当前位置: 首页 > Linux

9个超级有用的Linux触摸命令示例讲解

时间:2023-04-06 18:54:45 Linux

touch命令用于创建空文件,也用于更改Linux系统中现有文件的时间戳。这里更改时间戳意味着更新文件和目录的访问和修改时间。命令语法touch{options}{file}语法选项1)创建一个空文件touch命令创建一个空文件,输入touch后跟文件名,例子如下[root@linuxtechi~]#touchdevops.txt[root@linuxtechi~]#ls-ldevops.txt-rw-r--r--。1rootroot0Mar2922:39devops.txt[root@linuxtechi~]#2)Batchcreateemptyfiles部分测试创建大量空文件,示例如下[root@linuxtechi~]#touchsysadm-{1..20}.txt在上面的例子中,我们创建了20个空文件,名为sysadm-1.txt到sysadm-20.txt,您可以根据需要更改名称和编号。3)更改/更新文件和目录的访问时间使用-a选项更改/更新文件和目录的访问时间修改文件的访问时间[root@linuxtechi~]#touch-adevops.txt[root@linuxtechi~]#使用stat命令验证文件的访问时间是否已经更新[root@linuxtechi~]#statdevops.txtFile:'devops.txt'Size:0Blocks:0IOBlock:4096regularemptyfileDevice:fd00h/64768dInode:67324178Links:1Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)Context:unconfined_u:object_r:admin_home_t:s0Access:2018-03-2923:03:10.902000000-0400修改:2018-03-2922:39:29.365000000-0400更改:2018-03-2923:03:10.902000000-0400出生:-[root@linuxtechi~]#修改目录访问time[root@linuxtechi~]#touch-a/mnt/nfsshare/[root@linuxtechi~]#使用stat命令验证目录的访问时间是否已经更新[root@linuxtechi~]#stat/mnt/nfsshare/文件:'/mnt/nfsshare/'大小:6块:0IO块:4096目录设备:fd00h/64768dInode:2258链接:2Access:(0755/drwxr-xr-x)Uid:(0/root)Gid:(0/根)Context:unconfined_u:object_r:mnt_t:s0访问:2018-03-2923:34:38.095000000-0400修改:2018-03-0310:42:45.194000000-0500更改:2018-03-2923:34:00-8B[root.005@linuxtechi~]#4)在不创建新文件的情况下更改访问时间使用-c选项更改文件的访问时间(如果存在)并避免创建文件[root@linuxtechi~]#touch-csysadm-20.txt[root@linuxtechi~]#touch-cwinadm-20.txt[root@linuxtechi~]#ls-lwinadm-20.txtls:无法访问winadm--m选项可以改变文件和目录的修改时间,例子如下[root@linuxtechi~]#touch-mdevops.txt[root@linuxtechi~]#现在用stat命令验证是否修改时间已更改[root@linuxtechi~]#statdevops.txt文件:'devops.txt'大小:0块:0IO块:4096常规空文件设备:fd00h/64768dInode:67324178链接:1Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)上下文:unconfined_u:object_r:admin_home_t:s0访问:2018-03-2923:03:10.902000000-0400修改:2018-03-2923:59:49.106000000-0400Change:201003-2923:59:49.106000000-0400Birth:-[root@linuxtechi~]#同样我们可以更改目录的修改时间[root@linuxtechi~]#touch-m/mnt/nfsshare/[root@linuxtechi~]#6)同时更改访问和修改时间使用-am选项,可以同时更改访问和修改,示例如下[root@linuxtechi~]#touch-amdevops.txt[root@linuxtechi~]#使用stat验证访问和修改时间[root@linuxtechi~]#statdevops.txtFile:'devops.txt'Size:0Blocks:0IO块:4096常规空文件设备:fd00h/64768dInode:67324178链接:1Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)上下文:unconfined_u:object_r:admin_home_t:s0Access:2018-03-3000:06:20.145000000-0400修改:2018-03-3000:06:20.145000000-0400Change:2018-03-3000:06:20.145000000-:-040[0Birtech7)设置访问和修改时间为特定的日期和时间当我们使用touch命令更改文件或目录的访问和修改时间时,它将当前时间设置为该文件或目录的访问和修改时间假设我们要设置一个特定的日期和时间作为文件的访问和修改时间,这可以通过使用touch命令中的-c和-t选项来实现。日期和时间的格式为:{CCYY}MMDDhhmm.ssCC–年份的前两位数YY–年份的后两位数MM–月份(01-12)DD–日期(01-31)hh–一天中的小时(00-23)mm–小时中的分钟(00-59)[root@linuxtechi~]#touch-c-t202510191820devops.txt使用stat命令查看更新访问和修改时间使用-d选项,根据日期字符串设置访问和修改时间,示例如下[root@linuxtechi~]#touch-c-d"2010-02-0720:15:12.000000000+0530"sysadm-29.txt[root@linuxtechi~]#使用stat命令查看状态[root@linuxtechi~]#statsysadm-20.txtFile:'sysadm-20.txt'Size:0Blocks:0IOBlock:4096常规空文件设备:fd00h/64768dInode:67324189链接:1Access:(0644/-rw-r--r--)Uid:(0/root)Gid:(0/root)上下文:unconfined_u:object_r:admin_home_t:s0Access:2010-02-0720:15:12.000000000+0530修改:2010-02-0720:15:12.000000000+0530更改:2018-03-3010:23:31.584000000+0530出生:~[root]#linuxtechi:在上面的命令中,如果我们不指定-c,那么touch命令会新建一个文件,以防系统该文件不存在,将设置命令中提到的时间戳8)使用参考文件为文件设置时间戳使用-r选项,我们可以使用参考文件设置文件或目录的时间戳。假设我想在devops.txt文件上设置与sysadm-20.txt文件相同的时间戳。[root@linuxtechi~]#touch-rsysadm-20.txtdevops.txt[root@linuxtechi~]#9)更改符号链接文件的访问和修改时间默认情况下,当我们尝试使用touch命令改变文件的时间戳时,只会改变原文件的时间戳。如果要更改符号链接文件的时间戳,可以使用touch命令中的-h选项实现,语法如下:touch-h{符号链接文件}[root@linuxtechiopt]#ls-l/根/linuxgeeks.txtlrwxrwxrwx。1rootroot15Mar3010:56/root/linuxgeeks.txt->linuxadmins.txt[root@linuxtechi~]#touch-t203010191820-hlinuxgeeks.txt[root@linuxtechi~]#ls-llinuxgeeks.txtlrwxrwxrwx。1rootroot15Oct192030linuxgeeks.txt->linuxadmins.txt[root@linuxtechi~]#以上就是本文的全部内容,希望这些touch命令的例子对你有用。请在下面的评论部分分享您的问题和反馈。我的开源项目课程-tencent-cloud(酷瓜云课堂-gitee仓库)course-tencent-cloud(酷瓜云课堂-github仓库)