前言:数据迁移,需要访问samba共享文件
环境:Ubuntu 16.04.1 LTS
安装smbclient
$ sudo apt-get install smbclient
查看共享文件列表
$ smbclient -L 10.10.52.12
输入密码samba的密码,打印出所有共享目录
连接共享文件夹
$ smbclient //10.10.52.12/data -U sb --directory tiles/data2/
Enter sb's password:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]
smb: \tiles\data2\>
其中
-U sb
是指定了用户名,sb
就是samba服务器的登录用户
--directory
直接进入共享文件夹下的子目录
下载文件
下载文件有两个命令:
- get 下载单个文件
- mget 下载多个文件
smb: \tiles\data2\> get styles.zip /home/lin/docker_root/tileserver-gl/data2/styles.zip
这个就是下载单个文件到指定目录下(该目录必须是绝对路径),如果没有指定目录,则默认下载到当前用户目录下,例如/home/lin/
,文件名称不变。
# 指定本地目录,下载的文件就到该目录下
smb: \tiles\data2\> lcd /home/lin/docker_root/tileserver-gl/data2/styles/
# 进入文件夹
smb: \tiles\data2\> cd styles
# 下载该文件夹下的所有文件
smb: \tiles\data2\styles\> mget *
这是会一个文件一个文件的提示是否要下载,输入 y + enter
则会下载,直接敲 enter
,则不下载。
那么如何不要提示,而自动全部下载呢?
增加一条命令:
smb: \tiles\data2\styles\> prompt
这时再执行 mget *
则不再提示,而直接全部下载