BusyBox를 사용하여 MontaVista에서 ls 페이징

BusyBox를 사용하여 MontaVista에서 ls 페이징

나는 매우 단순화된 BusyBox 바이너리를 포함하는 MontaVista를 실행하는 IP 전화에 로그인했습니다(제거되었다는 것은 OEM이 이와 같은 기본 기능을 제외한 거의 모든 기능을 제거했음을 의미합니다 cat) ls.

ls -l수천 개의 파일이 들어 있는 디렉터리에서 작업을 수행하고 있습니다 . 각 결과 페이지 끝에서 파일 목록을 일시 중지할 수 있어야 합니다.

일반적으로 나는 ls -l|more이것을 사용하거나 를 사용 ls -l|less하지만 물론 이 전화기에서는 그렇지 않습니다 more.less

다른 낮은 수준의 ls페이징 방법이 있습니까? 유일한 다른 옵션은 출력을 파일에 쓴 다음 tftp서버에서 삭제하고 적절한 시스템에서 여는 것입니다. 그러나 이는 매우 우회적이고 느린 접근 방식입니다.

답변1

터미널을 통해 장치에 액세스하는 경우 GNU Screen을 사용하여 연결할 수 있으며 화면 스크롤을 사용하여 출력을 볼 수 있습니다.

vi가 시스템에 설치되어 있으면 명령을 파일로 출력하고 vi를 사용하여 읽을 수 있습니다.

충분하지 않다면 값을 화면에 인쇄한 다음 일시 중지하는 bash 스크립트를 만들 수 있습니다.

for line in $(ls -l); do
  echo "$line"
  i=$((i+1))
  [ "$i" = 50 ] && read && i=0
done

그러면 50줄이 인쇄되고 다음 50줄이 인쇄되기 전에 Enter 키를 누를 때까지 기다립니다.

관련 정보