【Linux】touch

我們在介紹ls這個命令時,提到每個文件在Linux下面都會記錄許多的時間參數,其實是有三個主要的變動時間,那么三個時間的意義是什么?

  1. 修改時間(modification time,mtime):當該文件的【內容數據】變更時,就會更新這個時間,內容數據指的是文件的內容,而不是文件的屬性或權限。
  2. 狀態時間(status time,ctime ):當該文件的【狀態(status)】改變時,就會更新這個時間,舉例來說,像是權限與屬性被更改了,都會更新這個時間。
  3. 讀取時間(access time,atime):當【該文件的內容被讀取】時,就會更新這個讀取時間(access),

舉例來說,我們使用cat去讀取/etc/man_db.conf,就會更新該文件的atime。

這是個挺有趣的現象,舉例來說,我們來看一看你自己的/etc/man_db.conf這個文件的時間吧
看到了嗎?

在默認的情況下,Is顯示出來的是該文件的mtime,也就是這個文件的內容上次被修改的時間。

????????至于我的系統是在2023年6月30號的時候安裝,因此,這個文件被產生導致狀態被修改的時間就回溯到那個時間點了(ctime)。而還記得剛剛我們使用的范例當中,有使用到man_db.conf這個文件,所以,它的atime 就會變成剛剛使用的時間了。

????????文件的時間是很重要的,因為,如果文件的時間錯誤的話,可能會造成某些程序無法順利的運行。那么萬一我發現了一個文件來自未來,該如何讓該文件的時間變成【現在】的時刻呢?很簡單,就用【touch】這個命令即可。

????????不要懷疑系統時間會“來自未來”,很多時候會有這個問題。

????????舉例來說,在安裝過后系統時間可能會被改變,因為中國時區在國際標準時間“格林威治時間,GMT”的右邊,所以會比較早看到陽光,也就是說中國時間比GMT時間快了8小時。如果安裝不當,我們的系統可能會快8小時,你的文件就有可能來自8小時后了。

至于某些情況下,由于BIOS的設置錯誤,導致系統時間跑到未來時間,并且你又建立了某些文件,等你將時間改回正確的時間時,該文件不就變成來自未來了嗎?

  • touch [-acdmt]文件

選項與參數:

  1. -a:僅自定義 access time;
  2. -c:僅修改文件的時間,若該文件不存在則不建立新文件;
  3. -d:后面可以接欲自定義的日期而不用目前的日期,也可以使用--date="日期或時間";
  4. -m:僅修改mtime;
  5. -t:后面可以接欲自定義的時間而不用目前的時間,格式為[YYYYMMDDhhmm];

范例一:新建一個空文件并觀察時間。

注意到,這個文件的大小是0.

在默認的狀態下,如果touch后面有接文件,則該文件的三個時間(atime/ctime/mtime)都會更新為目前的時間。

若該文件不存在,則會主動的建立一個新的空文件,例如上面這個例子。

范例二:將~/.bashrc復制成為bashrc,假設復制完全的屬性,檢查其日期。



從上往下依次是目前的時間,mtime,atime,ctime.

????????執行的結果當中,我們可以發現數據的內容與屬性是被復制過來的,因此文件修改時間(mtime)與原本文件相同。但是由于這個文件是剛剛被建立的,因此狀態時間(ctime)就變成現在的時間。

那如果你想要變更這個文件的時間?可以這樣做:

范例三:修改案例二的bashrc文件,將日期調整為兩天前。



#跟上個范例比較看看,本來是 ?8日變成了6日(atume/mtime)。

不過,ctime 并沒有跟著改變。

范例四:將上個范例的bashrc日期改為2014/06/152:02。

注意看看,日期在atime與mtime都改變了,但是ctime則是記錄目前的時間

????????通過touch這個命令,我們可以輕易地自定義文件的日期與時間,并且也可以建立一個空文件。

不過要注意的是,即使我們復制一個文件時,復制所有的屬性,但也沒有辦法復制ctime 這個屬性。ctime以記錄這個文件最近的狀態(status)被改變的時間。

