Linux

將文件的“創建日期”和“上次修改時間”屬性更改為另一個文件的

  • May 25, 2021

我正在使用合併帽從 15 個文件中創建合併 pcap 文件。對於合併的文件,我已將名稱更改為 15 個文件中的第一個。但我還想將合併文件的屬性(如“創建日期”和“上次修改時間”)更改為第一個文件的屬性。有沒有辦法做到這一點?

FILES_dcn=($(find  $dir_dcn -maxdepth 1 -type f -name "*.pcap"  -print0 | xargs -0 ls -lt | tail -15 | awk '{print $9}'))
TAG1_dcn=$(basename "${FILES_dcn[14]}" | sed 's/.pcap//')
mergecap -w  "${dir_dcn}"/merge_dcn.pcap "${FILES_dcn[@]}"
mv  "${dir_dcn}"/merge_dcn.pcap  "${dir_dcn}"/"${TAG1_dcn}".pcap

我嘗試通過 samba 伺服器 (Ubuntu) 訪問合併的文件。以便提取器功能可以訪問自動將文件提取到 D 文件夾。但是由於合併文件的創建日期將更改,因此提取失敗。有沒有什麼辦法解決這一問題?

您可以使用該touch命令與-r開關一起將另一個文件的屬性應用於文件。

**注意:**在 Unix 中沒有創建日期之類的東西,只有訪問、修改和更改。有關詳細資訊,請參閱此 U&L Q&A,標題為:獲取給定文件的年齡。

$ touch -r goldenfile newfile

例子

例如,這是一個goldenfile使用任意時間戳創建的。

$ touch -d 20120101 goldenfile
$ ls -l goldenfile 
-rw-rw-r--. 1 saml saml 0 Jan  1  2012 goldenfile

現在我製作了一些新文件:

$ touch newfile
$ ls -l newfile 
-rw-rw-r--. 1 saml saml 0 Mar  7 09:06 newfile

現在將goldenfile的屬性應用到newfile.

$ touch -r goldenfile newfile 
$ ls -l goldenfile newfile
-rw-rw-r--. 1 saml saml 0 Jan  1  2012 newfile
-rw-rw-r--. 1 saml saml 0 Jan  1  2012 goldenfile

現在newfile具有相同的屬性。

通過 Samba 修改

我剛剛確認我能夠使用我的 Fedora 19 筆記型電腦執行此操作,其中包括連接到 Thecus N12000 NAS 的版本 1.16.3-2(使用 CentOS 5.x 的修改版本)。

正如我上面提到的,我能夠觸摸一個文件,它就像我描述的那樣工作。您的問題可能與正在使用的安裝選項有關,這可能是省略了對某些時間屬性的跟踪,或者可能與以下錯誤之一有關:

引用自:https://unix.stackexchange.com/questions/118577