精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網

17站長網 首頁 網站 服務器 查看內容

linux系統中如何獲取文件的創建時間操作方法

2022-10-17 09:06| 查看: 10098 |來源: 互聯網

背景 有時候我們需要獲取文件的創建時間。 例如: 我在研究 《xtrabackup 原理圖》的時候,想通過觀察確認 xtrabackup_log 是最早創建 并且是 最晚保存的 ...

背景

有時候我們需要獲取文件的創建時間。

例如:

我在研究 《xtrabackup 原理圖》的時候,想通過觀察確認 xtrabackup_log 是最早創建 并且是 最晚保存的文件。我們就需要知道 xtrabackup_logfile 這個文件的創建時間戳和修改時間戳。

復習: Linux關于文件的三個時間戳

Linux 的文件系統保存有三個時間戳,利用 stat 指令查看文件信息可以獲取。他們分別是 ATime、MTime 和 CTime

[root@192-168-199-198 backups]# stat 2.txt 
 File: ‘2.txt'
 Size: 16   Blocks: 8   IO Block: 4096 regular file
Device: 821h/2081d Inode: 15   Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-23 12:12:14.276981038 +0800
Modify: 2019-07-23 12:12:41.415980158 +0800
Change: 2019-07-23 12:12:41.415980158 +0800
 Birth: -

ATime ——文件的最近訪問時間

只要讀取文件,ATime 就會更新,對應的是 stat 命令獲取的 Access 的值。

[root@192-168-199-198 backups]# cat 2.txt #<-- 讀取文件
121231233123123
[root@192-168-199-198 backups]# stat 2.txt 
 File: ‘2.txt'
 Size: 16   Blocks: 8   IO Block: 4096 regular file
Device: 821h/2081d Inode: 15   Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-23 12:22:09.644961733 +0800 #<-- 時間變化了
Modify: 2019-07-23 12:12:41.415980158 +0800
Change: 2019-07-23 12:12:41.415980158 +0800
 Birth: -

MTime ——文件的內容最近修改的時間

當文件進行被寫的時候,CTime 就會更新,對應的是 stat 命令獲取的 Modify 的值。

[root@192-168-199-198 backups]# echo hello_world > 2.txt #<-- 修改文件內容
[root@192-168-199-198 backups]# stat 2.txt 
 File: ‘2.txt'
 Size: 12   Blocks: 8   IO Block: 4096 regular file
Device: 821h/2081d Inode: 15   Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-23 12:22:09.644961733 +0800
Modify: 2019-07-23 12:26:23.466953503 +0800 #<-- 時間變化了
Change: 2019-07-23 12:26:23.466953503 +0800
 Birth: -

這里不要用vi修改文件內容,因為用vi修改文件內容有可能會引起Inode變更,也就是你觀察的文件并不是之前的文件了!這個和vi的原理有關。

CTime ——文件屬性最近修改的時間

當文件的目錄被修改,或者文件的所有者,權限等被修改時,CTime 也就會更新,對應的是 stat 命令獲取的 Change 的值。

[root@192-168-199-198 backups]# chmod 777 2.txt #<-- 修改文件屬性
[root@192-168-199-198 backups]# stat 2.txt 
 File: ‘2.txt'
 Size: 12   Blocks: 8   IO Block: 4096 regular file
Device: 821h/2081d Inode: 15   Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-23 12:22:09.644961733 +0800
Modify: 2019-07-23 12:26:23.466953503 +0800
Change: 2019-07-23 12:30:35.830945320 +0800 #<-- 時間變化了
 Birth: -

Linux 無法獲取文件創建時間?

現在我們知道了Linux有三種時間,ATime、MTime 和 CTime,那么很好奇為什么沒有 CRTime (創建時間) 呢?

對比 Windows 系統 (上圖),Windows 的 NTFS 文件系統里存在三個時間戳,其中就包含了“創建時間”,但在 Linux 的設計哲學上沒有文件“創建時間”這么一說,所以早期版本的ext文件系統不支持文件“創建時間”。但從 ext4 版本開始,文件創建時間存儲在ext4文件系統的inode中,所以 ext4 文件系統使用特殊方法也是可以獲取文件的創建時間的。

