Начини на плащане Abuse

Командата more в Linux

26.11.2021, 20:00

Помощната програма more е подходяща за преглед на файлове страница по страница в терминала на Linux. Тя дължи името си на more, което се появява в долната част на всяка страница. Командата more linux е една от най-примитивните команди за работа с текст. Нейната най-близка роднина, командата less, има много по-голям набор от опции и допълнителни функции. Нека разгледаме нейния синтаксис и примери за използването ѝ.

Синтаксис, опции

В терминалния емулатор на Linux командата се записва по следния начин:

$ more options_file

Списък на опциите на командата:

  • -d - извеждане на информация в края на страницата за клавишите, използвани за продължаване, приключване или получаване на инструкции;
  • -l - игнорира символа за прекъсване на страницата в текста;
  • -f - отчитане на броя на логическите редове вместо на редовете на екрана;
  • -p - изчистване на екрана на терминала, така че на потребителя да не се налага да превърта, преди да се покаже следващата част от текста;
  • -c - премахване на нуждата от превъртане (както при -p) - извеждане на текста от горната част на екрана и изтриване на предишния изход ред по ред;
  • -s - заменя няколко празни реда в ред с един празен ред;
  • -u - изтриване на подчертаването;
  • -n - извеждане на n-тия брой редове;
  • +n - извеждане на текст, започващ от реда с номер n;
  • +/leght - търсене на посочения ред във файла и започване на извеждането на текста от него;
  • --help - извикване на помощ;
  • -v (--version ) - показва текущата версия на програмата.

Командата more има също така свои бързи клавиши и интерактивни команди:

  • h (?) - помощ (показва информация само за интерактивни команди);
  • SPACE - извеждане на следващата част от текста (по подразбиране броят на редовете зависи от текущия размер на терминалния прозорец);
  • z - същото като SPACE;
  • ENTER - извеждане на текст ред по ред (стъпка на командата - един ред);
  • d (^D ) - превъртане на текста с броя редове, съответстващ на размера на терминала;
  • q (Q) - излизане от помощната програма;
  • s - преместване с един ред напред;
  • f - преместване на една страница на екрана напред;
  • b (^B ) - връщане с една страница назад;
  • ' - връщане на мястото, където е започнало търсенето;
  • = - показва текущия брой редове;
  • /pattern - търсене чрез регулярни изрази;
  • n - търсене на думи и фрази, съответстващи на последния използван регулярен израз;
  • !command (:command) - изпълнение на команда в подпрограма;
  • v - отваряне на файла в текстовия редактор, определен по подразбиране, а ако не е намерен такъв, се използва конзолният текстов редактор за отваряне на файла;
  • ^L - изтрива от екрана всичко освен съдържанието на файла;
  • :n - преминаване към следващия файл;
  • :p - преминаване към предишния файл;
  • :f - извежда името на текущия файл и броя на редовете в него;
  • . - повтаря изпълнението на предишната команда.

Как да използвате

За да се прегледа текст от даден файл, се използва командата:

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

Можете също така да изброите няколко имена на файлове едно след друго в командата, като ги разделите с интервал. Съдържанието на тези файлове ще бъде показано в същия ред.

Пример:

$ more abc1.txt dfg2.txt

Ако даден файл не се намира в текущата директория, трябва да посочите пълния му адрес.

Понякога е необходимо да се покаже не целият текст, а само част от него. За такива случаи са предвидени опциите - (минус) и + (плюс), до които се задава броят на редовете. Например, за да се види съдържанието на файл, започващо от 8-ия ред, към командата трябва да се добави опцията +8, а за да може командата да покаже резултат, състоящ се от максимум 5 реда, трябва да се добави опцията -5:

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

По подразбиране командата more Linux брои за ред точно реда на екрана - броят на символите, които се побират в един ред по ширината на прозореца. За да се извърши броене в логически редове (при въвеждане те се разделят чрез натискане на Enter), се използва опцията -f.

Пример:

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

more може да обработва не само текстови файлове - изходът на други команди може да бъде пренасочен към него (pipelining). Първата е основната команда, а втората е more с необходимите опции. Командите задължително се разделят с вертикална линия.

Пример:

$ locate bin | more -10

Когато дадена команда е извела част от текста и е в покой в очакване на по-нататъшни действия на потребителя, могат да се изпълняват интерактивни команди. Те са необходими за управление на извеждането.

За да разберете номера на текущия ред, трябва да натиснете клавиша =, а за да прегледате файла в текстов редактор, трябва да натиснете клавиша v.

Обърнете внимание, че не всички команди могат да се изпълняват, ако изходът на друга команда е пренасочен към помощната програма. Отварянето на текстов редактор, както и връщането с една страница назад (b или ^B) работи само при разглеждане на текстови файлове.

За да получите списък на всички интерактивни команди, натиснете клавиша h.