LINUX.ORG.RU

Phython пишу программу, нужна помощь

 ,


0

1

Мне нужнен ls, что бы он вывел в терминал инфу после того как нажму на эту команду через кнопку, что бы по этой директории он выводил информацию в терминал, если я выполняю как я написал он пишет что: «ls: cannot access '/dev/disk/by-id/usb*': No such file or directory» Как сделать? Ls -l нужен для вывода инфы по директории. Как поступить? Спасибо за понимание)

 
def button_USB():
    subprocess.call([ls -l /dev /disk /by-id "/usb*"])

Чтобы твоя * разренулась - ей нужен шел.

subprocess.call(["ls", "-l", "/dev/disk/by-id/usb*"], shell=True)

И зачем тебе ls вызывать, когда можно все питоном сделать?

Difrex ★★★★ ()

Эх, темы на лоре про питон. Куда мы катимся, если официальную доку даже прочитать лень.

anonymous ()
Ответ на: комментарий от Difrex

Мне просто, нужно что бы он вывел в терминал информацию, при вводе этой команды «ls -l /dev /disk /by-id »/usb*«» он выводит какая флешка подключена. Но если сделать через Shell=True как вы подсказали он выводит информацию про usb в той директории в которой был запущен скрипт.

kinza ()
Ответ на: комментарий от anonymous

Если бы я нашел в официальной доке, то что мне нужно было я бы сюда не обращался.

kinza ()
Ответ на: комментарий от kinza

т.е просто скриптовый файл usb.1.1py, хотя должен выводить такую информацию: /dev/disk/by-id/usb-Generic_Flash_Disk_BA6486FD-0:0

kinza ()
Ответ на: комментарий от kinza
>>> import subprocess
>>> subprocess.call(["ls -l /dev/disk/by-id/*"], shell=True)
lrwxrwxrwx 1 root root  9 мар 21 18:44 /dev/disk/by-id/ata-INTEL_SSDSC2BF180A4L_CVDA411607T81802GN -> ../../sda
lrwxrwxrwx 1 root root 10 мар 21 18:44 /dev/disk/by-id/ata-INTEL_SSDSC2BF180A4L_CVDA411607T81802GN-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 мар 21 18:44 /dev/disk/by-id/ata-INTEL_SSDSC2BF180A4L_CVDA411607T81802GN-part2 -> ../../sda2
lrwxrwxrwx 1 root root  9 мар 21 18:44 /dev/disk/by-id/wwn-0x55cd2e404b99cad8 -> ../../sda
lrwxrwxrwx 1 root root 10 мар 21 18:44 /dev/disk/by-id/wwn-0x55cd2e404b99cad8-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 мар 21 18:44 /dev/disk/by-id/wwn-0x55cd2e404b99cad8-part2 -> ../../sda2
Difrex ★★★★ ()
Ответ на: комментарий от kinza
>>> for i in os.walk("/dev/disk/by-id"):
...   for dev in i[2]:
...     if dev.startswith("usb"):
...       print(dev)
...       print(os.stat(i[0] + "/" + dev))
Difrex ★★★★ ()
Ответ на: комментарий от kinza

Вопрос мне не понятен. «Как обычно» это как? Вот я запускаю в терминале:

sh -c «ls -l /dev/disk/by-id/usb*»

И оно выдает мне:

ls: cannot access '/dev/disk/by-id/usb*': No such file or directory

И это в «обычном» терминале, без питона.

arthas ()
Ответ на: комментарий от kinza

Это вывод ls. У тебя там нет ничего начинающегося с usb.

Difrex ★★★★ ()
Ответ на: комментарий от arthas

нужно подключить флешку, перед выполнением данной команды.

anonymous ()
Ответ на: комментарий от andalevor

Да, это троль, он даже типо_случайно очепятался в названии 2 раза подряд

Dred ★★★★★ ()
Последнее исправление: Dred (всего исправлений: 1)
Ответ на: комментарий от kinza

За 10 дней можно было если не научиться ls делать, то хотя бы выучить название языка.

anonymous ()
bash -c "ls -l /dev/disk/by-id/usb*"

Попробуй вызвать через баш.

Demacr ()
Последнее исправление: Demacr (всего исправлений: 1)
Ответ на: комментарий от anonymous

Пишу диплом на тему «Защита корпоративного сервера на базе Linux–сервера» Выбрал я ОС Centos 7

это студент. он сервер собрался защищать путем блокировки usb-портов. сервера ломают через sql-инъекции в говнодвижках на php (если вручную, то ищутся путем подстановки <’> и <"> в параметры query-string, path, поля для ввода, для автоматического взлома есть sqlmap), заливают шелл (опять же через mysql прокатывает в 30% случаев), а потом получают рут-привелегии через подобные уязвимости, а дальше зависит от фантазии… я на ломанных серваках socks-прокси поднимал. некоторые три года прожили.

tz4678 ★★ ()
Ответ на: комментарий от tz4678

Кек, может он защищает от сотрудников хостингов, которые втыкают usb в твои сервера или пробрасывают usb в виртуалку?:)

Demacr ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.