無論如何,還是要告知大家,我們平時看的文件屬性中,比較重要的還是mtime。我們關心的常常是這個文件的內容是什么時候被修改,了解了嗎?

無論如何,touch這個命令最常被使用的情況是:

  1. 建立一個空文件;
  2. 將某個文件日期自定義為目前(mtime與atime)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41896.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41896.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41896.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

qt udp 協議鏈接舉例

在Qt框架中,使用UDP協議進行通信主要依賴于QUdpSocket類。以下是一個基于Qt的UDP通信示例,包括UDP套接字的創建、綁定端口、發送和接收數據報的步驟。 1. 創建UDP套接字 首先,需要創建一個QUdpSocket對象。這通常在你的類的構造函數中完成&…

【c++刷題筆記-貪心】day28: 134. 加油站 、 135. 分發糖果 、860.檸檬水找零 、 406.根據身高重建隊列

134. 加油站 - 力扣(LeetCode) 思路:算出當前的消耗的油量總數,如果花費大于油量表示無法到達。統計總花費最大的油耗總數,如果油耗總數大于或者等于0,表示全程沒有負花銷,直接從0起步。小于零…

十二、數組

1. 一維數組的創建和初始化 數組是一組相同類型元素的集合。 變長數組是不能初始化的。 數組的初始化是指,在創建數組的同時給數組的內容一些合理初始值(初始化)。 例如上圖 char ch3[ ]"abc";里面方的就是 a b c \0 char ch3[ …

EDA 2023 年世界國家suicide rate排名

文章目錄 前言:關于數據集列 導入模塊導入數據數據預處理探索性數據分析按性別劃分的自殺率 [箱線圖]相關矩陣熱圖自殺率最高的 15 個國家變化百分比最高的 15 個國家/地區2023 年世界地圖上自殺率的國家 結尾: 前言: 隨著社會的不斷發展和變遷,人們對于各種社會問…

揭秘:源代碼防泄密的終極秘籍

在當今信息科技高度發達的時代,源代碼作為企業最核心的資產之一,其安全性不言而喻。源代碼的泄露可能導致企業技術機密被競爭對手獲取,進而威脅到企業的市場競爭力和長遠發展。因此,源代碼防泄密成為了企業信息安全工作的重中之重…

前端JS特效第24波:jQuery輕量級響應式幻燈片插件EasyFader

jQuery輕量級響應式幻燈片插件EasyFader&#xff0c;先來看看效果&#xff1a; 部分核心的代碼如下&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"utf-8"> <title>jQuery輕量級響應式幻燈片插件E…

C-10 凸包

凸包 數學定義 平面的一個子集S被稱為是凸的&#xff0c;當且僅當對于任意兩點A&#xff0c;B屬于S&#xff0c;線段PS都完全屬于S過于基礎就不詳細介紹了 凸包的計算 github上找到了別人的代碼&#xff0c;用4種方式實現了凸包的計算&#xff0c;把他放在這里鏈接地址htt…

可靈ai出web端了

網址 https://klingai.kuaishou.com/ 可靈ai出web端了 最近最火的莫過于老照片動態視頻了&#xff0c;現在可靈出web端了&#xff0c;更利好開發者了。

redis運維:sentinel模式如何查看所有從節點

1. 連接到sentinel redis-cli -h sentinel_host -p sentinel_port如&#xff1a; redis-cli -h {域名} -p 200182. 發現Redis主服務器 連接到哨兵后&#xff0c;我們可以使用SENTINEL get-master-addr-by-name命令來獲取當前的Redis主服務器的地址。 SENTINEL get-master-a…

原生JS常用方法總結

文章目錄 根據 cookie 的 key 獲取 value根據 xpath 獲取頁面元素ajax請求 根據 cookie 的 key 獲取 value // 獲取cookie function getCookie(key){var arrstr document.cookie.split("; ");for (var i 0; i < arrstr.length; i){var temp arrstr[i].split(&…

手動安裝Ruby 1.9.3并升級RubyGems

手動安裝Ruby 1.9.3并升級RubyGems ###Ruby 1.9.3 p125安裝 wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz \ && tar -xzvf ruby-1.9.3-p125.tar.gz \ && cd ruby-1.9.3-p125 \ && ./configure --with-openssl-dir/usr/lib/op…

Python骨架肌體運動學數學模型

&#x1f3af;要點 &#x1f3af;運動學矢量計算 | &#x1f3af;跳遠的運動學計算 | &#x1f3af;關節肢體運動最小加加速度模型 | &#x1f3af;膝關節和踝關節角度二維運動學計算 | &#x1f3af;上下肢體關節連接運動鏈數學模型 | &#x1f3af;剛體連接點速度加速度計算…

[python]Markdown圖片引用格式批處理桌面應用程序

需求 使用python編寫一個exe&#xff0c;實現批量修改圖片引用&#xff0c;將修改后的文件生成為 文件名_blog.md。有一個編輯框&#xff0c;允許接收拖動過來md文件&#xff0c;拖入文件時獲取文件路徑&#xff0c;有一個編輯框編輯修改后的文件的輸出路徑&#xff0c;用戶拖入…

Springboot實戰:AI大模型+亮數據代理助力短視頻時代

目錄 前言1.如何入門亮數據1.1、注冊登錄1.2、注冊賬號1.3、登錄1.4、購買靜態住宅代理1.5、展示購買的代理 2. 使用Springboot、AI大模型構建系統2.1 使用Springboot、AI大模型構建爬蟲2.2、在Springboot項目添加工具 3、編寫代碼&#xff0c;爬取視頻素材3.1、代碼里使用代理…

Redis核心問題總結(一)

1、為什么要使用Redis做緩存 緩存的好處 使用緩存的目的就是提升讀寫性能。而實際業務場景下&#xff0c;更多的是為了提升讀性能&#xff0c;帶來更好的性 能&#xff0c;帶來更高的并發量。Redis 的讀寫性能比 Mysql 好的多&#xff0c;我們就可以把 Mysql 中的熱點數據緩 …

如何編譯ffmpeg支持h265(hevc)?

推薦使用這里的文件&#xff1a;https://github.com/runner365/ffmpeg_rtmp_h265 根據你ffmpeg的源碼 版本&#xff0c;切換到不同分支即可。 國內cdn方式: 新增codecid hevc/vp8/vp9/opus在rtmp中的codecid沒有官方協議定義&#xff0c;由國內眾多知名cdn共同制定。 FLV_COD…

1. LangChain4j 之入門(簡單易學)

一&#xff1a;前言 什么是LangChain&#xff1f;而LangChain4j又是什么&#xff1f;不知道的朋友&#xff0c;可以看我一下兩篇文章 1分鐘了解LangChain是什么? | 1分鐘了解LangChain4j是什么? LangChain4j是LangChain的Java版本&#xff0c;幫助開發者很容易的接入大模型的…

提升結構安全性:應變計在現代建筑中的應用

在現代建筑領域&#xff0c;隨著工程技術的不斷進步&#xff0c;對結構安全性的要求也日益提高。作為一種關鍵的工程儀器儀表&#xff0c;應變計在提升結構安全性方面發揮著不可替代的作用。本文將深入探討應變計在現代建筑中的應用&#xff0c;以及它如何助力工程師們實時監測…

權力之望怎么注冊賬號創建角色 權利之網角色賬號注冊教程

權力之望是一款全新的大型MMORPG游戲&#xff0c;擁有9把獨特武器和56種職業組合&#xff0c;并搭配了超炫酷的戰斗畫面&#xff0c;全程采用低俯視角游戲&#xff0c;讓玩家能體驗到更強的操作感和爽快感。這款游戲主打高養成自由度玩家可以自由更換武器進行戰斗&#xff0c;還…

前端面試題30(閉包和作用域鏈的關系)

閉包和作用域鏈在JavaScript中是緊密相關的兩個概念&#xff0c;理解它們之間的關系對于深入掌握JavaScript的執行機制至關重要。 作用域鏈 作用域鏈是一個鏈接列表&#xff0c;它包含了當前執行上下文的所有父級執行上下文的變量對象。每當函數被調用時&#xff0c;JavaScri…