Ich arbeite an einem Red Hat Server. Die Befehle ls -l
oder ll
gib mir das Datum und die Uhrzeit im Format +"%b %-d %H:%M"
.
Ich möchte die Dateien so auflisten, dass das Jahr, in dem jede Datei erstellt wurde, innerhalb des Datums erscheint.
Wie ist das möglich?
linux
shell-script
date
WAEL
quelle
quelle
ls -lT
is for mac osxls
hat Unix im Allgemeinen keine Möglichkeit, sie anzuzeigen. Das ist also im Allgemeinen unmöglich.Antworten:
Sie können verwenden
man ls
und hier finden Sie--time-style
Parameter. Oder Sie können verwenden:ls --full-time
.quelle
ls -l --time-style=+%F
ll
alsls -la
oder etwas anderes eingestellt haben,ll --full-time
funktioniert das auch.ls -l
wird Monat, Tag und Jahr anzeigen - da laut BSD-Manpage: Wenn die Änderungszeit der Datei in der Vergangenheit oder Zukunft mehr als 6 Monate beträgt, wird anstelle der Stunden- und Minutenfelder das Jahr der letzten Änderung angezeigt .Um sicherzustellen, dass das Jahr immer angezeigt wird, verwenden Sie:
ls --time-style=long-iso
(GNU / Linux)ls -lT
zeigt die vollständigen Zeitinformationen in BSD (MacOS) anquelle
Da Sie nach dem Jahr gefragt haben,
ls -lac
ist es leicht, sich daran zu erinnern, ob Sie wie ich diels -la
ganze Zeit verwenden. Dasc
gibt Ihnen die Uhrzeit, die ein Jahr anzeigt, wenn es nicht das aktuelle Jahr ist, oder die Stunde und Minute, wenn es ist.quelle
ls
bis dato geänderten anstatt des geänderten Standarddatums zu ändern .ls -l
Zeigt Datum und Uhrzeit für Daten in den letzten sechs Monaten sowie Datum und Jahr für andere Daten an. ctime kann in den letzten sechs Monaten genau so lang sein wie mtime (Änderungsdatum), alsols -lac
können die Zeiten (anstelle von Jahren) genau so lang sein wiels -la
möglich. Außerdem werden, wie Mateen Ulhaq betont,ls -lac
nicht die gleichen Daten angezeigt, die es auchls -la
gibt. Diese Antwort ist falsch.Zusätzlich zur Antwort von Jan Marek .... Ich habe bemerkt, dass Sie mit nur durchkommen können:
die das gleiche tun,
ls --full-time
wie er beschrieben hat. Danke Stéphane Chazelas. Jetzt tippe ichls --fu
überall. :)quelle
ls --fu
. Lange Optionen im GNU-Stil können abgekürzt werden, solange keine Mehrdeutigkeit--f
vorliegt ( würde nicht funktionieren, da es auch einen --Dateityp und ein --Format gibt). Beachten Sie, dass eine zukünftige Version möglicherweise eine einführt,--full-perms
sodass es gefährlich ist, sich darauf zu verlassen.Wenn Sie
busybox
(eingebettete Distributionen, z. B. OpenWRT, LEDE) verwenden, suchen Sie nach einem Switch-e
für Versionen bis 1.26.2 und--full-time
1.27.0 und höher (siehe das Commit, das ihn geändert hat ).quelle
-e
Funktioniert auch mit Solarisls
und Ast-Open, ist also näher an einem Standard als GNU--full-time
. Schade, dass busybox es in neueren Versionen beseitigt hat.kann lieblings:
quelle
-T
funktioniert die Option nicht mit GNUls
(auch nicht in POSIX angegeben). Wenn Sie Code als Antwort bereitstellen, ist es außerdem besser zu erklären, was die einzelnen Teile bewirken.