Jaki jest najprostszy i najbardziej wszechstronny sposób przesyłania plików przez sieć do innych komputerów? Rozumiem przez to komputery, z których obecnie korzystają inni ludzie. Nie sądzę, że SSH działa, jeśli komputer ma aktywną sesję otwartą.
Do tej pory używam netcat
, co działa dobrze. Czy są jednak inne proste sposoby na zrobienie tego? Jednym z moich problemów netcat
jest to, że odbiorca musi znać zakończenie pliku i musi wymyślić nazwę strumienia.
networking
file-sharing
netcat
TomTom
źródło
źródło
netcat
, możesz wysłaćtar
archiwum i rozpakować je w locie. To rozwiąże problem z nazwą pliku i będzie bardziej elastyczny. Ale w końcu myślę,scp
czyrsync
jest łatwiejsza opcja.netcat hostname | tar -x
w katalogu, w którym chcesz umieścić pliki.Odpowiedzi:
Niepotrzebnie komplikujesz sobie życie. Zastosowanie
scp
.Aby przesłać plik myFile z lokalnego katalogu do katalogu / foo / bar na maszynie otherhost jako użytkownika użytkownika , oto składnia:
scp myfile user@otherhost:/foo/bar
.EDYCJA: Warto zauważyć, że transfer przez scp / SSH jest szyfrowany, podczas gdy transfer przez netcat lub HTTP nie jest. Jeśli więc przenosisz poufne pliki, zawsze używaj tego pierwszego.
źródło
scp
konta użytkownika?user@otherhost
.user@otherhost
.Możesz także spróbować
Będzie obsługiwał pliki w katalogu, w którym został wykonany przez HTTP, można uzyskać do niego dostęp za pośrednictwem przeglądarki.
źródło
python3 -m http.server <port>
.Jeśli jesteś zadowolony
netcat
, możesz obejść problem z nazwą pliku, wtrącając siętar
. Upraszcza to również wysyłanie wielu plików jednocześnie, a także wysyłanie katalogów.Po stronie wysyłającej użyj:
A po stronie odbierającej:
Innym rozwiązaniem byłoby użycie
rsync
lubscp
.źródło
netcat
, aby zamknęło połączenie na końcu strumienia.-q
opcji.tar | ssh tar
działa również bardzo ładnie w przypadkach, gdy scp spada i rsync jest niedostępny.Oczywiście
ssh
działa, jeśli otwarta jest inna sesja. Możesz po prostu zrobićLub, aby skopiować do lokalnego katalogu:
źródło
ssh lubuntu '>newfile.txt' <file.txt
?cat local.file | ssh user@host "cat > remote.file"
, lubssh user@host "cat > remote.file" < local.file
.Jeśli oba hosty są w tej samej sieci LAN, możesz użyć Woos .
Jest wyjątkowo prosty w użyciu.
Jeśli nadawca i odbiorca są KAŻDY w Internecie i musisz przesyłać DUŻE PLIKI, zainstaluj F * EX: http://fex.belwue.de/index.html
źródło