linux文件之touch命令及文件时间戳,Linux基础知识之文件的年华戳及touch的运用

linux文件之touch命令及文件时间戳

一,在将touch命名前先看看文件有关时间的个性。通过stat命令查看文件如下:

 

[[email protected]
test]# stat f1

 File: `f1′

 Size: 34              Blocks:8          IO Block: 4096   regular file

Device: fd00h/64768d    Inode: 72757       Links: 1

Access: (0640/-rw-r—–)  Uid: (   0/    root)   Gid: (   0/    root)

Access: 2015-10-09 01:26:41.658883440 +0800

Modify: 2015-10-08 04:05:15.000000000 +0800

Change: 2015-10-08 20:20:32.811903158 +0800

 

翻开上边消息来看文件多特性子

 

Acess
time:即文件存取时间,或许驾驭为“最终一回读取时间”,如利用touch、cat、more等一声令下会修改此数值,但利用ls,stat查看不会变动。注意:若您选拔的是虚构机测量试验,会意识cat、more等一声令下时不会实时更新,能够使用实体机测验。

 

Modify
time:修改时间,这里是指文件内容最后贰回修改时间。ls命令暗中认可显示就是这么些时辰。

 

Change
time:退换时间,这里是指文件属性最终修改时间,如修改权限、名称等,必须要与Modify
time区分。

 

二、touch命令:用来修改文件时间戳,恐怕新建文件。

 

1,选项参数

-a:–time=atime   Acess time;

-m: –time=mtime   Modify time;

 

-c:    
–no-create不创造任何文书档案。暗中同意当文件不设一时会创造文件,-c就能够不创制文件。

 

-r:将文件设置和参照他事他说加以考察文件的日鸡时间一致。

 

-t:使用指定期间日期,并不是平昔用系统时间。

 

三、实例

 

1,先来touch二个已存在的文件

 

[[email protected]
test]# stat f1

 File: `f1′

 Size: 34              Blocks:8          IO Block: 4096   regular file

Device: fd00h/64768d    Inode: 71660       Links: 1

Access: (0640/-rw-r—–)  Uid: (   0/    root)   Gid: (   0/    root)

Access: 2015-10-09 17:28:43.853828458 +0800

Modify: 2015-10-08 04:05:15.000000000 +0800

Change: 2015-10-09 03:16:57.117877086 +0800

[[email protected]
test]# touch f1

[[email protected]
test]# stat f1 #能够看到全体文件时间都更新为当下系统时间。

 File: `f1′

 Size: 34              Blocks:8          IO Block: 4096   regular file

Device: fd00h/64768d    Inode: 71660       Links: 1

Access: (0640/-rw-r—–)  Uid: (   0/    root)   Gid: (   0/    root)

Access: 2015-10-09 18:17:22.936820504 +0800

Modify: 2015-10-09 18:17:22.936820504 +0800

Change: 2015-10-09 18:17:22.936820504 +0800

[[email protected]
test]# date

Fri Oct 9 18:17:29 CST 2015

 

2,通过touch命令成立二个文本

 

[[email protected]
test]# touch -c f3 #-c不创制文件

[[email protected]
test]# ls

f1 f2  test

[[email protected]
test]# touch f3 #创办文件f3

[[email protected]
test]# ls

f1 f2  f3  test

[[email protected]
test]# file f3 #查看f3文件类型,突显为空

f3: empty

 

3,修改文件时间为钦点时期

 

通过man查看touch –t参数:

-t STAMP  use [[CC]YY]MMDDhhmm[.ss] instead of currenttime

 

[[email protected]
test]# touch -t201510081010.10 f3

[[email protected]
test]# stat f3 #修改时间为指定时间日期

 File: `f3′

 Size: 4               Blocks:8          IO Block: 4096   regular file

Device: fd00h/64768d    Inode: 66037       Links: 1

Access: (0644/-rw-r–r–)  Uid: (   0/    root)   Gid: (   0/    root)

Access: 2015-10-08 10:10:10.000000000 +0800

Modify: 2015-10-08 10:10:10.000000000 +0800

 

Change: 2015-10-09 18:34:22.535825523
+0800#在意Ctime为当下光阴,因为退换文件属性。

 

4,将文件时间与钦定参照他事他说加以考察文件时间对齐。

 

[[email protected]
test]# touch -r f3 f1 #将f1时光改为与f3一样

