linux的touch修改文件

2025-10-12 14:05:44

1、[root@mode ~]# touch [-acdmt] 档案

参数:

-a :仅修订 access time;

-c :仅修改时间,而不建立档案;

-d :后面可以接日期,也可以使用 --date="日期或时间"

-m :仅修改 mtime ;

-t :后面可以接时间,格式为[YYMMDDhhmm]

linux的touch修改文件

2、范例一:新建一个空的档案

[root@mode ~]# cd /tmp

[root@mode tmp]# touch test

[root@mode tmp]# ls -l test

-rw-r--r-- 1 root root 0 02-13 17:34 test

# 注意到,这个档案的大小是 0 呢!在预设的状态下,如果 touch 后面有接档案,

# 则该档案的三个时间 (atime/ctime/mtime) 都会更新为目前的时间。若该档案不存在,

# 则会主动的建立一个新的空的档案喔!例如上面这个例子!

linux的touch修改文件

3、范例二:将 ~/.bashrc 复制成为 bashrc,假设复制完全的属性,检查其日期

[root@mode tmp]# cp ~/.bashrc bashrc

[root@mode tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc

-rw-r--r-- 1 root root 176 02-13 17:36 bashrc

-rw-r--r-- 1 root root 176 02-13 17:36 bashrc

-rw-r--r-- 1 root root 176 02-13 17:36 bashrc

# 在这个案例当中,我们使用了 ; 这个指令分隔符.

# 此外, ll 是 ls -l 的命令别名.

# 您目前可以简单的想成, ll 就是 ls -l 的简写即可!至于 ; 则是同时下达两个指令,

# 且让两个指令『依序』执行的意思。上面的结果当中我们可以看到,该档案变更的日期

# 02-13 17:36,但是 atime 与 ctime 不一样啰~

linux的touch修改文件

4、范例三:修改案例二的 bashrc 档案,将日期调整为两天前

[root@mode tmp]# touch -d "2 days ago" bashrc

[root@mode tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc

-rw-r--r-- 1 root root 176 02-11 17:40 bashrc

-rw-r--r-- 1 root root 176 02-11 17:40 bashrc

-rw-r--r-- 1 root root 176 02-13 17:40 bashrc

# 跟上个范例比较看看,本来是 13 日的变成了 11 日了 (atime/mtime)~

# 不过, ctime 并没有跟着改变喔!

linux的touch修改文件

5、范例四:将上个范例的 bashrc 日期改为 2006/07/15 2:02

[root@mode tmp]# touch -t 0607150202 bashrc

[root@mode tmp]#  ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc

-rw-r--r-- 1 root root 176 2006-07-15 bashrc

-rw-r--r-- 1 root root 176 2006-07-15 bashrc

-rw-r--r-- 1 root root 176 02-13 17:43 bashrc

注意看看,日期在 atime 与 mtime 都改变了,但是 ctime 则是记录目前的时间!

“改变时间(change time)”,修改时间(modification time)”,访问时间(access time)”.

linux的touch修改文件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