GNU/Linux >> LINUX-Kenntnisse >  >> Linux

/bin/ls sortiert anders als nur ls

In der sortierten farbigen Ausgabe ls|sort , können wir sehen, dass die letzte Zeile xyz-0.0.1-1554323568.rpm ist die erste Zeile der ungefärbten Ausgabe. Die anderen Zeilen werden gleich sortiert.

Wenn wir uns die farbigen Escape-Codes (unsortiert) ansehen, sehen wir, dass die erste Zeile mit einem anderen Escape-Code ^[[0m beginnt . Dies führt zu einer falschen Reihenfolge beim Sortieren (^[[01 vor ^[[0m ).

$ /bin/ls --color xyz* | cat -A
^[[0m^[[01;31mxyz-0.0.1-1554323568.rpm^[[0m$
^[[01;31mxyz-0.0.1-1554490900.rpm^[[0m$
^[[01;31mxyz-0.0.1-1554745305.rpm^[[0m$
^[[01;31mxyz-0.0.1-1554751021.rpm^[[0m$
^[[01;31mxyz-0.0.1-1555513460.rpm^[[0m$
^[[01;31mxyz-0.0.1-1555951745.rpm^[[0m$

Tun:

/bin/ls --color > file1
/bin/ls > file2

und Inhalte vergleichen, Sie werden den Unterschied sehen.

Aliasing ls bis /bin/ls --color=auto ist wahrscheinlich die bessere Idee, es wird ls stoppen von der Verwendung von Farbcodes, wenn nicht direkt auf das Terminal geschrieben wird (z. B. beim Weiterleiten zum nächsten Programm oder beim Schreiben in eine Datei).


Linux
  1. Grafische Diagramme können in RT nicht generiert werden [Lösung]

  2. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  3. /usr/bin/ls:/usr/bin/ls:Binärdatei kann nicht ausgeführt werden?

  4. Warum zeigt /bin/sh auf /bin/dash und nicht auf /bin/bash?

  5. ./configure :/bin/sh^M :schlechter Interpreter

cmake --version zeigt auf /usr/bin/cmake, während cmake auf /usr/local/bin zeigt

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

Wann muss ich #!/bin/bash und wann #!/bin/sh verwenden?

/bin Inhalt nach /usr/bin verschoben, rückgängig machen möglich?

Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?

#!/bin/sh vs. #!/bin/bash für maximale Portabilität