oracle修改时间格式的命令,linux touch命令: 修改文件时间属性

  • Post author:
  • Post category:linux


介绍:

touch命令用来修改文件的访问时间、修改时间。如果没有指定时间,则将文件时间属性改为当前时间。当指定文件不存在,则touch命令变为创建该文件。

语法:

touch [-acm] [-d STRING-time] [-r reference-file] [-t [[CC]YY]MMDDhhmm[.ss]]

选项介绍:

-a: 只修改访问时间;

-c: 如果指定文件不存在,则不创建文件;

-d STRING-time: 用字符串格式的时间来指定时间属性的修改值;

-m: 只修改指定文件的修改时间;

-r refernce-file: 将指定文件的时间属性改为与reference-file时间属性相同的值;

-t [[CC]YY]MMDDhhmm[.ss]: 用[[CC]YY]MMDDhhmm[.ss]这种时间格式来指定时间属性的修改值;

执行范例:

01

$ls #查看当前空的目录

02

$

03

$touch text#指定文件不存在,创建文件text

04

$ stat text# stat命令可能查看文件的时间属性。

05

File: `text’

06

Size: 0           Blocks: 8          IO Block: 4096   regular emptyfile

07

Device: 831h/2097d  Inode: 211271681   Links: 1

08

Access: (0644/-rw-r–r–)  Uid: (  514/    xxxx)   Gid: (  100/users)

09

Access: 2010-03-01 22:03:30.000000000 +0800

10

Modify: 2010-03-01 22:03:30.000000000 +0800

11

Change: 2010-03-01 22:03:30.000000000 +0800

12

$cat text# 读文件

13

$ stat text# 发现文件的访问时间(Access)改变

14

File: `text’

15

Size: 0           Blocks: 8          IO Block: 4096   regular emptyfile

16

Device: 831h/2097d  Inode: 211271681   Links: 1

17

Access: (0644/-rw-r–r–)  Uid: (  514/    xxxx)   Gid: (  100/users)

18

Access: 2010-03-01 22:04:08.000000000 +0800

19

Modify: 2010-03-01 22:03:30.000000000 +0800

20

Change: 2010-03-01 22:03:30.000000000 +0800

21

$echo “hello world” > text# 相当于写文件

22

$ stat text# 发现文件的修改时间(Modify)改变

23

File: `text’

24

Size: 12          Blocks: 16         IO Block: 4096   regularfile

25

Device: 831h/2097d  Inode: 211271681   Links: 1

26

Access: (0644/-rw-r–r–)  Uid: (  514/    xxxx)   Gid: (  100/users)

27

Access: 2010-03-01 22:04:08.000000000 +0800

28

Modify: 2010-03-01 22:04:58.000000000 +0800

29

Change: 2010-03-01 22:04:58.000000000 +0800

30

$touch text#将文件的访问时间、修改时间改为当前时间

31

$ stat text

32

File: `text’

33

Size: 12          Blocks: 16         IO Block: 4096   regularfile

34

Device: 831h/2097d  Inode: 211271681   Links: 1

35

Access: (0644/-rw-r–r–)  Uid: (  514/    xxxx)   Gid: (  100/users)

36

Access: 2010-03-01 22:05:41.000000000 +0800

37

Modify: 2010-03-01 22:05:41.000000000 +0800

38

Change: 2010-03-01 22:05:41.000000000 +0800

39

$touch -a text# 只修改文件的访问时间

40

$ stat text

41

File: `text’

42

Size: 12          Blocks: 16         IO Block: 4096   regularfile

43

Device: 831h/2097d  Inode: 211271681   Links: 1

44

Access: (0644/-rw-r–r–)  Uid: (  514/    xxxx)   Gid: (  100/users)

45

Access: 2010-03-01 22:05:51.000000000 +0800

46

Modify: 2010-03-01 22:05:41.000000000 +0800

47

Change: 2010-03-01 22:05:51.000000000 +0800

48

$touch -d”01/23/2000″ text#将文件时间属性改为2000年1月23号

49

$ stat text

50

File: `text’

51

Size: 12          Blocks: 16         IO Block: 4096   regularfile

52

Device: 831h/2097d  Inode: 211271681   Links: 1

53

Access: (0644/-rw-r–r–)  Uid: (  514/    xxxx)   Gid: (  100/users)

54

Access: 2000-01-23 00:00:00.000000000 +0800

55

Modify: 2000-01-23 00:00:00.000000000 +0800

56

Change: 2010-03-01 22:07:05.000000000 +0800

57

$touch -d”1:04am 01/24/2000″ text#将文件时间属性改为2000年1月23号1:04am

58

$ stat text

59

File: `text’

60

Size: 12          Blocks: 16         IO Block: 4096   regularfile

61

Device: 831h/2097d  Inode: 211271681   Links: 1

62

Access: (0644/-rw-r–r–)  Uid: (  514/    xxxx)   Gid: (  100/users)

63

Access: 2000-01-24 01:04:00.000000000 +0800

64

Modify: 2000-01-24 01:04:00.000000000 +0800

65

Change: 2010-03-01 22:07:48.000000000 +0800

66

$touch -t 09010059.30 text#将文件时间属性改为9月1号0点59分30秒

67

$ stat text

68

File: `text’

69

Size: 12          Blocks: 16         IO Block: 4096   regularfile

70

Device: 831h/2097d  Inode: 211271681   Links: 1

71

Access: (0644/-rw-r–r–)  Uid: (  514/    xxxx)   Gid: (  100/users)

72

Access: 2010-09-01 00:59:30.000000000 +0800

73

Modify: 2010-09-01 00:59:30.000000000 +0800

74

Change: 2010-03-01 22:09:27.000000000 +0800

75

$touch -r /etc/passwd text#将文件的时间属性改为与/etc/passwd文件的时间属性相同的值

76

$ stat text

77

File: `text’

78

Size: 12          Blocks: 16         IO Block: 4096   regularfile

79

Device: 831h/2097d  Inode: 211271681   Links: 1

80

Access: (0644/-rw-r–r–)  Uid: (  514/    xxxx)   Gid: (  100/users)

81

Access: 2010-03-01 22:22:20.000000000 +0800

82

Modify: 2010-01-22 21:02:50.000000000 +0800

83

Change: 2010-03-01 22:22:35.000000000 +0800

扩展阅读:

什么是文件的时间属性?

在linux下,一个文件有三种时间属性: 访问时间、修改时间、状态改动时间。

访问时间: 记录文件最近被阅读的时间(vim,cat,more等命令都能修改该值)。

修改时间: 记录文件最近被修改的时间(ls -l命令显示的时间即为该时间)。

状态改动时间: 记录该文件的inode节点被修改的时间。touch命令除了-d和-t选项外都会改变该时间。而且chmod,chown等命令也能改变该值。

如何查看文件的时间属性?

用stat命令可以查看文件的时间属性,见上例。

另外ls命令也可以查看文件的时间属性:

ls -l file : 查看文件修改时间

ls -lc file: 查看文件状态改动时间

ls -lu file: 查看文件访问时间

touch命令-t选项的时间格式[[CC]YY]MMDDhhmm[.ss]说明:

CC表示世纪

YY表示年

MM表示月

DD表示日

hh表示小时

mm表示分钟

ss表示秒

201001311200.34

CCYYMMDDhhmm ss

表示时间为2010年1月31日12点0分34秒