Каково различие между “больше” и “меньше” команды?

Каково различие между двумя командами ниже?

more file-name
less file-name
23
задан 26 November 2019 в 20:45

3 ответа

more является самым старым, less улучшение и most улучшение на этом.

Короткое сравнение:

  • more: передайте навигацию, и ограничил обратную навигацию.
  • less: оба передают и обратная навигация, и также имеет параметры поиска. Можно перейти к началу и концу файла немедленно. Плюс Вы может переключиться на редактора (как открытый файл в vi или энергии). Это заметно более быстро, чем редактор для того, когда файл является большим.
  • most: имеет все функции more и less но можно также открыть несколько файлов, закрыть 1 файл в то время, когда у Вас есть несколько открытых файлов, позволяет блокировать и прокручивать открытых окон и допускает разделение открытых окон.

Все 3 используют h позволять Вам просмотреть привязки клавиш для команды.

43
ответ дан 23 December 2019 в 00:02

less позволяет Вам перейти вверх, а также вниз.

Это - наиболее важное различие, но существуют многие другие. less обеспечивает многочисленные функции вне тех, которые в more. Можно нажать H в less и это покажет Вам свою сокращенную справку, объясняя, как использовать его различные интерактивные функции.

Наиболее распространенный клавиша "Пробел" или Page Down для потери работоспособности по одному экранному из текста и B и Page Up для возвращения одного экранного из текста. Все четыре работы клавиш со стрелками (хотя стрелки вверх и вниз - те чаще всего полезные).

less также отличается от more до некоторой степени это принадлежит производительности, использованию ресурсов и размещению необычных терминалов. Как man less говорит:

Меньше - программа, подобная больше (1), но она имеет намного больше функций. Меньше не должно читать весь входной файл перед запуском, таким образом, с большими входными файлами он запускает быстрее, чем текстовые редакторы как vi (1). Меньше использования termcap (или terminfo в некоторых системах), таким образом, это может работать на множестве терминалов. Там даже ограничен поддержка устройств выдачи твердых копий. (На устройстве выдачи твердых копий строки, которые должны быть распечатаны наверху экрана, снабжаются префиксом каре.)

Команды основаны и больше и vi. Командам может предшествовать десятичное число, названное N в описаниях ниже. Число используется некоторыми командами, как обозначено.

Я выдерживал сравнение less к традиционной реализации more. В Ubuntu, more такая реализация. Однако, если Вы вызываете less но как имя more- как это произошло бы при создании символьной ссылки или hardlink к less названный more и выполнил это - затем это ведет себя по-другому, напоминая more эстетически, но позволяя Вам переместиться и вверх и вниз в документах.

17
ответ дан 23 December 2019 в 00:02

Шутка

Существует старая шутка, состоящая из трех слов: “меньше больше”. (Это - “игра слов”, упомянутая вторым комментарием guillermo chamorro к вопросу.), Возможно, одна причина, почему люди как шутка так - то, что оператор может быть понят тремя различными способами, и таким образом, нет никакой ясности, о которой предназначен путь. Все же все три из путей точны, по крайней мере, в некоторых операционных системах. (Точка № 2 не могла бы относиться к Ubuntu, и я действительно понимаю, что это - сфокусированный на Ubuntu сайт. Однако Ubuntu происходит из желания Debian, имеет сильную историю идей, взятых от, и совместно использованный с, остальная часть систем Unix и выхода Unix. Так, понимание, что делают другие операционные системы, не является плохой вещью.)
  1. Существует переменная под названием LESS_IS_MORE
  2. Поскольку бесспорный факт меньшего является природой (в некоторых операционных системах)
  3. Как простой английский оператор

Разъяснить их:

  1. Существует названная переменная LESS_IS_MORE.
    • less управляйте поддерживает названную оболочку/переменную среды LESS_IS_MORE. less управляйте действует вполне немного как более старое more управляйте по умолчанию, но если less команда видит, что эта переменная установлена на значение 1 (номер один), затем less команда предложит меньше функций в попытке быть увеличением, насколько совместимый это с более старой командой пейджера, которую называют more.
    • Это не является определенным для Ubuntu, и поддерживается less на всех платформах. Это упоминается less(1) (less"страница справочника"), раздел, названный “Совместимость с more.
  2. Поскольку бесспорный факт меньшего является природой (в некоторых операционных системах)
    • less управляйте поддерживает поведение, которое много программ используют в подобных Unix средах, который является поведением проверки, какое имя файла оно было выполнено как. Если командная строка, которая работала less программа, запущенная с именем файла more, затем, что называют программу less сделает должен действовать с увеличенной совместимостью с более старым more команда, подобная тому, что это было бы поэтому если LESS_IS_MORE команда выполняется.
    • Некоторые операционные системы на самом деле положились на эту функциональность и не потрудились включать отдельную названную программу more. Ну, чтобы быть ясной, существует доступная названная команда more (который настоятельно рекомендован для совместимости со сценариями и некоторым поведением вполне-обычного-пользователя), но less и more команды являются оба “жесткими ссылками” на тот же поток битов исполняемого кода. Так, исполняемый код, который операционная система выполняет при выполнении названной команды less на самом деле тот же исполняемый код, который операционная система выполняет при выполнении названной команды more. (Это даже не просто случай идентичной копии выполняемого кода. Буквально, те же биты загружаются путем чтения из буквально того же точного местоположения устройства хранения данных, таким образом, это - вполне буквально тот же код, который привыкает.) Так, оператор это less more отсылает к литералу (фактический, несамоуверенный, доказуемый) истину, поскольку это буквально та же самая программа, так как обе из этих программ буквально используют тот же самый исполняемый код. (Однако программа может отличаться по поведению, на основе которого команда использовалась для запущения программы.)
    • Если кто-то говорит “less more, буквально”. затем человек, вероятно, пытается разъяснить что less команда и more команда совместно использует те же исполняемые биты. Это может быть сделано как “жесткая ссылка” (реализованное использование ln) наиболее эффективно, но мог также быть реализован с помощью “символьной ссылки” (реализованное использование ln -s), или при наличии дубликата битов исполняемого файла (который может быть легко реализован с помощью cp).
  3. Как простой английский оператор
    • Это - самоуверенный оператор (который очень много людей согласовывают с), указывая, что less команда имеет большее количество хороших функций, и таким образом, less команда является лучшим опытом, чем, что предлагается более старой, более традиционной командой пейджера (который, оказывается, называют more). Так как опыт использования команды называют less значительно более хороший опыт, люди чувствуют, что уместно описать что более хороший опыт, как являющийся “БОЛЬШЕ!”.

