Câu trả lời:
Sử dụng smbclient
, một chương trình đi kèm với Samba:
$ smbclient //server/share -c 'cd c:/remote/path ; put local-file'
Có nhiều cờ, chẳng hạn như -U
để cho phép tên người dùng từ xa khác với tên cục bộ.
Trên các hệ thống phân chia Samba thành nhiều gói nhị phân, bạn có thể đã cài đặt các máy chủ Samba smbclient
. Trong trường hợp này, kiểm tra kho gói của bạn cho một gói có tên smbclient
, samba-client
hoặc tương tự.
//server
ở trên, tôi có nghĩa là những gì bạn đang gọi máy khách, trong trường hợp này là hoạt động như một máy chủ. Nó cần phải có một thư mục hoặc ổ đĩa được chia sẻ qua SMB để làm việc này.
scp
. Dù sao cũng cảm ơn!
curl hỗ trợ smb
giao thức kể từ v7.40 :
curl --upload-file /path/to/file.ext -u 'DOMAIN\Username' smb://172.16.17.52/ShareName/
curl --upload-file /home/me/local_file.txt --user "OurWindowsDomain\UserName:thePassword" smb://172.16.17.52/ShareName/Path/To/Remote/Dir
. Tôi có một danh sách tất cả các tên chia sẻ có sẵn vớismbclient -L //172.16.17.52 -U UserName%thePassword -W OurWindowsDomain
Thực sự làm việc sẽ là thế này:
$ smbclient //server/share -c 'cd c:/remote/path ; put local-file remote-file'
tệp cục bộ - tệp từ máy cục bộ
tập tin từ xa - sao chép vào tập tin này trên máy từ xa
Nếu bạn đang chạy một số máy tính để bàn với các chia sẻ đã được gắn bởi nautilus , caja hoặc bất kỳ trình quản lý tệp nào khác , bạn có thể đang sử dụng cầu chì (thay vì smbclient ).
Nếu vậy, bạn có thể tìm thấy một số điểm gắn kết tại:
ls -l /run/user/$UID/gvfs/
drwx------ 1 charlie charlie 0 Feb 2 10:04 smb-share:server=hostname,share=documents
Vâng, đây là một điểm gắn kết !
df -h /run/user/$UID/gvfs/*
Filesystem Size Used Avail Use% Mounted on
gvfsd-fuse 16.2T 3.6T 12.6T 59% /run/user/1000/gvfs
Và bạn có thể sử dụng nó như một hệ thống tập tin thông thường.
cp $HOME/myfile \
/run/user/$UID/gvfs/smb-share:server=hostname,share=documents/destpath/
Connection to [IP] failed (Error NT_STATUS_CONNECTION_REFUSED)