Не менш просто більше?


45

Коли я це роблю more filenameі less filename, здавалося б, що отримані термінали досить схожі. Я можу переміщатися і шукати через мої файли однаково ( j, Space, /patternі т.д.).

Мені важко повірити, що lessце так moreі навпаки. Чи є різниці між ними?


36
lessє більше ніж more, більше чи менше, moreменше, ніж less. ;-)
Алан Хаггай Алаві

3
@AlanHaggaiAlavi - Це вже дуже звичний язик: D
Кент Павар,

3
@AlanHaggaiAlavi Це має бути відповіддю. :)
Tripp Kinetics

Це залежить від того, для чого використовується Unix. На деяких, lessі moreті ж виконувані, в той час як на інших вони відрізняються.
Kusalananda

Відповіді:


52

На сьогоднішній день різниця в основному є історичною, я вважаю, що деякі системи навіть є moreі lessжорстко пов'язані з тим самим бінарним.

Спочатку moreмайже все дозволило вам рухатись уперед по файлу, але було досить пристойним для буферизації виводу.

lessбуло написано як удосконалене, moreщо дозволило вам прокручувати відображений текст

Перший рядок моєї роботи man lessмайже підсумовує це:

Less is a program similar to more, but which allows backward 
movement in the file as well as forward movement. 

@jkerian: Пошук тексту та буферизація в стороні, чи можете ви показати практичний приклад, коли ці двоє відрізняються за рівнем виконання команд?
Заїд

14
Я не бачу, що це історично, я ніколи не бачив "більше", яке дозволило вам рухатись в обох напрямках. ви можете рухатись лише вперед більше. Історичним моментом було б те, що більше було написано раніше менше, що означає «побачити більше 1 сторінки», а менша назва команди - це більше жарту, менше - більше, а менше - менше, в основному кажучи, менше може зробити більше справ.
ксенотеррацид

1
У мене тут система Solaris 10, де moreдіють як старомодні more--- ви не можете перенести сторінку назад. І це PAGER за замовчуванням.
Зводить

1
Іншими словами, мене базували на FreeBSD (можливо, всі BSD?) ... оскільки ОС X базується на FreeBSD ... @ оболонка за замовчуванням штефана Соляріса без заповнення вкладки (увімкнена?) Мене звели з розуму.
ксенотеррацид

7
Більш-менш правильна відповідь.
інвертувати

25

lessце набагато більше, ніж more, наприклад, у вас набагато більше функціоналу:

g: перейти до верхньої частини файлу
G: перейти внизу файлу
/: пошук вперед
?: пошук назад
N: показати номер рядка
: перейти до лінії
F: схожий на хвіст -f, зупиніться на ctrl + c
S: розділені лінії

І більше не пам'ятаю ;-)


3
h: все, чого не пам’ятаєш;)
törzsmókus

9

Крім додаткових функцій, про які вже згадувалося less, він також має vкоманду, яка відкриває поточний файл у viтому самому положенні. Після виходу viви повернетесь lessіз показаним (можливо оновленим) файлом.


1
Коли moreце інтерактив, він також може починатися viнатисканням v.
Трубадур

4

Є кілька речей, які я постійно lessпрацюю, і які не працюють more(принаймні версії в системах, які я використовую. Один використовується Gдля переходу до кінця файлу та gдля початку. Це корисно для файлів журналів, коли ви шукаєте останні записи в кінці файлу. Іншим є пошук, де lessвиділяється збіг, при цьому moreпросто виводите вас до розділу файлу, де відбувається збіг, але не вкажіть, де це.


3

Менше має набагато більше функціональних можливостей.

Ви можете скористатися vпоточним $ EDITOR. Ви можете перейти в режим хвоста -f f, а також всі інші поради, що пропонуються інші.


3

У Ubuntu все ще є чіткі менше / більше бункерів. Принаймні, моє, або moreкоманда посилає різні аргументи на менші.

У будь-якому випадку, щоб побачити різницю, знайдіть файл, який має більше рядків, ніж ви можете побачити свого часу у своєму терміналі. Введіть cat, а потім ім'я файлу. Це просто скине весь файл. Введіть more, а потім ім'я файлу. Якщо на ubuntu, або принаймні моїй версії (9.10), ви побачите перший екран, то --More--(27%), значить, у файлі є більше, і ви вже бачили 27%. Натисніть пробіл, щоб переглянути наступну сторінку. lessдозволяє переміщуватися по черзі, вперед і назад, плюс пошук та цілу купу інших речей.

В основному, використовувати less. Вам, мабуть, ніколи moreнічого не знадобиться . Я використовував lessвеличезні файли, і це здається нормально. Я не думаю, що це робить божевільні речі, як завантаження всієї речі в пам'ять ( кашель блокнота). Показ номерів рядків може зайняти деякий час, хоча й величезні файли.


1
Причина, по якій ви бачите таку поведінку, полягає в тому, що одним із параметрів, які програма отримує при запуску, є ім'я, яке воно викликало. Якщо ви візьмете двійковий файл "менш" і скопіюєте його або пов'язуєте його з "більше", то запуск його через "більше" змінює його поведінку, оскільки він знає, що він повинен працювати в режимі сумісності. Насправді в сучасній Unixy-системі відбувається дещо. Наприклад, у деяких системах mv, cp та rm все ті ж двійкові, що змінюють поведінку лише залежно від того, як її викликали. Надзвичайним прикладом цього є проект Busybox, популярний у вбудованих Linux.
Воррен Янг

Розміри файлів для / bin / more та / bin / less різні, і кожен з них показує єдине тверде посилання (Стовпчик містить a 1).
Стефан Ласєвський

2

Принаймні, в системах, якими я користувався:

  • more автоматично виходить, коли ви досягнете кінця файлу
  • less вимагає явного виходу.

1

Також менше може переглядати заархівований / стислий файл, більше не може цього зробити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.