GNU/Linux >> Belajar Linux >  >> Linux

Dapatkan file terbaru di direktori di Linux

Ini adalah versi rekursif (yaitu menemukan file yang paling baru diperbarui di direktori tertentu atau salah satu subdirektorinya)

find /dir/path -type f -printf "%[email protected] %p\n" | sort -n | cut -d' ' -f 2- | tail -n 1

Penjelasan singkat orang awam tentang baris perintah:

  • find /dir/path -type f menemukan semua file di direktori
    • -printf "%[email protected] %p\n" mencetak baris untuk setiap file di mana %[email protected] adalah detik mengambang sejak zaman 1970 dan %p adalah path nama file dan \n adalah karakter baris baru
    • untuk info lebih lanjut lihat man find
  • | adalah shell pipe (lihat man bash bagian di Pipelines )
  • sort -n berarti mengurutkan pada kolom pertama dan memperlakukan token sebagai numerik, bukan leksikografis (lihat man sort )
  • cut -d' ' -f 2- berarti membagi setiap baris menggunakan karakter dan kemudian mencetak semua token mulai dari token kedua (lihat man cut )
    • CATATAN:-f 2 hanya akan mencetak token kedua
  • tail -n 1 artinya mencetak baris terakhir (lihat man tail )

ls -Art | tail -n 1

Ini akan mengembalikan file atau direktori yang dimodifikasi terbaru. Tidak terlalu elegan, tetapi berhasil.

Bendera yang digunakan:

-A daftar semua file kecuali . dan ..

-r urutan terbalik saat menyortir

-t urutkan berdasarkan waktu, terbaru dulu


ls -t | head -n1

Perintah ini sebenarnya memberikan file atau direktori terbaru yang dimodifikasi di direktori kerja saat ini.


Linux
  1. Linux – Bagaimana Cara Memeriksa Informasi Struktur Direktori File Unix/linux?

  2. Lembar contekan Izin File/Direktori Linux

  3. Dapatkan waktu pembuatan file dengan Python di linux

  1. Temukan file lalu cd ke direktori itu di Linux

  2. Bagaimana cara mendapatkan direktori absolut dari sebuah file di bash?

  3. less (linux) get/go-to X offset dalam file

  1. Linux – Semuanya Adalah File?

  2. Dapatkan Tanggal Modifikasi File Terakhir di Linux

  3. Bagaimana cara mendapatkan ukuran fisik file di Linux?