Lion'da bir dosyanın oluşturulma (st_birthtime) tarihini / saatini nasıl değiştirebilirim? [çiftleme]


10

touch(1)yalnızca değişiklik ve erişim sürelerini değiştirebilir , ancak oluşturma süresi için seçenek yoktur . Bu en azından Aslan üzerinde çalışmaz.

Peki nasıl değiştiririm oluşturma zamanı olarak da adlandırılan birthtime içinde fstat(2)? Buna karşılık gelen bir çağrı yok utimes(2)ve bunun için herhangi bir komut satırı aracı yok gibi görünüyor.

Dosyayı yeni bir dosyaya kopyalayabileceğimi biliyorum.


1
touch -t yyyymmddhhmm $fileoluşturma tarihini değiştiriyor gibi görünüyor, ancak yalnızca orijinal oluşturma tarihinden önce ise.
Lri

İyi nokta, @Lri - bu gerçekten mantıklı, çünkü bu mtime ve atime günceller ve bir dosya oluşturulmadan önce erişilemez veya değiştirilemez. Ancak, daha yeni bir oluşturma zamanı belirlememe izin vermiyor.
Ingmar Hupp

CLI ile zorunlu olarak komut satırından mı yoksa genel olarak mı değiştirmeye çalışıyorsunuz?
daviesgeek

Açıkçası ben umut ediyorum edemez mutlaka o alanın tamamını noktasını yenmek gibi, bunu değiştirmek ?! Ayrıca hte sorunun bazılarının doğum zamanı / oluşturma süresinin standart bir dosya sistemi özelliği olmadığından şüpheleniyorum; hfs bunu genişletilmiş özniteliklerine ekledi, sanırım - bu yüzden yardımcı programlar bunu tanıyacak şekilde güncellenmedikçe, onunla çok fazla şey yapamazlar.
Sezyum

Yanıtlar:


6

touch -t hedef değişiklik zamanı orijinal oluşturma süresinden önce ise oluşturma süresini de değiştirir.

SetFile, oluşturma zamanını, değişiklik zamanından önce veya gelecekte olacak şekilde ayarlayabilir.

-d date    Sets the creation date, where date is a string of the
           form: "mm/dd/[yy]yy [hh:mm:[:ss] [AM | PM]]" Notes:
           Enclose the string in quotation marks if it contains spa-
           ces. The date must be in the Unix epoch, that is, between
           1/1/1970 and 1/18/2038. If the year is provided as a two-
           digit year, it is assumed to be in the 21st century and
           must be from 00 (2000) through 38 (2038).

Bu, oluşturma süresini değişiklik süresine ayarlayacaktır:

SetFile -d "$(GetFileInfo -m test.txt)" test.txt

SetFile ve GetFileInfo, Xcode tercihlerinden veya developer.apple.com/downloads adresinden indirilebilen komut satırı araçları paketinin bir parçasıdır .


Kesin olarak "doğum zamanı" ( crtime) ve ctime farklı şeyler (bkz . ZFS
G.

Elbette erişim ve değiştirme süreleri genellikle aynıdır - ancak farklı nedenlerle. touchVe stat manuel sayfaları ayrıntıları var. OSX için OpenZFS'nin yanı sıra OSX "yerel" dosya sistemlerinin crtimealanı nasıl işlediğini veya OSX'in çeşitli sürümlerinde hangi statraporlar için olduğunu bilmek isterim crtime.
G. Cito

-1

Deneyin:

cat filename > newfile
mv filename ~/.Trash/
mv newfile filename 

Bu işe yaramalı.


1
Orijinali yine de silmeniz gerekir. Ingmar bunu zaten ele almıştı.
Hippo

Hata! Daha iyi okumalıydım. Ama hayır, daha iyi bir yol yok ...
Sean Freitag
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.