Як активувати сторінку з командою ls?


34

Що таке еквівалентна lsкоманда для активації сторінки, як у DOS dir /p?

Відповіді:


54

lsСам по собі немає прямого еквівалента , але є lessутиліта, яка форматуватиме висновок будь-якої команди як окремі сторінки, прокручувані за рядком або сторінкою:

ls -C | less

Де -Cзапускає відображення стовпців. Використання в lahякості аргументів ( ls -lah) , щоб отримати л НДІ на рядковий дисплей з а Л.Л. файлів відображається ( в тому числі приховані з них), а також ч Умань читаються filesizes.

  • Щоб кольори відображалися належним чином , вам потрібно додати --color=alwaysаргумент lsта -Rаргумент менше *:

    ls -C --color=always | less -R

    alt текст
    це показує 'ls -ah --color = завжди | менше -R '

На відміну від more, lessдозволить вам прокручувати вихід. Це також трохи швидше для дуже великих списків.

Труба працює так:

Кожна програма має вхід і вихід, труба перенаправляє вихід однієї програми (ls) на вхід іншої програми (менше). І менш просто очікує введення, яке він потім форматує.

  • Більше еквівалентом старого училища було б pg:

    ls | pg
    

Ви також можете

  • Використовуйте ls | headабо ls | tailдля відображення лише першої або останньої частини виводу
  • Використовуйте, watch "ls"щоб дисплей був відкритим, оновлюючи його кожні кілька секунд, щоб переглянути зміни
  • Використовуйте, banner $(ls)якщо ви сидите дуже далеко від екрана. (;

  • Якщо ви вважаєте, що все це занадто довго, щоб запам'ятати, ви можете встановити псевдонім для нього:

    Відкрийте ~/.bash_aliasesтекстовий редактор і додайте до нього щось подібне:

    alias lsp="ls -ah --color=always | less -R"
    

    (це сценарій, який запускається кожного разу при запуску нового віртуального терміналу, ви повинні налаштувати всі свої постійні псевдоніми там)

    Тепер ви можете просто ввести lspабо будь-яке ім’я, яке ви вибрали.

    Якщо ви хочете передати подальші аргументи своєму псевдоніму, нам потрібно визначити функцію :

    lsp(){ ls -ah --color=always "$@" | less -R; }
    

    Функція, головним чином, дивлячись , як це: name(){ commands; };може приймати аргументи, $1, $2, $3і так далі. $@означає "кожен аргумент, якщо такий є" .

    Тепер ви можете запустити щось на зразок lsp *.py, lsp -Cтощо. Вставляємо аргументи в ту точку, де вони переходять до ls. Ми також могли б вставити $ * за менше, якби це була важлива команда. Ви можете бачити всі аргументи ls за адресою man ls(варто прочитати).


*: Причина цього полягає в тому, що щоразу, коли ви щось трубите, він виявляє термінал (власне іншу програму), не здатний відображати колір. "--color = завжди" змушує ls ігнорувати це. Перемикач -R дозволяє менше перефарбовувати екран, уникаючи кольорів належним чином.


дякую чудову відповідь, саме та частина з псевдонімом прийшла мені на думку, коли я побачив довгий командний рядок. Єдиним недоліком створення псевдоніму є те, що за допомогою фільтра підстановки типу * .pdf це неможливо? можливо, чи існує також рішення для цього?
NES

Все можливо ;-) Я додав трохи аргументів, я якось раніше про це не думав.
Стефано Палацо

2
ви дали більше, ніж очікували :) дякую за детальну відповідь. PS Ви знаєте, чи є відмінності між bash та рибами, які якимось чином заважають цьому методу передачі псевдоніму працювати в рибі? Я отримав псевдонім без параметра аргументу, щоб працювати тут.
NES

1
Ось, ось askubuntu.com/questions/19728/… нове запитання починається, ще раз дякую за ваші корисні відповіді.
NES

1
$*і $@зробіть точно те саме. Вони розширюються до $1 $2 $3 .... Котирування, однак, "$@"розширюється на "$1" "$2" "$3" ...час, а "$*"розширюється на "$1 $2 $3 ..."(тобто всі аргументи в одну рядок, використовуючи перший символ IFSяк роздільник). mywiki.wooledge.org/BashGuide/Parameters
geirha

3

Я не впевнений, чи є якась команда ls для сторінки. Однак ви можете використовувати трубу і less, як це:

ls | less

І використовуйте q для виходу.


1

Спробуйте ls | lessабо ls | more. Другий - близький до версії DOS.


1
Чи може бути інший метод? тому що недоліком для мене є те, що забарвлення оболонки не активне при використанні труби?
NES

2
Спробуйтеls --color=always -C | less -R
FUZxxl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.