Шаги для отладки вышеупомянутой проблемы:
Использовать nmap
инструмент для знания, какие порты открыты в том сервере. nmap
сканер портов. Так как может быть возможно, что ssh сервер работает на другом порте. nmap
даст Вам список портов, которые открыты.
$ nmap myserver
2. Теперь можно проверить, какой сервер работает на данном порте. Предположим в выводе nmap, порт 2424 открыт. Теперь Вы можете, какой сервер работает 2424 при помощи nc (netcat) инструмент.
$ nc -v -nn myserver portno
Предположим, что вывод 2 424 портов:
myserver 2424 open
SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5
Это означает, что ssh работает 2424.
Продолжите изменять portno в вышеупомянутой команде и проверке на все порты, которые перечислены открытые nmap.
Не используйте команду substition тем способом, Вы закончите с проблемами, когда разделение слова будет применено. Просто сделайте
find /dev/ -regex '/dev/sd[a-z]+' ! -name 'sda'
Если Ваша истинная цель состоит в том, чтобы показать основные блочные устройства, просто заглянуть /sys/block
.
Предположим, у Вас есть одна буква после sd
, никакая потребность использовать find
.
В bash
можно сделать
shopt -s nullglob
for dev in /dev/sd[!a]; do
echo "$dev"
done
Первая строка не должна иметь никакого вывода, когда никакое соответствие не существует.
Править
Для расширения на неопределенное количество букв шарик мог быть
printf '%s\n' /dev/!(sda|*[0-9])
где !(pattern)
средства все кроме шаблона и исключенных шаблонов в конкретном случае sda
и *[0-9]
(все заканчивающееся в числе).
Расширенные шарики должны, чтобы быть включенными, чтобы это работало (т.е. shopt -s extglob
).
for
цикл, просто сделайте shopt -s nullglob ; printf '%s\n' /dev/sd[!a]
– Chris Down
20.09.2011, 20:01
"$dev"
, echo "$dev"
просто заполнитель. спасибо
– enzotib
20.09.2011, 20:13
Если Вы хотите получить список дисковых устройств на Linux, я предлагаю:
paste -s /sys/dev/block/*/uevent | sed -n '/DEVTYPE=disk/s|.*DEVNAME=\(.*\)\t.*|/dev/\1|p'
Это даст Вам также список потенциальных дисков как/dev/loop3 или/dev/ram12.
Если Вы хотите список реальных "partitonable" дисков, можно спросить fdisk:
LANG="C" fdisk -l | sed -n 's|^Disk \(/.*/.*\):.*|\1|p'
Затем можно отфильтровать sda:
LANG="C" fdisk -l | sed -n 's|^Disk \(/.*/.*\):.*|\1|p' | grep -v sda
принятие Вас уверено, что Вы имеете дело с sd * и не * HD
найдите/dev/-имя "sd [b-z]"
должен добиться цели.