Всюду по этому ответу я действительно стремился сделать все ссылки на команду быть заметно отмеченным. Однако лучший способ испытать шутку устно, потому что это добавляет к части неоднозначности. Устно, высказывание

  • “LESS_IS_MORE”
  • или “less more
  • или “less БОЛЬШЕ!”

мог бы все быть объявлен точно таким же образом, поэтому если речевой тон ясно не указывает ни на какой конкретный акцент ни на какие определенные слова, то просто слушание этих трех слов не дает реального признака точно, какой точный оператор (операторы), если таковые имеются, был предназначен, чтобы быть сосланным до большей степени, чем другой оператор (операторы).

Весь юмор в стороне, это может также использоваться в качестве чего-то вроде способа измерить чье-то знакомство с этой программой команды Unix. Многие люди не читают “страницу справочника” для каждой команды, прежде чем они будут использовать команду (особенно при изучении, как эффективно использовать некоторые самые основные команды на первой платформе Unix, которую они используют), столько людей заканчивает тем, что узнало о переменной LESS_IS_MORE, когда эта шутка полностью объяснена. Так, устно высказывание этой шутки может быть способом проверить, сколько подтверждения или беспорядка получатель, кажется, имеет.

(Если человек будет выглядеть немного озадаченным, который мог бы быть признаком, что это может быть хорошим временем, то будет взят, чтобы помочь рассказать человеку о нескольких аспектах этого оператора. На основе первой точки или два, они заканчивают тем, что знали немного больше о поведении общей команды. И если они помнят шутку, затем они могут помнить последнюю точку, которая помогает им помнить о существовании less команда, которую многие люди более довольны и помнят, какая команда обычно обеспечивает более хороший опыт во многих платформах.)

Совместимость DOS

Существует один аспект к “more” команда, которую стоит упомянуть, который мог бы заставить ее казаться более хорошей (по мнениям по крайней мере некоторых людей), чем “less” команда.

Очень, очень многие Unix (-выход) системы идут с обоими названная команда more и команду называют less, встроенный, установленный как часть операционных систем. (Команду называют most, который далее полагается less управляйте, упоминается одним из других ответов, но предварительно установлен в гораздо меньшем количестве систем. Так, установка программы должна быть сделана сначала.) Однако more команда может также быть предварительно установлена на большем числе компьютеров, включая компьютеры, которые обычно не думаются как разрабатываемый, прежде всего, на основе совместимости Unix.

В MS-DOS и подобных/совместимых платформах, включая современную Microsoft Windows, следующее будет работать точно как он, делает с Unix:

  • more < filename.txt

Можно также передать по каналу в more. Типичный способ продемонстрировать это состоит в том, чтобы показать команду, которая показывает содержание текстового файла. В Unix, который часто делается с помощью cat. MS-DOS не имеет a cat команда, но вместо этого использует type. (Unix имеет отдельное type команда, которая делает что-то очень отличающееся.) Так:

  • Unix: cat file.txt | more
  • DOS: type file.txt | more

(Помните, когда я упоминаю DOS, который также относится к современной Microsoft Windows, не говоря уже о других системах как ОС/2. Так, эти ссылки DOS столь же относятся к современному миру сегодня как какова Microsoft Windows.)

Как более современный пример, следующие работы над современными системами Microsoft Windows, и также во многих системах Unix:

  • netstat -na | more

С современными версиями можно также указать одни или несколько имен файлов на командной строке. Если Вы сделаете, то первый файл покажут, и затем следующий файл покажут.

  • more fileone.txt filetwo.txt

В то время как less команда доступна для MS-DOS, Microsoft Windows и других операционных систем, программа часто не предварительно связывается. Так, less команда не доступна, если некоторое усилие не приложено для установки системы. Если Вы ступаете нога в компьютерную лабораторию, к которой Вы не были прежде, возможности довольно хороши, который назвала команда more могло бы быть легко доступным, в то время как команда назвала less могло бы обычно только быть доступным на платформах Unix. Для некоторых людей это может быть преимуществом для названной команды more который является достаточно значительным, чтобы они предпочли привыкать к выполнению той команды.

Misc

Я не пытаюсь предоставить весь ответ здесь, потому что выполнение так просто было бы избыточно с другими ответами. Вместо этого я решил просто включать информацию, которую я не видел в другом месте. Таким образом, этот ответ разработан, чтобы быть дополнительным к некоторым другим ответам. Я надеюсь, что Вы наслаждались информацией, представленной здесь, но определенно проверьте другие ответы. Оба из существующих ранее ответов (отправленный перед этим) также предоставили дополнительную информацию.

17
ответ дан 23 December 2019 в 00:02

Другие вопросы по тегам:

Похожие вопросы: