Najlepsze, co mogłem znaleźć przez Google / man ls
to:
ls -l | grep -v '^total'
Czy jest coś, czego brakuje mi na flagach ls
?
Ponadto, dlaczego całkowity rozmiar w kb, niezależnie od flagi -h? podrap to, jak się wydaje, nie jestem pewien, co wtedy widziałem.
ls -l | tail -n+2
, na resztę nie mam odpowiedzi.lsl
. Tylko 3 litery;) oh i ls -lh pokazuje mi rozmiary w stylu 1,2K.Odpowiedzi:
Przeglądając kod źródłowy
coreutils
, dowiedziałem się, żetotal
zawsze będzie wyświetlany przy korzystaniu z-l
opcji w katalogach .Korzystanie z
-d
opcji wyświetlania pozycji zamiast zawartości katalogu ukrywatotal
. Ale jeśli uruchomisz to bez argumentów (lub w katalogu), po prostu pokaże katalog, a nie jego zawartość. Dlatego potrzebujesz symboli wieloznacznych.*
dopasowuje wszystkie pliki i.*
dopasowuje również ukryte pliki (co odpowiada-a
opcji):Jeśli chodzi o
-h
opcję, to działa dla mnie. 1118360 bajtów pojawia się jako 1,1M. Pliki mniejsze niż 1024 są wyświetlane w bajtach.źródło
ls
stronę podręcznika do litery lub rozważyć to:ls /
może być interpretowane jako „wyświetl wpis,/
jeśli jest to plik lub zawartość katalogu,/
jeśli jest to katalog”. Użycie-d
usuwa ostatni warunek i zawsze spowoduje wydrukowanie wpisu zamiast zawartości katalogu. Ma to zastosowanie bez względu na to, czy ścieżka jest plikiem czy katalogiem.Używanie symboli wieloznacznych w celu uniknięcia
ls
uruchamiania listy katalogów jest nieoptymalne, ponieważ uniemożliwia korzystanie zls
opcji takich jak--almost-all
.Podobnie jak sugestia Enzotiba , najprostszym sposobem na usunięcie go jest przepuszczenie go w
tail
celu odcięcia pierwszego wiersza.ls
Wykryje jednak, że jego wyjście jest potokiem, a nie interaktywnym, i niechcianie zmieni ustawienia domyślne. Dlatego, aby był niezawodny, należy również dodać kilka opcji:--color=always
: pokazuj kolory--hide-control-chars
: drukuj?
w nazwach plików zamiast znaków sterujących, które mogłyby zepsuć dane wyjściowe konsoliMam skrypt
~/bin/l
(możesz także użyć aliasu Bash w~/.bash_aliases
):Możesz także
ls
domyślnie dodać dowolne inne opcje, np--group-directories-first --time-style='+%FT%T.%N%:::z' --indicator-style=slash
.źródło
ls -l *
Da ci zawartość folderu „normalnie nazwanego” bez
total
. To może być odpowiednie dla twoich potrzeb. Niestety nie da cidot
plików z prefiksem. Jeśli użyjeszls -l * .*
, dostaniesz bałagan, ponieważ linux będzie nawigował w górę drzewa.Uwaga: przedrostek kropki może oznaczać folder lub symbol wieloznaczny oznacza powyższy folder, więc nie pomaga w wybieraniu zwykłych plików z kropką. To wydaje się być niefortunną decyzją projektową.
źródło
Uwaga:
Poniższe nie działa, jeśli masz plik o nazwie „total ....”
źródło