Jawaban:
Kamu bisa memakai:
ls -Rt
dimana -Rberarti rekursif (termasuk subdirektori) dan -tberarti "urutkan berdasarkan tanggal modifikasi terakhir".
Untuk melihat daftar file yang diurutkan berdasarkan tanggal diubah, gunakan:
ls -l -Rt
Alias juga dapat dibuat untuk mencapai ini:
alias lt='ls -lht'
lt
Dimana -hmemberikan keluaran yang lebih mudah dibaca.
ls -lrt[RhA]. yang -rmembalikkan urutan, meninggalkan barang-barang baru diedit di bagian bawah daftar ...
-ilamemberi Anda hampir semua informasi yang Anda perlukan. $ ls -ilaRt
ll -Rtadalah solusi sempurna bagi saya karena saya perlu melihat file berdasarkan tanggal yang terakhir diubah. Ini mungkin berguna untuk orang lain.
lltidak ada dan bukan perintah. Ini sebagian besar merupakan alias di bash shell, tetapi tidak didefinisikan di sebagian besar / some /? distribusi linux. Beberapa mendefinisikannya sebagai alias ll='ls -l'di /etc/bash.bashrc atau /etc/.bashrc. Dengan demikian itu mungkin tidak berfungsi dan mungkin tidak ada pada sistem OPs. Gunakan ls -l -Rtsetidaknya, seperti lsperintah standar seperti yang didefinisikan oleh posix. Atau sebutkan maksud Anda alias ll='ls -l'; ll -Rt.
Jika Anda menginginkan daftar master tempat semua file diurutkan berdasarkan tanggal modifikasi, menampilkan direktori tempatnya berada, tetapi tidak dikelompokkan berdasarkan direktori , Anda dapat menggunakan ini:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
Hasilnya sangat mirip ls -l:
-rw-r - r-- 1 root root 3892 08/11/2009 11:03:36 /usr/share/man/man1/xmllint.1.gz -rw-r - r-- 1 root root 22946 13/08/2009 11:59:20 /usr/share/man/man1/curl.1.gz -rw-r - r-- 1 root root 728 17/08/2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz -rw-r - r-- 1 root root 873 08/18/2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz -rw-r - r-- 1 root root 2552 08/19/2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz -rw-r - r-- 1 root root 9546 19/08/2009 02:02:00 /usr/share/man/man1/pidgin.1.gz -rw-r - r-- 1 root root 2201 19/08/2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz -rw-r - r-- 1 root root 926 19/08/2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz -rw-r - r-- 1 root root 18052 19/08/2009 04:11:47 /usr/share/man/man1/mono.1.gz -rw-r - r-- 1 root root 1845 19/08/2009 04:11:47 /usr/share/man/man5/mono-config.5.gz
Bagi Anda yang menggunakan Mac OS X, opsi -printf tidak tersedia di BSD find (Anda akan mendapatkan kesalahan ini :)find: -printf: unknown primary or operator . Untungnya Anda dapat menginstal GNU melalui Homebrew (seharusnya ada opsi untuk Fink dan Macports juga):
brew install findutils
Setelah menginstalnya GNU find akan tersedia untuk Anda sebagai file gfind. Jadi, yang perlu Anda lakukan hanyalah mengubah baris di atas menjadi:
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
findpenulis, argumen tersebut -printfadalah arahan format yang dapat ditemukan di man find(cari contoh kelima printfdi halaman itu).
find . -type f -print0 | xargs -0 stat -f "%m %Sp %l %-8Su %-8Sg %8z %Sm %N" | sort | cut -f 2- -d' 'akan memberi Anda output yang kira-kira sama di MacOS hanya dengan menggunakan utilitas
sort -runtuk membalikkan penyortiran dan memiliki file yang paling baru diubah di atas.
MAC OSX 2019
Jika Anda tidak peduli tentang jam berapa itu dibuat tetapi Anda ingin daftar Anda diurutkan, gunakan perintah ini
==> ls -t
Jika Anda ingin memesan dan melihat tanggal dan info pengguna gunakan perintah ini
===> ls -lt
Untuk zshpengguna, Anda juga bisa menggunakan qualifier glob (juga didokumentasikan di man zshexpn):
echo *(om)
Di mana osingkatan dari sort order, up dan msingkatan dari waktu modifikasi terakhir .
Ini dapat berguna ketika digunakan dalam for loop atau perintah lain:
for file in *(^om); do
[ -e "$file" ] || continue
# do something with file orderer from least recently modified to last modified
done
Atau dirantai dengan kualifikasi glob lainnya:
last_modified_file=(*(om[1]))