使用 BusyBox 在 MontaVista 上进行 ls 分页

使用 BusyBox 在 MontaVista 上进行 ls 分页

我登录到运行 MontaVista 的 IP 电话,其中包含非常精简的 BusyBox 二进制文件(所谓精简,是指 OEM 已删除了几乎所有功能,除了诸如 等基础功能之外catls

我正在一个目录上执行操作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 行,并等待您按 Enter 键后再打印下 50 行。

相关内容