Różnice między poleceniami FTP dir i ls

2

Witaj, stworzyliśmy mały program do przesyłania pliku .zip na serwer FTP, a kiedy łączę się z serwerem FTP za pomocą FileZilla, aby sprawdzić, czy wszystko jest w porządku, nie widzę przesłanego pliku.

Ale jeśli połączę się z FTP za pomocą polecenia ftp w powłoce systemu Windows i wykonam polecenie ls, mogę zobaczyć plik, ale jeśli zamiast tego użyję polecenia dir, plik nie zostanie wymieniony (w rzeczywistości żaden plik nie jest wymieniony)

Więc ... jakie są różnice między tymi dwoma poleceniami (ls / dir)?

Wygląda na to, że FileZilla używa polecenia dir.

Uwaga: nie wiem, którego serwera FTP używa, ale po podłączeniu odpowiada serwer FTP 220 sasbas (wersja 4.2 ....)

użytkownik24404
źródło

Odpowiedzi:

3

Różnica między diri lspolega na tym, że pod maską klient FTP systemu Windows wysyła dwie różne komendy FTP .

dirKomenda wysyła LISTpolecenia FTP:

Zwraca informacje o pliku lub katalogu, jeśli jest określony, w przeciwnym razie zwracane są informacje o bieżącym katalogu roboczym.

lsKomenda wysyła NLISTpolecenia FTP:

Zwraca listę nazw plików w określonym katalogu.

To tak naprawdę nie wyjaśnia różnicy na liście, ale proponuję zajrzeć do dokumentacji twojego serwera FTP, aby dowiedzieć się, dlaczego widzisz różne wyniki dla tych dwóch poleceń.

ciężki
źródło
Na GNU / Linux lswyświetla te same informacje, co dir, próbowałem na Xubuntu 14.04 LTS. Ze ftpstrony Print a listing of the contents of a directory on the remote machine. The listing includes any system-dependent information that the server chooses to include; for example, most UNIX systems will produce output from the command ‘ls -l’. (See also nlist.)
podręcznika
0

Te dirpowroty pełny katalog aukcji natomiast lszwrotów uproszczoną listę katalogów.

Laurent Etiemble
źródło
Ale dlaczego katalog nie wyświetla pliku tak jak ls?
user24404,
Ponieważ są to dwa różne polecenia. „dir” żąda informacji specyficznych dla platformy, gdy „ls” żąda tylko nazw plików.
Laurent Etiemble,
0

Może to być dziwactwo uprawnień i może to być problem specyficzny dla platformy. Czy możesz nam powiedzieć, jakie oprogramowanie OS i serwer FTP jest zaangażowane (wiele serwerów ogłosi te informacje podczas łączenia).

Jeśli odpowiada na polecenie ls -al, czy możesz dodać te informacje do swojego pytania? I / lub jeśli możesz połączyć konto za pomocą SSH, co ls -alwtedy zwraca?

Jeszcze jedno - czy plik zip ma pierwszą kropkę? Jest to często interpretowane jako oznaczające, że plik powinien być ukryty, chyba że wyraźnie określono inne opcje.

David Spillett
źródło
do pytania dodałem odpowiedź połączenia FTP. Polecenie ls -al nic nie zwraca, a nazwa pliku zip nie zaczyna się od kropki.
user24404