iT邦幫忙

0

linux 怎麼 修改 或建立 一個過去時間的檔案

  • 分享至 

  • xImage

linux 怎麼 修改 或建立 一個過去時間的檔案 foo.txt
是create time 不是 access time
stat foo.txt
birth time 要過去時間

看更多先前的討論...收起先前的討論...
阿摔 iT邦新手 4 級 ‧ 2023-01-12 14:29:58 檢舉
看起來是稽核需求
從斷網的Linux系統調整成過去的時間再用USB傳到另一台Linux系統試過了嗎?
froce iT邦大師 1 級 ‧ 2023-01-12 14:51:32 檢舉
手上沒虛擬機,不知道是否正確
touch -c -t
https://www.tecmint.com/8-pratical-examples-of-linux-touch-command/

查了一下,birth time沒辦法改,傳過去到另外一台linux可能也沒辦法。
BKY iT邦研究生 2 級 ‧ 2023-01-12 19:26:29 檢舉
看能不能copy到windows上,用軟體改時間,改完再copy回去!windows上改檔案時間的軟體就很多了!
拷貝過去 就會重新誕生了 T_T
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
JamesDoge
iT邦高手 1 級 ‧ 2023-01-26 00:53:37
  1. 使用 "debugfs" 工具進入檔案系統,例如:
sudo debugfs -w /dev/sda1
  1. 使用 "stat" 指令查詢檔案 "foo.txt" 的 inode 號碼,例如:
stat foo.txt
  1. 使用 "set_inode_field" 指令來更改 inode 的 ctime,例如:
set_inode_field <inode> ctime 1609459200

是檔案 "foo.txt" 的 inode 號碼,1609459200 是 Unix 時間戳 (timestamp),表示 2020 年 1 月 1 日 12:00:00。

  1. 使用 "write" 指令將更改寫入磁碟,例如:
write
  1. 使用 "q" 指令退出 "debugfs"。

請確保在進行此操作之前有備份

stat foo.txt
File: foo.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fc00h/64512d Inode: 101095509 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2020-01-01 12:00:00.000000000 +0000
Modify: 2020-01-01 12:00:00.000000000 +0000
Change: 2023-01-26 11:29:56.068520245 +0000
Birth: 2023-01-26 11:29:56.068520245 +0000

JamesDoge iT邦高手 1 級 ‧ 2023-01-26 20:16:51 檢舉

已更新

我要發表回答

立即登入回答