GNU/Linux >> Belajar Linux >  >> Linux

Dapatkan Usia File yang Diberikan?

Bagaimana saya bisa mendapatkan usia file tertentu dalam, setidaknya, hari?

Saya sangat mengetahui ls -lh dan perintah serupa. Saya ingin sesuatu yang akan bekerja seperti ini:

getfage <FILE> # prints out '12d' (12 days)

Selain itu, ini harus agak lintas platform karena saya juga ingin menggunakan ini di Mac OS X, tetapi kasus penggunaan utama ada di kotak Linux saya.

CATATAN

Karena Linux tidak melacak waktu pembuatan, saya mencari solusi dua kali lipat:satu untuk mtime (linux)–itulah terakhir kali file tersebut diubah –dan satu untuk Mac OS X, yang dapat menangani mtime atau waktu pembuatan.

Jawaban yang Diterima:

Unix tidak melacak tanggal pembuatan. Satu-satunya informasi yang tersedia biasanya adalah terakhir kali file tersebut:

  1. Diakses
  2. Diubah
  3. Berubah
  • Akses – terakhir kali file dibaca
  • Ubah – terakhir kali file diubah (konten telah diubah)
  • Ubah – terakhir kali meta data file diubah (mis. izin)

(Dari jawaban ini )

Anda bisa mendapatkan tanggal yang terkait dengan file tertentu menggunakan stat perintah.

Contoh

$ stat ffmpeg 
  File: `ffmpeg'
  Size: 19579304    Blocks: 38248      IO Block: 4096   regular file
Device: fd02h/64770d    Inode: 10356770    Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (  500/    saml)   Gid: (  501/    saml)
Access: 2013-11-26 10:49:09.908261694 -0500
Modify: 2013-11-02 17:05:13.357573854 -0400
Change: 2013-11-02 17:05:13.357573854 -0400

OSX dan HFS

Jika Anda menggunakan OSX, sistem file yang digunakan di bawah Unix itu adalah HFS. Ini adalah salah satu dari sedikit (yang saya ketahui) yang menyimpan tanggal pembuatan dalam sistem file, bersama dengan waktu modifikasi, dll. serupa dengan Unix lainnya.

kutipan

File Record menyimpan berbagai metadata tentang file termasuk CNID-nya, ukuran file, tiga stempel waktu (saat file dibuat, terakhir diubah, terakhir dicadangkan), ekstensi file pertama dari data dan fork dan pointer sumber daya ke data pertama file dan catatan tingkat sumber daya di File Extent Overflow. File Record juga menyimpan dua bidang 16 byte yang digunakan oleh Finder untuk menyimpan atribut tentang file termasuk hal-hal seperti kode pembuatnya, kode jenis, jendela tempat file akan muncul dan lokasinya di dalam jendela.

Stempel waktu

Stempel waktu selalu dipertahankan dalam sistem file, jadi Anda dibatasi oleh pelacakan waktu apa pun yang ditawarkan melaluinya (EXT3, EXT4, XFS, dll.).

Terkait:Mengapa InnoDB menyimpan semua database dalam satu file?

Sistem file

Jika Anda penasaran, lihat topik Wikipedia ini yang berjudul:Perbandingan sistem file. Ini memiliki daftar sistem file paling luas yang saya ketahui bersama dengan tabel bagus dari berbagai fitur dan status apakah itu didukung atau tidak dalam sistem file tertentu.

Referensi

  • Bagaimana cara mengetahui tanggal pembuatan file?
  • Bagaimana cara melakukan ls dan kemudian mengurutkan hasil berdasarkan tanggal dibuat?
  • Mencantumkan file yang dibuat pada hari Minggu
  • Dapatkan waktu pembuatan/pembuatan file?
  • Mengapa waktu Unix dimulai pada 1970-01-01?

Linux
  1. `^m` Dan Bagaimana Cara Menghilangkannya?

  2. Kapan File Dibuat?

  3. Dapatkan File Dibuat/Waktu pembuatan??

  1. Dapatkan file terbaru di direktori di Linux

  2. Bagaimana cara mendapatkan path lengkap dari suatu file?

  3. Bagaimana cara mendapatkan tanggal/waktu pembuatan file di Bash/Debian?

  1. Cara mendapatkan waktu UTC

  2. Nonblocking Dapatkan Karakter

  3. Dapatkan Panjang MP3 di Linux / FreeBSD