ls 명령에 대한 페이지 매김을 활성화하는 방법은 무엇입니까?


33

lsDOS에서와 같이 페이지 매김을 활성화 하는 명령에 해당하는 옵션은 무엇입니까 dir /p?

답변:


53

ls자체로는 똑같은 것이 없지만 less유틸리티는 명령의 출력을 별도의 페이지로 형식화하여 행 또는 페이지별로 스크롤 할 수 있습니다.

ls -C | less

어디 -C트리거 열이 표시됩니다. 사용 lah인수로는 ( ls -lah)를 얻을 리터 로 라인 디스플레이로 오프라인을 LL 파일이 표시되고, 및 (숨겨진 포함) 시간 이 읽을 수 filesizes 우만을.

  • 제대로 보여주기 위해 색상을 얻으려면 , 당신은 추가 할 필요 --color=always에 인수 ls하고, -R덜에 인수 * :

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

    대체 텍스트
    이것은 'ls -ah --color = always | 적은 -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 = always"는 ls가 이것을 무시하도록합니다. -R 스위치를 사용하면 화면을 다시 칠하지 않고 색상을 올바르게 이스케이프합니다 .


긴 대답을 보았을 때 별명을 가진 부분이 정확히 떠 올랐습니다. 별칭을 만들면 유일한 단점은 * .pdf와 같은 와일드 카드 필터를 사용하면 불가능하다는 것입니다. 아마도 이것에 대한 해결책이 있습니까?
NES

모든 것이 가능합니다 ;-) 나는 인수에 대해 조금 덧붙였습니다. 어쨌든 나는 그것을 이전에 생각하지 않았습니다.
Stefano Palazzo

2
자세한 답변을 주셔서 감사합니다. :) 추신 :이 별칭 별칭 전달 방법이 물고기에서 작동하지 못하게하는 배쉬와 물고기의 차이점이 있는지 알고 있습니까? 인수 옵션이없는 별칭이 여기에서 작동합니다.
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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.