Листинг без ls


Sphynkx - Posted on 14 Май 2010

Случилось поковыряться в ADSL-модеме (конкретно, в D-Link DSL-2500U). Оказалось, что Busybox там без поддержки ls и еще нескольких нужных команд. Но выкрутиться можно.
К примеру, просмотреть директорию можно однострочником:

$ for i in * ; do echo $i ; done

либо указывая конкретную директорию:

$ for i in /usr/bin/* ; do echo $i ; done

Для большего комфорта можно зарядить это в скриптик:

$ echo -e '#!/bin/sh\ntest !$1 && p=`pwd`\ntest $1 && p=$1\nfor i in $p/* ; do echo $i ; done' >/var/ls
$ chmod +x /var/ls
$ export PATH=PATH:/var/
4.5
Ваша оценка: Ничего Рейтинг: 4.5 (2 голоса)

а как перейти в режим $

for i in * ; do echo $i ; done - эту строчку заебешся набирать, через echo намного проще ... но так или иначе в busybox хуевые симлинки на листинг каталогов (ls), нужно либо бинарники заливать ... либо писать самому ))))

Пойду ка поставлю что-нибудь этакое на свой роутер... =)

я могу и ошибаться, но вроде в busybox работает dir

Увы, dir'а в этой модели тоже нет.

а sh работает ?

он тоже в бизибоксе

echo /bin/*

И так можно - выдает листинг в одну строку. Мой вариант - по 1 элементу в строке ;-))

1. Поидее можно просто

$ echo *

2. Попробуй

$ busybox ls

Если работает, то просто нет линки /bin/ls -> /bin/bysybox
Достаточно ее просто создать.

С того и начали ;-)) В том-то и дело, его там совсем нет:

# busybox ls
ls: applet not found

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.