Das Problem ist nicht das more und less färben ihre Ausgabe nicht, es ist diese ls gibt die Farbe nicht aus, weil sie mit einem anderen Prozess als mit dem Terminal verbunden ist.
Sie können ls nicht einfach bekommen um schlauer zu sein, wenn es Farbe ausgibt, aber Sie können --color hinzufügen um es zu zwingen, Farbe auszugeben, wenn Sie es an more leiten
Wenn Sie eine Farbausgabe haben, verwenden Sie ... |less -R um less zu machen Übergeben Sie die Farben an das Terminal, anstatt die Escape-Codes als Text anzuzeigen
ls --color | less -r
Getestet auf Linux, GNU Userland.