LS_COLORS
zmienna środowiskowa pozwala decydować o kolorach dla różnych typów plików dla polecenia GNU coreutil ls
, takich jak katalogi, zwykłe pliki, linki itp. Przypuszczam, że pliki kropkowe są uważane za odmianę typów plików Linux, a nie jako typ sam w sobie brak opcji określania dla nich koloru wyświetlacza.
Czy jest jakiś (inny) sposób, w jaki możesz ls
wyświetlać ukryte pliki w innym kolorze?
LS_COLORS
. Nie mogłem wymyślić, jak sprawić, by działał dla plików dot, ale możesz to sprawdzić.*.hide
na przykład. Ta odpowiedź rozwiązuje podobny problem dla katalogów, chociaż odpowiedzi na to pytanie i problem z katalogiem prawdopodobnie nie są takie same.Odpowiedzi:
Jeśli sortujesz tylko według nazwy, może to pomóc:
Jednak dzieli polecenie ls na dwie części, jedną dla ukrytych plików i folderów, drugą dla pozostałych.
źródło
Tak, użyj
cf
. Właśnie wydałem dobrze udokumentowaną wersję, która konkretnie koloruje dane wyjściowe dla każdego rozszerzenia pliku i / lub niektórych specjalnych atrybutów (plik wykonywalny, linki, ukryte i katalogi). Spróbuj!!! Trudno porzucić to, gdy się przyzwyczaisz.https://github.com/AdamDanischewski/cf
źródło
Jeśli chcesz podświetlić ukryte pliki (i foldery) i nie zależy ci na kolorowaniu wszystkich innych plików, oczywistym podejściem jest uruchomienie
ls -la | grep -E "^| \.[^/|'.].*"
Jeśli chcesz zachować inne kolory, sprawy stają się trudne, ponieważ
$LS_COLORS
natywnie nie obsługuje kolorowania ukrytych plików, jak się wydaje.Wpadłem na pomysł, aby dynamicznie dołączyć ukryte pliki bieżącego katalogu do
$LS_COLORS
zmiennej środowiskowej jako pseudo rozszerzenie, a następnie wykonać, a następnie uruchomićls -la
,dircolors
aby zresetować oryginalny schemat kolorów. Oczywiście wystąpi konflikt, jeśli ukryty plik ma taką samą nazwę jak znane rozszerzenie. Również ta metoda nie działa z ukrytymi folderami.Ostrzeżenie: To rozwiązanie to (niezbyt dokładnie przetestowany) hack. Używaj go na własne ryzyko.
for h in $(ls -A | grep "^\."); do LS_COLORS="$LS_COLORS*$h=04;05:"; done; ls -la; eval $(dircolors)
źródło