smbclient-c с опцией ls-l


Я пытаюсь получить списки папок с удаленного сервера, и невозможно подключить удаленный сервер к моему локальному компьютеру (из-за проблемы с разрешениями).

Я использовал

smbclient "//165.186.89.21/DeptDQ_141Q_FOTA" "--user=myid" -c 'ls;'

Для получения списков папки. и результатом стал успех.

Но, на самом деле я хочу использовать ls -l с вышеприведенной командной строкой и когда я пытаюсь получить результаты, используя строку

smbclient "//165.186.89.21/DeptDQ_141Q_FOTA" "--user=LGEfinal.lee" -c 'ls -l;'

Он возвращает

NT_STATUS_NO_SUCH_FILE listing -l

            64000 blocks of size 16777216. 6503 blocks available

... как использовать оператор smbclient с параметром ls-l? пожалуйста помочь это я!

1 2

1 ответ:

smbclient ls не выполняет собственную команду ls, а скорее вызывает встроенные функциональные возможности. Как таковой, он не поддерживает обычные параметры, которые предоставляет собственная, POSIX-совместимая Команда ls.

Таким образом, вы не можете этого сделать.

Если ваша цель-чтение метаданных, попробуйте вместо этого использовать подкоманду smbclient stat [filename] (Если ваш сервер поддерживает расширения UNIX) или smbclient allinfo [filename] (в противном случае).