也說明了,是否能獲取文件的創建時間,和文件系統是否支持有關。

Linux 上獲取文件創建時間的步驟

CentOS7 Linux系統自帶一個工具,叫做 debugfs,他可以查出 ext4 文件系統上的文件的創建時間。man debugfs 發現工具的描述是 “ext2/ext3/ext4 file system debugger”,所以他是不支持 xfs 文件系統的。

常用的 xfs 文件系統是否支持獲取文件創建時間,還有如何獲取,這個暫時不清楚,需讀者查閱官方文檔

1. 獲取文件的 inode 號

方法一:

[root@192-168-199-198 backups]# stat /backups/2.txt
 File: ‘/backups/2.txt'
 Size: 30   Blocks: 8   IO Block: 4096 regular file
Device: 821h/2081d Inode: 14 #<--- 這個  Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-23 12:49:11.462909146 +0800
Modify: 2019-07-23 12:49:11.462909146 +0800
Change: 2019-07-23 13:08:20.138871900 +0800
 Birth: -

方法二:

[root@192-168-199-198 backups]# ls -i /backups/2.txt
14 /backups/2.txt

這里,我們獲取的 inode 編號是 14。

2. 查找文件所在磁盤路徑

[root@192-168-199-198 backups]# df -h
Filesystem        Size Used Avail Use% Mounted on
/dev/mapper/centos-root  46G  23G  24G 49% /
devtmpfs         3.8G   0 3.8G  0% /dev
tmpfs          3.9G 8.0K 3.9G  1% /dev/shm
tmpfs          3.9G  12M 3.8G  1% /run
tmpfs          3.9G   0 3.9G  0% /sys/fs/cgroup
/dev/sdb1        100G  77G  24G 77% /data2
/dev/sdc1         50G  53M  47G  1% /backups  #<--- 可以看出文件在這里面
/dev/sda1        1014M 142M 873M 14% /boot
tmpfs          781M   0 781M  0% /run/user/0

磁盤路徑為 /dev/sdc1

3. 使用debugfs 查看文件創建時間

[root@192-168-199-198 backups]# debugfs -R 'stat <14>' /dev/sdc1
debugfs 1.42.9 (28-Dec-2013)
Inode: 14  Type: regular  Mode: 0644  Flags: 0x80000
Generation: 737271740  Version: 0x00000000:00000001
User:   0  Group:   0  Size: 30
File ACL: 0  Directory ACL: 0
Links: 1  Blockcount: 8
Fragment: Address: 0  Number: 0  Size: 0
 ctime: 0x5d369644:211c1170 -- Tue Jul 23 13:08:20 2019
 atime: 0x5d3691c7:6e5dbb68 -- Tue Jul 23 12:49:11 2019
 mtime: 0x5d3691c7:6e5dbb68 -- Tue Jul 23 12:49:11 2019
crtime: 0x5d3691c7:6e5dbb68 -- Tue Jul 23 12:49:11 2019
Size of extra inode fields: 28
EXTENTS:
(0):35337

獲取文件創建時間的腳本

鑒于獲取文件創建時間步驟操作有點麻煩 (雖然只有三步 :) )

我這里提供了一個腳本

vi statx

#!/bin/sh