[[email protected]
test]# stat f1

 File: `f1′

 Size: 34              Blocks:8          IO Block: 4096   regular file

Device: fd00h/64768d    Inode: 71660       Links: 1

Access: (0640/-rw-r—–)  Uid: (   0/    root)   Gid: (   0/    root)

Access: 2015-10-08 10:10:10.000000000 +0800

Modify: 2015-10-08 10:10:10.000000000 +0800

Change: 2015-10-09 18:42:47.175819324 +0800#平等Ctime依旧当前岁月。

 

小结:touch命令照旧比较轻便的,首要是领略关于文件的八个时刻属性。

一,在将touch命名前先看看文件有关时间的质量。通过stat命令查看文件如下:
[[email protected]
test]# stat f1 Fi…

CentOS中通过stat查看文件的元数据

CentOS中得以由此stat查看文件的元数据

[[email protected]
abc]$ stat honey

File: `honey’

Size: 25 Blocks: 8 IO Block: 4096 regular file

Device: 806h/2054d Inode: 131076 Links: 1

Access: (0664/-rw-rw-r–) Uid: ( 500/ baby) Gid: ( 500/ baby)

Access: 2015-03-30 10:27:51.851234105 +0800

Modify: 2015-03-30 10:44:58.144226717 +0800

Change: 2015-03-30 10:44:58.146226803 +0800

Access:最终访谈时间

Modify:最终修改时间

Change:状态退换时间(由系统一保险证,相当小概轻松退换)

touch -a :仅更新Access time(同期更新Change为current time)

touch -m:仅更新Modify time(同不经常候更新Change为current time)

touch -c:不创建新文件

touch -t:使用内定的小时更新时间戳(仅改换Access time与Modify
time,Change time更新为current time)

例:touch -t [[CC]YY]MMDDhhmm[.ss] filename

[[email protected]
cde]# touch -t 199906121808 honey

[[email protected]
cde]# stat honey

File: `honey’

Size: 25 Blocks: 8 IO Block: 4096 regular file

Device: 806h/2054d Inode: 131076 Links: 1

Access: (0664/-rw-rw-r–) Uid: ( 500/ baby) Gid: ( 500/ baby)

Access: 1999-06-12 18:08:00.000000000 +0800

Modify: 1999-06-12 18:08:00.000000000 +0800

Change: 2015-03-30 13:31:40.064221158 +0800

当文件的其他数据变动时(包蕴文件的数量和元数据),Change会更新,对文件重命名(mv),移动(mv)恐怕复制时(cp
-a),系统都会更新文件的Change
time。当文件的从头到尾的经过被涂改时Modify和Change会同不常间创新。当Change
time更新后,第三遍访谈该文件,系统会更新Access time(仅更新Access
time),之后对该公文的拜见,将不会更新Access time。

[[email protected]
cde]$ touch honey

[[email protected]
cde]$ stat honey

File: `honey’

Size: 25 Blocks: 8 IO Block: 4096 regular file

Device: 806h/2054d Inode: 131076 Links: 1

Access: (0664/-rw-rw-r–) Uid: ( 500/ baby) Gid: ( 500/ baby)

Access: 2015-03-30 11:24:47.041225726 +0800

Modify: 2015-03-30 11:24:47.041225726 +0800

Change: 2015-03-30 11:24:47.041225726 +0800

[[email protected]
cde]$ cat honey &> /dev/null

[[email protected]
cde]$ stat honey

File: `honey’

Size: 25 Blocks: 8 IO Block: 4096 regular file

Device: 806h/2054d Inode: 131076 Links: 1

Access: (0664/-rw-rw-r–) Uid: ( 500/ baby) Gid: ( 500/ baby)

Access: 2015-03-30 11:25:16.401228081 +0800

Modify: 2015-03-30 11:24:47.041225726 +0800

Change: 2015-03-30 11:24:47.041225726 +0800

用touch更新时间戳后的率先次访谈,Access
time更新了,上边是第三遍访谈之后的元数据,Access time并从未立异。

[[email protected]
cde]$ cat honey &> /dev/null

[[email protected]
cde]$ stat honey

File: `honey’

Size: 25 Blocks: 8 IO Block: 4096 regular file

Device: 806h/2054d Inode: 131076 Links: 1

Access: (0664/-rw-rw-r–) Uid: ( 500/ baby) Gid: ( 500/ baby)

Access: 2015-03-30 11:25:16.401228081 +0800

Modify: 2015-03-30 11:24:47.041225726 +0800

Change: 2015-03-30 11:24:47.041225726 +0800

tar或然各类压缩命令在解压出来时都会更新文件的Change
time,若想要不更动Change
time备份文件能够使用dd命令(dd命令在复制单个文件时,会更新时间戳,在备份整个分区时,会保留文件的全部属性),进度如下:

新建多少个分区sda10,不用格式化,挂载到/media/sda10。

