CentOS7 命令行连接Samba并下载文件两种常用方法

一、安装依赖工具

bash

yum install -y samba-client cifs-utils
 

方式1:smbclient 临时登录下载(无需挂载,单次操作)

  1. 查看Samba共享列表

bash

格式:smbclient -L //Samba服务器IP -U 共享用户名

smbclient -L //192.168.1.100 -U username
 

回车后输入密码即可列出所有共享文件夹。

  1. 进入Samba交互式终端

bash

smbclient //192.168.1.100/share_name -U username
 

  •  //IP/share_name :服务器IP + 共享目录名
  • 输入密码进入  smb:\>  交互界面

常用下载命令

bash

下载单个文件到当前Linux目录

get 远端文件名 本地保存文件名

递归下载整个文件夹(必须加-r)

mget -r 远端文件夹名

查看远端目录

ls

切换远端目录

cd 文件夹名

退出

exit
 

示例:

bash

smb: \> get test.tar.gz /root/test.tar.gz
 

方式2:mount 永久挂载Samba共享(推荐,像本地文件夹一样拷贝)

  1. 创建本地挂载目录

bash

mkdir -p /mnt/samba
 

  1. 执行挂载

bash

mount -t cifs //192.168.1.100/share_name /mnt/samba -o username=用户名,password=密码,vers=2.0
 

  •  vers=2.0 :兼容CentOS7与多数Windows/Samba服务端协议,连接报错就换 vers=3.0 
  1. 直接cp下载文件

挂载后  /mnt/samba  就是Samba共享盘,直接复制:

bash

复制单个文件

cp /mnt/samba/xxx.zip /home/

复制整个文件夹

cp -r /mnt/samba/文件夹 /root/
 

  1. 卸载共享(用完解除挂载)

bash

umount /mnt/samba
 

开机自动挂载(可选)

编辑  /etc/fstab  末尾添加一行:

plaintext

//192.168.1.100/share_name /mnt/samba cifs username=user,password=pass,vers=2.0 0 0
 

常见报错排查

1. 协议不匹配:挂载参数添加  vers=2.0  或  vers=3.0 
2. 权限拒绝:确认Samba账号密码正确、共享目录开启可读权限
3. 无法解析主机:直接用IP地址,不要用计算机名
4. 防火墙拦截:服务器端放行139、445端口

需要我根据你Samba服务器IP、共享名、账号密码给你生成一条可直接复制执行的完整命令吗?

标签: none

添加新评论