[ $# -ne 1 ] && echo "Usage:   $0 {FILENAME}" && exit 1

INODE=`ls -i $1 |awk '{print $1}'`
FILENAME=$1

#如果傳入參數帶/,則獲取這個傳入參數的目錄路徑并進入目錄
 `echo $FILENAME |grep / 1> /dev/null` && { FPWD=${FILENAME%/*};FPWD=${FPWD:=/};cd ${FPWD};FPWD=`pwd`; } || FPWD=`pwd`

 

array=(`echo ${FPWD} | sed 's@/@ @g'`)
array_length=${#array[@]}

for ((i=${array_length};i>=0;i--))
do
 unset array[$i]
 SUBPWD=`echo " "${array[@]} | sed 's@ @/@g'`
 DISK=`df -h |grep ${SUBPWD}$ |awk '{print $1}'`
 [[ -n $DISK ]] && break
done

 

#不是ext4就退出
[[ "`mount |grep ${DISK} |awk '{print $5}'`" != "ext4" ]] && { echo ${DISK} is not mount on type ext4! Only ext4 file system support!;exit 2; }

debugfs -R "stat <${INODE}>" ${DISK}

使用:

chmod +x statx
mv statx /usr/sbin/statx

[root@192-168-199-198 backups]# statx 2.txt
debugfs 1.42.9 (28-Dec-2013)
Inode: 14  Type: regular  Mode: 0644  Flags: 0x80000
Generation: 737271740  Version: 0x00000000:00000001
User:   0  Group:   0  Size: 30
File ACL: 0  Directory ACL: 0
Links: 1  Blockcount: 8
Fragment: Address: 0  Number: 0  Size: 0
 ctime: 0x5d369644:211c1170 -- Tue Jul 23 13:08:20 2019
 atime: 0x5d36bb8f:56eb1e70 -- Tue Jul 23 15:47:27 2019
 mtime: 0x5d3691c7:6e5dbb68 -- Tue Jul 23 12:49:11 2019
crtime: 0x5d3691c7:6e5dbb68 -- Tue Jul 23 12:49:11 2019
Size of extra inode fields: 28
EXTENTS:
(0):35337

!!!請謹慎在生產環境使用,shell腳本沒有做太多的異常處理,不支持管道,不支持目錄也沒有經過大量的測試

實戰
我們回過頭來,用這個方法,確認《xtrabackup 原理圖》是否準確。

我們需要驗證的是:

xtrabackup_log 是最早創建 并且是 最晚保存的文件

1. 創建備份

DATE=`date "+%Y%m%d%H%M%S"`
xtrabackup -uroot -proot \
 -S /tmp/mysql3306.sock \
 --backup \
 --target-dir=/backups/$DATE

2. 查找所有備份文件的crtime

cd /backups/$DATE
>/tmp/1.txt
>/tmp/2.txt
find . -type f >/tmp/1.txt

for i in `cat /tmp/1.txt`
do
 { echo -n $i" ";statx $i 2>/dev/null |grep crtime |awk '{print $7}'; } >>/tmp/2.txt
done

cat /tmp/2.txt |sort -k2 |less
###以下為輸出###
./ibdata1 23:32:59
./xtrabackup_logfile 23:32:59 #<---可以看出這個文件是最早創建的
./mysql/engine_cost.ibd 23:33:00
./mysql/gtid_executed.ibd 23:33:00
./mysql/help_category.ibd 23:33:00
./mysql/help_keyword.ibd 23:33:00
./mysql/help_relation.ibd 23:33:00
./mysql/help_topic.ibd 23:33:00
./mysql/innodb_index_stats.ibd 23:33:00
./mysql/innodb_table_stats.ibd 23:33:00
./mysql/plugin.ibd 23:33:00
./mysql/server_cost.ibd 23:33:00
./mysql/servers.ibd 23:33:00
./mysql/slave_master_info.ibd 23:33:00
./mysql/slave_relay_log_info.ibd 23:33:00
./mysql/slave_worker_info.ibd 23:33:00
./mysql/time_zone.ibd 23:33:00
./mysql/time_zone_leap_second.ibd 23:33:00
...
./zabbix/trigger_tag.frm 23:33:09
./zabbix/users.frm 23:33:09
./zabbix/users_groups.frm 23:33:09
./zabbix/usrgrp.frm 23:33:09
./zabbix/valuemaps.frm 23:33:09
./zabbix/widget_field.frm 23:33:09
./zabbix/widget.frm 23:33:09

3. 查找所有備份文件的mtime

>/tmp/1.txt
>/tmp/2.txt
find . -type f >/tmp/1.txt

for i in `cat /tmp/1.txt`
do
 { echo -n $i" ";statx $i 2>/dev/null |grep mtime |awk '{print $7}'; } >>/tmp/2.txt
done

cat /tmp/2.txt |sort -k2 |less
###以下為輸出###
./ibdata1 23:33:00
./mysql/engine_cost.ibd 23:33:00
./mysql/gtid_executed.ibd 23:33:00
./mysql/help_category.ibd 23:33:00
./mysql/help_keyword.ibd 23:33:00
./mysql/help_relation.ibd 23:33:00
./mysql/help_topic.ibd 23:33:00
./mysql/innodb_index_stats.ibd 23:33:00
./mysql/innodb_table_stats.ibd 23:33:00
./mysql/plugin.ibd 23:33:00
...
./xtrabackup_logfile 23:33:09 #<---可以看出這個文件是最后修改和保存的
./zabbix/acknowledges.frm 23:33:09
./zabbix/actions.frm 23:33:09
...
./zabbix/users_groups.frm 23:33:09
./zabbix/usrgrp.frm 23:33:09
./zabbix/valuemaps.frm 23:33:09
./zabbix/widget_field.frm 23:33:09
./zabbix/widget.frm 23:33:09

最后,我們通過文件的創建時間和修改時間,實戰地驗證了《xtrabackup 原理圖》的第一和第七步順序的正確性。

總結

以上所述是小編給大家介紹的linux系統中如何獲取文件的創建時間操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對17站長網的支持!

本文最后更新于 2022-10-17 09:06,某些文章具有時效性,若有錯誤或已失效,請在網站留言或聯系站長:[email protected]
·END·
站長網微信號:w17tui,關注站長、創業、關注互聯網人 - 互聯網創業者營銷服務中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!

17站長網微信二維碼

始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!

掃一掃,關注站長網微信

大家都在看

  • 當我們在共享網絡訪問的時候,可能會遇到提示指定的網絡名不再可用的問題,這可能是由于我們的共享網絡出現了錯誤,也可能是被共享的對象所拒絕了。指定的網絡名 ......

    故障排除 2023-03-10
  •   文/曹楊  原標題:誰還看電視?  爸爸戴一副老花鏡,媽媽戴一副近視鏡,一人坐在沙發,一人躺在床上,各自刷著自己關注的博主更新的短視頻。電視也許開著,但只是背景。  這樣的畫面,幾乎成了洛奇家的常 ...

    站長 2020-12-09
  • 1、首先進入到“百度”軟件中, 2、然后在其中輸入“百度識圖”, 3、之后點擊圖中的“開始使用”按鈕, 4、緊接著點擊右下角的“相冊”功能, 5、在相冊下 ......

    軟件教程 2023-02-17
  • 圖片來源于簡書  文/郭開森 楊帆  陸玖財經準備開新欄目了,每周一創始人郭開森和楊帆合體郭德帆,對行業進行一些觀察和評論,第一篇我們仍是打算寫社區團購,這是當下最火的話題。  來過陸玖財經做客的朋友們...

    熱議 2020-12-07
  • 一、軟件沖突1、首先確認是否是應用程序沖突導致的。2、查看是否只有特定幾個游戲或應用會導致該問題。3、如果是應用沖突,那么只要卸載這些app就可以解決了。二 ......

    軟件教程 2022-12-27
  • 電腦端:1、大家可以點擊右邊鏈接進入網頁版的百度網盤,進入之后點擊“去登錄”。https://pan.baidu.com/2、之后正確的輸入賬號密碼進行登錄就好啦。手機端:1 ......

    軟件教程 2022-12-27
  • 一、N100對比intel i3 1、N100的跑分達到了147210分,這個數據可以達到i3的七代級別。 2、在跑分上也是超越了大部分的I3七代CPU,不過比I3八代要弱勢一些。 3 ......

    硬件知識 2023-04-26
  • 8月15日消息 上周,有媒體報道前身為百度圖片的“榴蓮”APP含有大量不雅視頻內容被用戶舉報。對此,百度圖片官方進行了回應,百度圖片表示已經對報道中所涉及的“生吃旋風哥”等爭議內容進行了下線處理。 此外,百度...

    站長 2016-08-15
  • 在填寫一些項目申請書中,總是免不了要選擇一些數字,但是在方框中如何插入數字,該怎么辦呢?那么下面就由學習啦小編給大家分享下word在方框里輸入數字的技巧, ......

    Word教程 2023-04-27
  • WPS Office手機版怎么加橫線?很多用戶還不知道WPS Office手機版怎么加橫線,WPS Office手機版怎么加橫線,WPS Office手機版怎么打橫線,WPS Office手機版怎么弄 ......

    WPS教程 2023-03-31
  • 迅雷前綴是什么 答:迅雷前綴是(magnet:?xt=urn:btih:)括號里的就是了。 我們只要在這段文字之后輸入后續的內容,就可以創建下載鏈接了。 1、磁力鏈接不基于文 ......

    軟件教程 2023-06-03
  • 一、內容特權。 1、半價點播。 許多站內視頻都需要付費觀看,而大會員用戶可以直接半價享受; 購買成功后的48h內無限次觀看。有部分的內容是只限在中國大陸內觀 ......

    軟件教程 2023-05-05
  • 1、首先打開小米運動的“實驗室功能”。 2、接著點擊“門卡模擬”。 3、然后點擊“我知道了”。 4、最后貼近就可以刷卡成功了。...

    硬件知識 2023-05-17
  • 1、打開手機輕顏相機app,點擊“我的”,點擊“設置”,2、點擊“幫助與反饋”,3、點擊右下角“在線咨詢”即可聯系客服,詢問自己的問題啦!...

    軟件教程 2023-03-16
  • 答:華為P系列: 華為p40,華為p40plus,華為p50,華為p50e,華為p60 華為mate系列: 華為mate40,華為mate50,華為mate50e,華為mate60 華為nova系列: 華為n ......

    鴻蒙系統 2023-04-24
  • 近期有用戶反映,電腦在更新Windows 11 Insider Preview 25252.1000后,出現了應用和已壓縮的文件點擊毫無反應,拖拽都不行,只能從開始菜單打開的情況,這是怎 ......

    windows11 2022-12-13
  • 可見單元格就是不包括隱藏或者篩選篩選后隱藏起來的單元格區域。方法:篩選或隱藏數據,復制需要粘貼的值,在目標單元格區域左上角的第一個單元格處右擊,選擇【 ......

    WPS教程 2022-12-10
  • 答:驍龍8+更好。 驍龍7+gen2實際上就是驍龍8+的低配版本。 在一些其他的核心架構方面都是保持一致的,比如說CPU的架構、GPU的架構等等。 驍龍7+和驍龍8+具體 ......

    硬件知識 2023-04-06
  •   文/黎明  一場針對中國互聯網巨頭的反壟斷風暴正在醞釀,而且這次動真格了。  11月10日,國家市場監管總局發布《關于平臺經濟領域的反壟斷指南(征求意見稿)》,要加大對互聯網巨頭涉嫌壟斷的調查和監管。 ...

    熱議 2020-11-14
  • win11系統如何釋放掉系統默認保留的存儲空間?一般情況下,Windows會保留一些存儲空間,以便設備獲得良好性能和成功更新。但是當出現系統盤儲存空間不足時,我們會將幾個G的保留空間釋放出來,以解燃眉之急。本期教...

    windows11 2022-11-17
  • 文件被win10系統誤報病毒自動刪除了如何進行恢復?有用戶下載了某些破解軟件卻被Win10系統誤認為是病毒文件而自動刪除,當然系統自帶殺毒軟件其實挺不錯的,就是有時候會誤報,大家遇到這種情況的時候就希望把誤刪的...

    windows10 2022-11-20
  • 1、先打開機頂盒進入主界面,并且使用遙控器打開設置。 2、然后選擇“賬號與安全”,并且進入。 3、最后往下面翻就可以看到“ADB調試”的選項,直接開啟就行了 ......

    軟件教程 2023-06-01
  • 答:在3DMark壓力測試當中,顯卡需要超高97%才能夠算合格,證明顯卡的穩定性是過關的。 1、一般的默認情況下在2500~3000分就算很正常的了。 2、分數越高說明顯卡 ......

    軟件教程 2023-06-01
  • 羅技g304dpi燈顏色代表什么:1、藍色:這種情況是正常工作的顯示,如果說是常亮或者閃爍,那都沒有問題這是在正常工作呢。2、紅色:如果說是紅燈閃爍的話那就是 ......

    硬件知識 2023-03-16
  • win11系統快速跳過聯網創建本地管理賬戶3種方法?現在市面上銷售的品牌筆記本和臺式機基本上都預裝Windows11家庭中文版正版操作系統,聯網后系統會自動激活。當用戶拿到新機器后還需要按照cortana(小娜)的提示一步...

    windows11 2022-11-13
  • 我們經常用WPS的時候,如果需要輸入波浪號~,會發現鍵盤上的波浪號輸入之后在最上面,但是為了美觀,我們希望波浪號顯示在中間。這里總結了三個方法分享給大家 ......

    WPS教程 2023-02-18
  • 答:中高端水平 i513500hx在處理器當中是處于一個中高端的水平。 i513500hx是第十一代酷睿處理器系列的一員,基礎頻率為2.4GHz,表現十分的不錯。 i513500hx介 ......

    硬件知識 2023-04-27
  • 相信有非常多使用過筆記本的用戶都聽說過獨顯直連這個詞,但很多用戶并不了解獨顯直連是什么,又有什么用處,那么下面就和小編一起來看看什么是獨顯直連和開啟這 ......

    其它 2022-12-15
  • win11系統開機總是自動登錄OneDrive如何關閉?win11系統開機的時候,會自動啟動OneDrive,不想要啟動,該怎么操作呢?下面我們就來看看詳細的教程。 在OneDrive界面點小齒輪按鈕,下拉菜單中點【設置】。 單擊【...

    windows11 2022-11-15
  • 打開軟件,直接填寫就可以。 1、下載安裝easyconnect軟件, 2、打開easyconnect應用,在如圖所示的“服務器地址”一欄輸入如圖所示網址,點擊“連接”, 3、等 ......

    軟件教程 2023-04-03

熱門排行

    最近更新

      返回頂部
      主站蜘蛛池模板: 亚洲国产精品看片在线观看 | 国产亚洲精品久久久久久久久激情 | 欧美性猛交xxx免费看人妖 | 狠狠做久久深爱婷婷97动漫 | 欧美精品国产综合久久 | 免费国产一区二区在免费观看 | 精品日韩欧美一区二区三区 | 久久亚洲精品中文字幕亚瑟 | 国产在线观看91精品亚瑟 | 性亚洲 | 中文字幕视频不卡 | 成年午夜一级毛片视频 | 免费在线国产视频 | 一级成人毛片免费观看欧美 | 久草在线观看福利 | 一本色道久久综合狠狠躁篇 | 一级毛片一级黄片 | 黄色毛片免费观看 | 欧美综合国产 | 久久国产精品无码网站 | 久久九九热re6这里有精品 | 在线观看一区 | 亚洲黄色a | 日本不卡一区二区三区视频 | 国产国产精品人在线观看 | 777在线视频 | 国产综合成色在线视频 | 国产美女一区二区在线观看 | 亚洲精品久久久久综合网 | 欧美在线视频 一区二区 | 麻豆国产在线视频 | 欧美护士激情第一欧美精品 | 综合色图片 | 亚洲性一级理论片在线观看 | 午夜国产福利在线 | 成年人黄色毛片 | 国产一区二区在线不卡 | 国产影片在线观看 | 丁香天堂| 91精品国产综合久久久久久 | 一级片软件 |