[[email protected]
cde]# ll /dev/sda10

brw-rw—- 1 root disk 8, 10 Mar 30 12:58 /dev/sda10

[[email protected]
abc]# dd if=/dev/sda6 of=/dev/sda10 & (/dev/sda6挂载在/tmp下)

[1] 5917

[[email protected]
abc]# mount /dev/sda10 /media/sda10/

[[email protected]
cde]# stat /media/sda10/cde/honey /tmp/cde/honey

File: `/media/sda10/cde/honey’

Size: 25 Blocks: 8 IO Block: 4096 regular file

Device: 80ah/2058d Inode: 131076 Links: 1

Access: (0664/-rw-rw-r–) Uid: ( 500/ baby) Gid: ( 500/ baby)

Access: 2015-03-30 11:25:16.401228081 +0800

Modify: 2015-03-30 11:24:47.041225726 +0800

Change: 2015-03-30 11:24:47.041225726 +0800

File: `/tmp/cde/honey’

Size: 25 Blocks: 8 IO Block: 4096 regular file

Device: 806h/2054d Inode: 131076 Links: 1

Access: (0664/-rw-rw-r–) Uid: ( 500/ baby) Gid: ( 500/ baby)

Access: 2015-03-30 11:25:16.401228081 +0800

Modify: 2015-03-30 11:24:47.041225726 +0800

Change: 2015-03-30 11:24:47.041225726 +0800

七个文件的元数据一致。

