ls
Z Wikipedii
ls - program komputerowy, który po jego użyciu spowoduje wypisanie w postaci listy zawartości danego katalogu. Dodany z dodatkowymi parametrami pokazuje również informacje o pliku, w tym kto ma do niego dostęp, kiedy powstał etc.
Spis treści |
[edytuj] Przykłady użycia
- $ ls /home/user/Muzyka - wylistuje nam wszystkie pliki jakie znajdują się w katalogu
/home/user/Muzyka
. - $ ls /home/user/Muzyka > Muzyka.txt - zawartość naszego katalogu zostanie zapisana w pliku 'Muzyka.txt'.
[edytuj] Opis
dir i vdir są wersjami ls o różnych domyślnych formatach wyjściowych. Polecenia te wyświetlają informację o plikach (dowolnego typu, łącznie z katalogami). Opcje i argumenty określające pliki mogą być używane w dowolnej kolejności.
Dla nieopcyjnych argumentów wiersza poleceń określających katalogi domyślnie ls podaje zawartość katalogów, bez pod katalogów i z pominięciem plików o nazwach rozpoczynających się kropką. Dla innych argumentów, nie stanowiących opcji ls wyświetla jedynie nazwę pliku. Jeżeli nie podano innych niż opcje argumentów, to wyświetlana jest zawartość bieżącego katalogu.
Domyślnie wyniki są sortowane alfabetycznie. Jeżeli standardowym wyjściem jest terminal to wyniki wyświetlane są w szpaltach (kolumnach) posortowanych pionowo a znaki kontrolne wyprowadzane są jako znaki zapytania; w innym wypadku są listowane jeden na wiersz a znaki kontrolne wyprowadzane są bez zmian. W dir pliki domyślnie są wyświetlane w kolumnach, posortowanych pionowo. W vdir pliki są domyślnie listowane w długim formacie.
[edytuj] Opcje
Ponieważ ls jest programem podstawowym, to w ciągu wielu lat zgromadził mnóstwo opcji. Opisane są one w podsekcjach grupujących opcje dotyczące różnych aspektów pracy ls. Podział ten nie jest sztywny, gdyż niektóre z nich mają wpływ na więcej niż jeden aspekt działania ls.
1. Jakie pliki są wyświetlane - opcje te określają, dla których plików ls będzie wyświetlać informacje. Domyślnie wyświetlane są wszystkie pliki i zawartości katalogów podanych w wierszu poleceń (z wyjątkiem rozpoczynających się kropką, chyba że jawnie podano je jako argumenty).
-a, --all Listuj również pliki zaczynające się od `.' wyświetlane.
-A, --almost-all Listuj wszystkie pliki w katalogach, poza `.' i nie listuj plików, które kończą się na `~', chyba że podano je w wierszu poleceń. Są to zwyczajowo pliki kopii zapasowych.
-d, --directory Drukuj tylko nazwy katalogów, tak jak innych plików, zamiast wyświetlać ich zawartość.
-I wzorzec, --ignore=wzorzec Nie listuj plików, których nazwy odpowiadają wzorcowi powłokowemu (nie wyrażeniu regularnemu) wzorzec chyba, że podano je w wierszu poleceń. Podobnie jak w powłoce, `.' na początku nazwy pliku nie oznacza znaku uogólnienia na początku wzorca. Czasami przydaje się kilkakrotne podanie tej opcji. Na przykład: $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'
Pierwsza z opcji pomija nazwy o długości 3 lub więcej znaków rozpoczynające się od `.', druga pomija wszystkie dwuznakowe nazwy rozpoczynające się od `.' z wyjątkiem `..', a trzecia pomija nazwy rozpoczynające się od `#'.
-L, --dereference W długim formacie wyświetlania pokaż dane (czasy, prawa) dotyczące plików wskazywanych przez dowiązania symboliczne, zamiast danych samych dowiązań.
-R, --recursive Listuj rekurencyjnie zawartości wszystkich katalogów (czyli wyświetla również podkatalogi).
2. Jaka informacja jest wyświetlana - opcje te wpływają na to, jaką informację wyświetla ls. Domyślnie pokazywane są tylko nazwy plików. -D, --dired Przy użyciu "długiego" formatu (-l) podaje dodatkowy wiersz po wyświetleniu głównych informacji: //DIRED// POCZ1 KON1 POCZ2 KON2 ... POCZN i KONN są liczbami całkowitymi bez znaku (unsigned integer), opisującymi pozycję w bajtach początku i końca każdej nazwy pliku w wyświetlonej liście. Ułatwia to Emacsowi odnalezienie nazw plików, nawet jeśli zawierają nietypowe znaki, jak spacje czy znaki nowej linii, bez potrzeby udziwnionego wyszukiwania.
-G, --no-group Nie wyświetlaj informacji o grupie w listingu katalogu długiego formatu. (Jest to domyślne zachowanie niektórych wersji polecenia ls innych niż wersje GNU, więc opcja ta została dodana z uwagi na zgodność.)
-i, --inode Wydrukuj numer indeksowy (numer i-węzła, numer seryjny) każdego pliku po lewej stronie jego nazwy. (Numer ten jednoznacznie identyfikuje plik w ramach danego systemu plików.)
-l, --format=long, --format=verbose Oprócz nazwy każdego pliku, wydrukuj jego typ, prawa, liczbę dowiązań twardych, właściciela, grupę, rozmiar w bajtach i timestamp (czas modyfikacji, chyba że wybrano inne czasy). Dla plików z czasem, który jest wysunięty więcej niż 6 miesięcy w przeszłość lub 1 godzinę w przyszłość, timestamp zawiera określenie roku zamiast godziny. Zawartość każdego wyświetlanego katalogu poprzedzana jest wierszem z napisem `total BLOKÓW', gdzie BLOKI są całkowitą przestrzenią dysku zajmowaną przez wszystkie pliki w tym katalogu. Domyślnie używane są obecnie bloki 1024-bajtowe, ale można to zmienić. BLOKI zliczane są osobno dla każdego dowiązania twardego; jest to usterka dyskusyjna. Uprawnienia wyświetlane są w sposób zbliżony do specyfikacji trybu symbolicznego (zobacz `Tryby symboliczne' w podręczniku fileutils(1)). Jednakże ls łączy wiele bitów na trzecim znaku każdej z grup praw. Znaki te ustalane są według następujących reguł:
s Jeżeli ustawione są bity SETUID lub SETGID oraz odpowiedni bit wykonywalności.
S Jeżeli ustawione są bity SETUID lub SETGID, ale odpowiedni bit wykonywalności nie jest lepkości (sticky bit) i bit wykonywania dla innych użytkowników.
T Jeżeli ustawiony jest bit lepkości, ale nie jest ustawiony bit wykonywania dla innych użytkowników.
x Bit prawa wykonywania jest ustawiony, ale nie zachodzi żadna z powyższych sytuacji.
- W pozostałych przypadkach.
-o Użyj długiego formatu wyświetlania, ale nie wyświetlaj informacji o grupie. Równoważne użyciu opcji --format=long wraz z opcją --no-group. Opcja zapewniana dla celów zgodności z innymi wersjami ls.
-s, --size Drukuj zajętość dysku przez każdy plik z lewej strony jego nazwy. Jest to wielkość przestrzeni dyskowej zużytej przez plik, co zwykle wynosi nieco więcej niż rozmiar pliku, ale może to być również mniej, jeśli plik ma dziury. Zwykle zajętość dysku drukowana jest w jednostkach 1024-bajtowych, może to być jednak zmienione.
3. Sortowanie wyników -
-c, --time=ctime, --time=status Jeżeli używany jest długi format wyświetlania (np. -l, -o), drukuj drukuj czas zmiany statusu (ctime i-węzła) zamiast czasu modyfikacji. Przy jawnym sortowaniu według czasu (--sort=time lub -t) lub jeśli nie jest używany długi format, sortuj zawartość katalogu według według czasu zmiany statusu plików.
-f Przede wszystkim, jak -U -- nie sortuj zawartości katalogów. Podaj je w takiej kolejności, w jakiej są zapisane w katalogu. Ale również włącza opcję -a (listuj wszystkie pliki) a wyłącza -l, -s, i --color (jeśli zostały podane przed -f). Sortuj zawartość katalogu w odwróconym porządku (tzn. w odwrotnej kolejności alfabetycznej, najpierw najmłodsze, najpierw najmniejsze itp., w zależności od podstawowej metody sortowania).
-S, --sort=size Sortuj zawartość katalogu według rozmiaru pliku, zamiast sortowania alfabetycznego. Największe pliki wyświetlane będą na początku.
-t, --sort=time Sortuj zawartość katalogów według czasu modyfikacji (mtime i-węzła), zamiast sortowania alfabetycznego. Najnowsze pliki są pierwsze.
-u, --time=atime, --time=access, --time=use Jeżeli używany jest długi format wyświetlania (np. --format=long), drukuj drukuj czas ostatniego dostępu do pliku (atime i-węzła). Przy jawnym sortowaniu według czasu (--sort=time lub -t) lub jeśli nie jest używany długi format, sortuj zawartość katalogu według według czasu dostępu do plików.
-U, --sort=none Nie sortuj zawartości katalogów; listuj je w takim porządku, w jakim są zapisane na dysku. (Nie wykonuj żadnych innych, nie mających związku rzeczy, jakie robi -f.) Opcja ta nie jest nazwana -f ponieważ uniksowy ls -f włącza -a i wyłącza -l, -s i -t. Wydaje się bezużytecznym i brzydkim grupowanie niezwiązanych rzeczy naraz w jednej opcji. Skoro ta opcja tego nie robi, ma inną nazwę. Szczególnie przydatna przy listowaniu obszernych katalogów, gdyż brak sortowania znacznie przyspiesza otrzy manie wyniku.
-v, --sort=version Sortuj według nazwy i numeru wersji, najpierw o najmniejszym numerze. Zachowuje się podobnie jak domyślne sortowanie, z wyjątkiem tego, że każda sekwencja cyfr dziesiętnych traktowana jest numerycznie jako indeks/numer wersji.
-X, --sort=extension Sortuj zawartość katalogów alfabetycznie według rozszerzeń plików (znaki po ostatniej kropce); pliki bez rozszerzenia są sortowane jako pierwsze.
4. Ls w kolorze
Gdy używa się opcji --color, obecna wersja ls pokoloruje nazwy plików odpowiednio do nazwy i typu pliku. Domyślnie ta koloryzacja zależy tylko od typu pliku, a użyte kody są zgodne z ISO 6429 (ANSI). Możesz unieważnić domyślne kolory przez zdefiniowanie zmiennej środowiskowej LS_COLORS (lub LS_COLOURS). Format tej zmiennej jest podobny do formatu pliku termcap(5): oddzielona dwukropkami lista wyrażeń w formie "xx=napis", gdzie "xx" jest dwuznakową nazwą zmiennej. Zmienne wraz z towarzyszącymi im wartościami domyślnymi to:
no 0 Normalny tekst (nie nazwy pliku) fi 0 Normalny plik di 32 Katalog ln 36 Dowiązanie symboliczne pi 31 Nazwany potok (FIFO) so 33 Gniazdo bd 44;37 Urządzenie blokowe cd 44;37 Urządzenie znakowe ex 35 Plik wykonywalny mi (none) Brakujący plik (domyślnie jak fi) or (none) Osierocone dowiązanie symboliczne (domyślnie jak ln) lc \e[ Kod lewa rc m Kod prawa ec (none) Kod końca (End code) (zastępuje lc+no+rc)
Musisz tylko włączyć zmienne, które chcesz zmienić z wartości domyślnych. Nazwy plików mogą być też kolorowane według rozszerzeń plików. Jest to określone w zmiennej LS_COLORS wg składni "*rozszerzenie=napis". Na przykład, używając kodów ISO wszystkie pliki kończące się na .c na niebiesko.
Znaki kontrolne mogą być pisane zarówno w notacji w stylu C (notacja \-eskejpowa) jaki i w ^-notacji typu stty. Notacja C dodaje dla Escape \e, \_ dla normalnej spacji, a \? dla Delete. Dodatkowo, znak \ może zostać użyty do przeciążania domyślnej interpretacji \, ^, :, =. Każdy plik będzie wypisany jako <lc> <kod koloru> <rc> <nazwa pliku> <ec>. Jeśli kod <ec> jest niezdefiniowany, użyta zostanie sekwencja <lc> <no> <rc>. Jest to generalnie bardziej przekonujące w użyciu, lecz mniej ogólne. Kody lewo, prawo i końca są udostępniane, abyś nie musiał wypisywać wciąż wspólnych elementów i aby wspierać dziwne terminale; ogólnie zwykle nie chcesz ich zmienić w ogóle, chyba, że twój terminal nie używa sekwencji ISO 6429, a innego systemu.
Jeśli twój terminal korzysta z kodów kolorów ISO 6429, możesz składać rodzaje kodów (np. wszystkich poza lc, rc, i ec ) z numerycznych komend oddzielonych średnikami. Najpopularniejszymi komendami są:
0 Odtwórz domyślny kolor 1 Rozjaśnij kolor 4 Podkreśl tekst 5 Migaj tekstem 30 Czarny kolor 31 Czerwony kolor 32 Zielony kolor 33 Żółty (lub brązowy) kolor 34 Niebieski kolor 35 Purpurowy kolor 36 Cyjankowy kolor 37 Biały (lub szary) kolor 40 Czarny kolor tła 41 Czerwony kolor tła 42 Zielony kolor tła 43 Żółty (lub brązowy) kolor tła 44 Niebieski kolor tła 45 Purpurowy kolor tła 46 Cyjankowy kolor tła 47 Biały (lub szary) kolor tła
[edytuj] Linki zewnętrzne
- podręcznika dyskowego systemu Linux w serwisie usr-share-man.org – Strona
Zarządzanie plikami i systemem plików: | cat • cd • chattr • chmod • chown • chgrp • cp • du • df • file • fsck • ln • ls • lsof • mkdir • more • mount • mv • pwd • rcp • rm • rmdir • split • touch • tree | ||
Zarządzanie procesami | anacron • at • chroot • cron • crontab • htop • kill • killall • nice • ps • sleep • screen • time • timex • top • renice • wait • watch | ||
Zarządzanie użytkownikami/systemem | env • finger • id • locale • mesg • passwd • su • sudo • uname • uptime • w • wall • who • write | ||
Przetwarzanie tekstu | awk • cut • diff • ex • head • iconv • join • less • more • nkf • paste • sed • sort • tail • tr • uniq • wc • xargs • perl | ||
Programowanie shellowe | echo • expr • unset | Drukowanie | lp |
Komunikacja inetd • netstat • ping • rlogin • traceroute |
Wyszukiwanie find • grep • strings • whereis |
Różne banner • bc • cal • man • yes |