Metody płatności Abuse

Polecenie more w systemie Linux

26.11.2021, 20:00

Narzędzie more jest odpowiednie do przeglądania plików strona po stronie w terminalu Linuksa. Swoją nazwę zawdzięcza poleceniu more, które pojawia się na dole każdej strony. Polecenie more linux jest jednym z najbardziej prymitywnych poleceń do pracy z tekstem. Jego najbliższy krewny, polecenie less, ma znacznie większy zestaw opcji i dodatkowych funkcji. Przyjrzyjmy się jego składni i przykładom użycia.

Składnia, opcje

W emulatorze terminala Linuksa polecenie jest zapisane w następujący sposób:

$ more options_file

Lista opcji polecenia:

  • -d - wyprowadzenie na koniec strony informacji o klawiszach użytych do kontynuowania, zakończenia lub odebrania instrukcji;
  • -l - ignorowanie znaku podziału strony w tekście;
  • -f - zliczanie liczby linii logicznych zamiast linii ekranu;
  • -p - wyczyszczenie ekranu terminala, aby użytkownik nie musiał przewijać przed wyświetleniem następnej porcji tekstu;
  • -c - eliminuje potrzebę przewijania (jak -p) - wyświetla tekst zaczynając od góry ekranu i kasuje poprzednie wyjście linia po linii;
  • -s - zastąpienie kilku pustych wierszy w rzędzie jednym pustym wierszem;
  • -u - usunięcie podkreślenia;
  • -n - wyświetlenie n-tej liczby wierszy;
  • +n - wyświetlanie tekstu począwszy od wiersza o numerze n;
  • +/leght - wyszukiwanie określonej linii w pliku i rozpoczęcie wyświetlania tekstu od niej;
  • --help - wywołanie pomocy;
  • -v (--version) - wyświetla aktualną wersję narzędzia.

Polecenie more posiada również własne skróty klawiszowe i polecenia interaktywne:

  • h (?) - pomoc (wyświetla tylko informacje o poleceniach interaktywnych);
  • SPACJA - wyświetla następną porcję tekstu (domyślnie liczba linii zależy od bieżącego rozmiaru okna terminala);
  • z - to samo co SPACJA;
  • ENTER - wyświetla tekst wiersz po wierszu (krok polecenia - jeden wiersz);
  • d (^D) - przewija tekst o liczbę linii odpowiadającą rozmiarowi terminala;
  • q (Q) - wyjście z narzędzia;
  • s - przesunięcie o jedną linię do przodu;
  • f - przejście o jedną stronę ekranu do przodu;
  • b (^B) - przejście o jedną stronę ekranu do tyłu;
  • ' - powrót do miejsca rozpoczęcia wyszukiwania;
  • = - wyświetla bieżącą liczbę wierszy;
  • /pattern - wyszukiwanie przy użyciu wyrażeń regularnych;
  • n - wyszukiwanie słów i fraz odpowiadających ostatnio użytemu wyrażeniu regularnemu;
  • !command (:command) - wykonanie polecenia w podpowłoce;
  • v - otwarcie pliku w domyślnie przypisanym edytorze tekstu, a jeśli żaden nie zostanie znaleziony, użycie edytora tekstu konsoli do otwarcia pliku;
  • ^L - usunięcie z ekranu wszystkiego poza zawartością pliku;
  • :n - przejście do następnego pliku;
  • :p - przejście do poprzedniego pliku;
  • :f - wyświetla nazwę bieżącego pliku i liczbę znajdujących się w nim linii;
  • . - powtórzenie wykonania poprzedniego polecenia.

Jak używać

Polecenie służy do wyświetlania tekstu z pliku:

$ more example-file-for-more-command.txt

W poleceniu można również wymienić kilka nazw plików jedna po drugiej, oddzielając je spacją. Zawartość tych plików zostanie wyświetlona w tej samej kolejności.

Przykład:

$ more abc1.txt dfg2.txt

Jeśli plik nie znajduje się w bieżącym katalogu, należy podać jego pełny adres.

Czasami konieczne jest wyświetlenie nie całego tekstu, ale tylko jego części. W takich przypadkach dostępne są opcje - (minus) i + (plus), obok których określana jest liczba linii. Przykładowo, aby zobaczyć zawartość pliku zaczynającego się od linii 8, do polecenia należy dodać opcję +8, a aby polecenie wyświetliło wynik składający się z maksymalnie 5 linii, należy dodać opcję -5:

$ more +8 -5 example-file-for-more-command.txt

Domyślnie polecenie more Linux liczy jako linię dokładnie linię ekranu - liczbę znaków, które mieszczą się w jednym wierszu na szerokość okna. Aby wykonać liczenie w ciągach logicznych (podczas wpisywania są one oddzielane naciśnięciem klawisza Enter), używana jest opcja -f.

Przykład:

$ more -f +8 -5 example-file-for-more-command.txt

more może obsługiwać nie tylko pliki tekstowe - wyjście innych poleceń może być do niego przekierowane (pipelining). Pierwsze polecenie to polecenie główne, drugie to more z wymaganymi opcjami. Polecenia są koniecznie oddzielone pionową linią.

Przykład:

$ locate bin | more -10

Gdy polecenie wypisało część tekstu i jest bezczynne, czekając na dalsze działania użytkownika, można wykonać polecenia interaktywne. Są one potrzebne do kontrolowania wyjścia.

Aby sprawdzić numer bieżącej linii, należy nacisnąć klawisz =, a aby wyświetlić plik w edytorze tekstu, należy nacisnąć klawisz v.

Należy pamiętać, że nie wszystkie polecenia mogą zostać wykonane, jeśli wyjście innego polecenia zostanie przekierowane do narzędzia. Otwarcie edytora tekstu, jak również cofnięcie się o jedną stronę (b lub ^B) działa tylko podczas przeglądania plików tekstowych.

Aby wyświetlić listę wszystkich interaktywnych poleceń, należy nacisnąć klawisz h.