CentOS中能够通过stat查看文件的元数据
[[email protected]
abc]$ stat honey File: `honey Size: 25 Blocks: 8 IO Block: 4096
regular…

Linux基础知识之文件的小运戳及touch的选用

 

文本的岁月戳蕴涵在它的元数据中,属于其自己质量音信。
    文件的时日戳包括有二种时光分别如下:
    acess time  访谈时间
    modify time 修改时间(更切实说是修改数据时的年月)
    change time 更换时间 (修改元数据的时间)

 

    modify
time以下简写为mtime,mtime与ctime是见仁见智的,当文件的品质新闻发出转移譬如文件名,文件路径,文件属主等其改换的是ctime;当文件的内容发生改变则是mtime爆发变化。

 

科普:
      元数据的定义:
元数据(Metadata),又称中介数据、中继数据,为描述数据的数量(data about
data),首假设描述数据属性(property)的信息,用来协理如提示存款和储蓄地点、历史数据、财富查找、文件记录等功效。元数据到底一种电子式目录,为了完成编写制定目录的目标,必需在描述并珍藏数据的原委或特色,从而完毕援助数据检索的目标。维也纳大旨集(Dublin
Core Metadata
Initiative,DCMI)是元数据的一种采用,是一九九一年一月由国际体育场面Computer大旨(OCLC)和美利坚同车笠之盟国家超级总括应用中央(National
Center for Supercomputing
Applications,NCSA)所共同赞助的研究研究会,在约请伍九位出自教室员、计算机专家,共同制订标准,创设一套描述互联网上电子文件之特征。元数据是有关数据的团协会、数据域及其关联的音讯,简言之,元数据正是有关数据的数量。
 
  精晓文件时间戳的定义对于产生故障飞速定位难题所在有一定救助。
  怎么着查看文件的时日戳
  命令:stat 它是查看文件系统状态
  修改文件的小运戳
  命令:touch
 
为了对touch有个更详细的问询我们man下touch其首要用法如下(有简要,只列举常用的法力项)
NAME
      touch – change file timestamps
SYNOPSIS
      touch [OPTION]… FILE…
DESCRIPTION
      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.
      Mandatory arguments to long options are  mandatory  for  short 
options
      too.
      -a    change only the access time  修改atime
      -d, –date=STRING                   
              parse STRING and use it instead of current time
      -h, –no-dereference                 
只修改链接文件时间戳而对链接的源文件无影响
              affect each symbolic link instead of any referenced file
(useful
              only on systems that can change the timestamps of a
symlink)
      -m    change only the modification time  修改mtime
      -r, –reference=FILE           
将此文件的岁月戳与内定文件时间戳一致
              use this file’s times instead of current time
      -t STAMP                        修改时间戳
              use [[CC]YY]MMDDhhmm[.ss] instead of current time

 

    当然touch还可能有多少个很首要的意义便是开创新文件,其格式为:
    touch filename 假诺该file荒诞不经则开创。

 

    怎么着修改文件时间戳,通超过实际验来查阅上边选项的其实际效果用
    以下实验情状均在CentOS6.8境况,
    实验前盘算:
    /test目录    /test/file1文件
[[email protected]
test]# pwd
/test
[[email protected]
test]# ll
总用量 0
-rw-r–r–. 1 root root 0 7月  28 21:43 file1

 

    前提条件计划实现。
先查看下文件file1的文件属性音讯,非常是光阴戳
[[email protected]
test]# stat file1 
  File: “file1”
  Size: 0              Blocks: 0          IO Block: 4096  普通空文件
Device: 803h/2051d      Inode: 266584      Links: 1
Access: (0644/-rw-r–r–)  Uid: (    0/    root)  Gid: (    0/   
root)
网赌十大信誉的平台,Access: 2016-07-28 21:43:53.554651380 +0800
Modify: 2016-07-28 21:43:53.554651380 +0800
Change: 2016-07-28 21:43:53.554651380 +0800

 

先修改atime

 

123456789
[[email protected]
test]# touch -a -t 201009200930 file1
[[email protected]
test]# stat file1 
  File: “file1”
  Size: 0              Blocks: 0          IO Block: 4096  普通空文件
Device: 803h/2051d      Inode: 266584      Links: 1
Access: (0644/-rw-r–r–)  Uid: (    0/    root)  Gid: (    0/   
root)
Access: 2010-09-20 09:30:00.000000000 +0800
Modify: 2016-07-28 21:43:53.554651380 +0800
Change: 2016-07-28 21:48:15.589652240 +0800

 

  -a钦定为atime -t钦点要修改的实际时间 要修改atime,要求互相合用。
 
由结果能够看看atime退换了,同一时候ctime也发生变化,因为修改文件file1的性质音讯故只要修改有关时间戳的音讯ctime均产生改动,其产生变化的大运即修改时系统及时岁月。
上面修改mtime
[[email protected]
test]# touch -m -t 201607180830 file1 
[[email protected]
test]# stat file1 
  File: “file1”
  Size: 0              Blocks: 0          IO Block: 4096  普通空文件
Device: 803h/2051d      Inode: 266584      Links: 1
Access: (0644/-rw-r–r–)  Uid: (    0/    root)  Gid: (    0/   
root)
Access: 2010-09-20 09:30:00.000000000 +0800
Modify: 2016-07-18 08:30:00.000000000 +0800
Change: 2016-07-28 21:51:21.598641893 +0800

 

  mtime爆发改造,ctime也发生变动。
  上边我们运用命令cat查看下file1文件
123456789
[[email protected]
test]# cat file1 
[[email protected]
test]# stat file1 
  File: “file1”
  Size: 0              Blocks: 0          IO Block: 4096  普通空文件
Device: 803h/2051d      Inode: 266584      Links: 1
Access: (0644/-rw-r–r–)  Uid: (    0/    root)  Gid: (    0/   
root)
Access: 2016-07-28 21:53:00.418655120 +0800
Modify: 2016-07-18 08:30:00.000000000 +0800
Change: 2016-07-28 21:51:21.598641893 +0800

 

因为file1文件为空故什么也没展现,可是大家发掘atime发生了转换,其变动的年OPPO眼下系统时间。
atime时间产生变化,是因为接触了该公文的读属性。
下边大家在file1文件内增多写内容
[[email protected]
test]# echo www >> file1 
[[email protected]
test]# stat file1 
  File: “file1”
  Size: 4              Blocks: 8          IO Block: 4096  普通文书
Device: 803h/2051d      Inode: 266584      Links: 1
Access: (0644/-rw-r–r–)  Uid: (    0/    root)  Gid: (    0/   
root)
Access: 2016-07-28 21:53:00.418655120 +0800
Modify: 2016-07-28 21:55:22.358651684 +0800
Change: 2016-07-28 21:55:22.358651684 +0800

 

由结果能够mtime、ctime均发生变动,因为文件数量被修改,数据内容及元数据都发生变化。

 

    时间戳的其实功能
   
在骨子里生育条件中有关时间戳的难点非常的少,然而有时会因为系统非常导致atime时间比系统时间提前,也便是在系统看来atime是今后的岁月,这种气象会变成该公文不可能不荒谬读取。那年就须求手动刷新下该文件的atime
刷新atime命令
touche -a file

 

刷新mtime命令
touche -m file

 

刷新后的file时间自动更新为系统及时日子。

 

纵然时间戳的效劳对于一般管理员来讲毫不相关重要,可是黑客对其却很注重,怎么样成功入侵系统,何况在功成身退后又不被人意识其侵袭的痕迹,合理的修改时间戳照旧很要紧的。

正文永恒更新链接地址:

文件的年月戳包蕴在它的元数据中,属于其自身质量音讯。
文件的岁月戳满含有三种时光独家如…

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注