Linux的文件時間

来源:http://www.cnblogs.com/coder-gui/archive/2016/11/16/6068173.html
-Advertisement-
Play Games

在windows下,一個文件有:創建時間、修改時間、訪問時間。而在Linux下,一個文件也有三種時間,分別是:訪問時間、修改時間、狀態改動時間。 1、訪問時間,讀一次這個文件的內容,這個時間就會更新。比如對這個文件使用more命令。ls、stat命令都不會修改文件的訪問時間。 2、修改時間,對文件內... ...


在windows下,一個文件有:創建時間、修改時間、訪問時間。
而在Linux下,一個文件也有三種時間,分別是:訪問時間、修改時間、狀態改動時間。

1、訪問時間,讀一次這個文件的內容,這個時間就會更新。比如對這個文件使用more命令。ls、stat命令都不會修改文件的訪問時間。

2、修改時間,對文件內容修改一次,這個時間就會更新。比如:vi後保存文件。ls -l列出的時間就是這個時間。

3、狀態改變時間。通過chmod命令更改一次文件屬性,這個時間就會更新。查看文件的詳細的狀態、準確的修改時間等,可以通過stat命令 文件名。

 

 

通過stat filename.txt來查,如:
# stat filetime.txt
File: `filetime.txt'
Size: 39              Blocks: 8          IO Block: 4096   Regular File
Device: 802h/2050d      Inode: 17          Links: 1   
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2009-08-04 15:13:44.000000000 +0800
Modify: 2009-08-04 15:13:44.000000000 +0800
Change: 2009-08-04 15:13:44.000000000 +0800
說明:Access訪問時間。Modify修改時間。Change狀態改動時間。可以stat *查看這個目錄所有文件的狀態。
ctime=change time
atime=access time
mtime=modifiy time

因為這是一個新的文件(filetime.txt),沒做過內容、屬性的更改,也沒讀過這個文件,所以三者(訪問時間、修改時間、狀態改動時間)的時間是一致的,這時文件的修改時間與這三個時間是一樣的,是沒有疑問的。

1、訪問時間,讀一次這個文件的內容,這個時間就會更新。比如對這個文件運用 more、cat等命令。ls、stat命令都不會修改文件的訪問時間。
2、修改時間,修改時間是文件內容最後一次被修改時間。比如:vi後保存文件。ls -l列出的時間就是這個時間。
3、狀態改動時間。是該文件的i節點最後一次被修改的時間,通過chmod、chown命令修改一次文件屬性,這個時間就會更新。

另個除了可以通過stat來查看文件的mtime,ctime,atime等屬性,也可以通過ls命令來查看,具體如下:
ls -lc filename 列出文件的 ctime (最後更改時間)
ls -lu filename 列出文件的 atime(最後存取時間)
ls -l filename 列出文件的 mtime (最後修改時間)

欄位           說明                   例子           ls(-l)
st_atime  文件數據的最後存取時間       read            -u
st_mtime  文件數據的最後修改時間       write           預設
st_ctime  文件數據的最後更改時間       chown,chmod     -c
在linux系統中,系統把文件內容數據與i節點數據是分別存放的,i節點數據存放了文件許可權與文件屬主之類的數據。

 

可以使用touch命令來改變文件的時間

無法修改文件的change時間

touch命令選項說明
a 改變檔案的讀取時間記錄。  
m 改變檔案的修改時間記錄。
c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。  
f 不使用,是為了與其他 unix 系統的相容性而保留。  
r 使用參考檔的時間記錄,與 --file 的效果一樣。  
d 設定時間與日期,可以使用各種不同的格式。
t 設定檔案的時間記錄,格式與 date 指令相同。 等於參數 a m


[[CC]YY]MMDDhhmm[.SS],
CC為年數中的前兩位,即”世紀數”;
YY為年數的後兩位,即某世紀中的年數.如果不給出CC的值,則linux中touch命令參數將把年數CCYY限定在1969--2068之內.
MM為月數,
DD為天數,
hh 為小時數(幾點),
mm為分鐘數,
SS為秒數.
此處秒的設定範圍是0--61,這樣可以處理閏秒.這些數字組成的時間是環境變數TZ指定的時區中的一個時間.由於系統的限制,早於1970年1月1日的時間是錯誤的.
  --no-create 不會建立新檔案。   --help 列出指令格式。   --version 列出版本訊息。

例一:更新file1.txt的存取和修改時間。   touch file1.txt
例二:如果file1.txt不存在,不創建文件   touch -c file1.txt
例三:更新file1.txt的時間戳和ref+file相同   touch -r ref+file file1.txt
例四:設置文件的時間戳為2011年5月18日9點45分10秒   ls -l file1.txt
  touch -t 1105190945.10 file1.txt


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. 啟動 SQL Server Management studio 2. 選擇登錄模式 Server name: "." 代表本地的資料庫 Authertication: Windows Authertication為管理員登錄許可權,一般選擇SQL Server Authertication 登錄 ...
  • SQL Server 2012 安裝過程很漫長, 裡面很多界面不一一截取了,我分別在win7 企業版 64位 和 win10專業版SP1 64位 裝了SQL Server 2012 ,都沒有問題。 1. 安裝的功能選擇,選擇“全部” 2. 資料庫引擎設置,選擇“混合模式”,給系統管理員sa設定登錄密 ...
  • 雖然使用sqlserver去調用服務介面的情況比較少,但也可以去瞭解下對應的使用情況 一、首先要開啟組件的配置 二、調用webservice 1、調用webservice的時候建議使用fiddler去獲取一下發送數據過程用contenttype的類型以及調用介面的數據 2、使用sqlserver調用 ...
  • 由於目前目標檢測及分類等研究方向廣泛使用深度學習的方法,而多數神經網路框架(如caffe和tensorflow等)在windows下安裝極為困難,所以本文將記錄我安裝Ubuntu的部分筆記,並就出現過的一些問題提供適合新手的簡單辦法。本文所安裝ubuntu版本為14.04。 新手採用本文所介紹的安裝 ...
  • 今天使用kali的時候,由於虛擬機太多,密碼還不一樣,就忘記kali的登錄密碼了(我就是魚的記憶,只有七秒)。。。。 1.重啟kali,進入恢復系統,按e鍵進入編輯模式 2.游標移動到/boot/vmlinuz行修改singal前的ro為rw,並且在initrd=/install/initrd.gz ...
  • 虛擬機:VMware12.0 操作系統:Ubuntu16.04 LTS (新安裝系統) 已經按照網上的步驟: 1.安裝git: 2.安裝依賴包: 3.安裝Pyenv: 4.配置環境: 最終結果: ...
  • Atlas是360團隊弄出來的一套基於MySQL-Proxy基礎之上的代理,修改了MySQL-Proxy的一些BUG,並且優化了很多東西。而且安裝方便。配置的註釋寫的蠻詳細的,都是中文。英文不好的同學有福了。 Atlas官方鏈接: https://github.com/Qihoo360/Atlas/ ...
  • 由於工作需要,經常要使用遠程桌面連接到Windows伺服器。Windows的預設遠程桌面埠號為3389,為增加伺服器安全性,除了在硬體設備做規則外,還可以用Windows自帶的策略來增加Windows伺服器的安全下。 下麵以Windows2008R2為例,分別設置二種策略:(兩種任選一種,不能同時 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...