1. 程式人生 > >linux下touch的運用以及在linux下建立可執行的.sh檔案

linux下touch的運用以及在linux下建立可執行的.sh檔案

linux的touch命令不常用,一般在使用make的時候可能會用到,用來修改檔案時間戳,或者新建一個不存在的檔案

1.命令格式:

touch [選項]... 檔案...

2.命令引數:

-a   或--time=atime或--time=access或--time=use  只更改存取時間。

-c   或--no-create  不建立任何文件。

-d  使用指定的日期時間,而非現在的時間。

-f  此引數將忽略不予處理,僅負責解決BSD版本touch指令的相容性問題。

-m   或--time=mtime或--time=modify  只更改變動時間。

-r  把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同。

-t  使用指定的日期時間,而非現在的時間。

3.命令功能:

touch命令引數可更改文件或目錄的日期時間,包括存取時間和更改時間。 

4.使用範例:

例項一:建立不存在的檔案

命令:

touch log2012.log log2013.log

輸出:

[[email protected]

 test]# touch log2012.log log2013.log

[[email protected] test]# ll

-rw-r--r-- 1 root root    0 10-28 16:01 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

如果log2014.log不存在,則不建立檔案

[[email protected] test]# touch -c log2014.log

[[email protected] test]# ll

-rw-r--r-- 1 root root    0 10-28 16:01 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

例項二:更新log.log的時間和log2012.log時間戳相同

命令:

touch -r log.log log2012.log

輸出:

[[email protected] test]# ll

-rw-r--r-- 1 root root    0 10-28 16:01 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

[root@localhost test]# touch -r log.log log2012.log 

[[email protected] test]# ll

-rw-r--r-- 1 root root    0 10-28 14:48 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

例項三:設定檔案的時間戳

命令:

touch -t 201211142234.50 log.log

輸出:

[[email protected] test]# ll

-rw-r--r-- 1 root root    0 10-28 14:48 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

[root@localhost test]# touch -t 201211142234.50 log.log

[[email protected] test]# ll

-rw-r--r-- 1 root root    0 10-28 14:48 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

-rw-r--r-- 1 root root    0 2012-11-14 log.log

說明:

-t  time 使用指定的時間值 time 作為指定檔案相應時間戳記的新值.此處的 time規定為如下形式的十進位制數:      

  [[CC]YY]MMDDhhmm[.SS]     

  這裡,CC為年數中的前兩位,即”世紀數”;YY為年數的後兩位,即某世紀中的年數.如果不給出CC的值,則touch   將把年數CCYY限定在1969--2068之內.MM為月數,DD為天將把年數CCYY限定在1969--2068之內.MM為月數,DD為天數,hh 為小時數(幾點),mm為分鐘數,SS為秒數.此處秒的設定範圍是0--61,這樣可以處理閏秒.這些數字組成的時間是環境變數TZ指定的時區中的一個時 間.由於系統的限制,早於1970年1月1日的時間是錯誤的。



以上是touch的用法;


以下是建立.sh檔案


1.touch hello.sh   2.vim hello.sh   鍵入i   插入#!/bin/sh      echo hello world;  鍵入:      esc      :     wq 3.chmod 700 hello.sh   解釋-rwx------ (700) -- 只有屬主有讀、寫、執行許可權。   4. 執行./hello.sh