나는 매우 단순화된 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 키를 누를 때까지 기다립니다.