Помощната програма 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.