Pracuję na serwerze Red Hat. Polecenia ls -l
lub ll
podanie mi daty i godziny w formacie +"%b %-d %H:%M"
.
Chcę wyświetlić listę plików w taki sposób, aby rok, w którym utworzono każdy plik, pojawiał się w terminie.
Jak to możliwe?
linux
shell-script
date
WAEL
źródło
źródło
ls -lT
jest dla Mac OSXls
zazwyczaj nie ma sposobu na ich wyświetlenie. Ogólnie rzecz biorąc, jest to niemożliwe.Odpowiedzi:
Możesz użyć
man ls
i tutaj możesz znaleźć--time-style
parametr. Lub możesz użyć:ls --full-time
.źródło
ls -l --time-style=+%F
ll
ustawili jakols -la
lub coś innego,ll --full-time
również pracuj.ls -l
wyświetli miesiąc dzień i rok - ponieważ , zgodnie ze stroną podręcznika BSD: jeśli czas modyfikacji pliku w przeszłości lub w przyszłości był dłuższy niż 6 miesięcy, zamiast pól godziny i minuty wyświetlany jest rok ostatniej modyfikacji .Aby mieć pewność, że rok będzie zawsze wyświetlany, użyj:
ls --time-style=long-iso
(GNU / Linux)ls -lT
wyświetli wyświetlanie pełnych informacji o czasie w BSD (MacOS)źródło
Ponieważ prosiłeś o rok,
ls -lac
łatwo jest zapamiętać, czy, podobnie jak ja, używaszls -la
cały czas.c
Daje ctime które będą wyświetlane na rok, jeżeli nie jest to bieżący rok lub godziny i minuty, jeśli jest.źródło
ls
się daty zmieniły zamiast domyślnej daty modyfikacji .ls -l
wyświetla datę i godzinę dla dat z ostatnich sześciu miesięcy oraz datę i rok dla innych dat. ctime może wynosić w ciągu ostatnich sześciu miesięcy tyle samo co mtime (data modyfikacji), więcls -lac
może wyświetlać czasy (zamiast lat) tyle, ilels -la
może. Poza tym, jak zauważa Mateen Ulhaq,ls -lac
nie wyświetla tych samych dat co onls -la
. Ta odpowiedź jest zła.Oprócz odpowiedzi Jana Marka .... Zauważyłem, że możesz uciec tylko:
który zrobi to samo, co
ls --full-time
opisał. Dzięki Stéphane Chazelas. Teraz piszęls --fu
wszędzie. :)źródło
ls --fu
. Długie opcje w stylu GNU można skracać, o ile nie ma dwuznaczności (--f
nie działałoby, ponieważ istnieją również - typ pliku i - format). Pamiętaj, że przyszła wersja może wprowadzić--full-perms
tak, więc poleganie na tym jest niebezpieczne.Jeśli używasz
busybox
(wbudowane dystrybucje, np. OpenWRT, LEDE), przełącznik, którego szukasz, dotyczy-e
wersji do 1.26.2 i--full-time
1.27.0 i nowszych (zobacz zatwierdzenie, które to zmieniło ).źródło
-e
współpracuje również z Solarisls
i ast-open's, więc w rzeczywistości jest bliższy standardowi niż GNU--full-time
. Szkoda, że busybox usunął go w nowszych wersjach.może ulubiony:
źródło
-T
opcja nie będzie działać z GNUls
(również nieokreślonym w POSIX). Podając kod jako odpowiedź, lepiej wyjaśnić, co robi każda jego część.