要在两台 Ubuntu 机器之间共享文件,常见的方法是使用 网络文件系统 (NFS)、Samba 、SSH 共享等方法。这里我将介绍两种常见的方式来实现文件共享:
方法 1: 使用 NFS(Network File System) 共享文件
NFS 允许你在网络上共享文件系统,在一台机器上挂载另一个机器的文件系统。
步骤:
1. 在共享文件的机器上配置 NFS 服务器(Server)
-
安装 NFS 服务器 :
在共享文件的 Ubuntu 机器(假设它是 Server)上,首先安装 NFS 服务器:
bashsudo apt update sudo apt install nfs-kernel-server
-
创建共享目录并设置权限 :
假设你要共享
/mnt/shared
目录,你可以通过以下命令创建该目录并设置权限:bashsudo mkdir -p /mnt/shared sudo chmod 777 /mnt/shared
-
配置 NFS 共享 :
编辑
/etc/exports
文件,添加你要共享的目录及访问权限:bashsudo nano /etc/exports
在文件中添加以下内容(将
<client_IP>
替换为另一台机器的 IP 地址,或者使用*
来允许所有机器访问):bash/mnt/shared <client_IP>(rw,sync,no_subtree_check)
示例:
bash/mnt/shared 192.168.1.100(rw,sync,no_subtree_check)
-
导出共享文件夹 :
运行以下命令使配置生效:
bashsudo exportfs -a
-
启动 NFS 服务器 :
确保 NFS 服务正在运行:
bashsudo systemctl restart nfs-kernel-server
2. 在另一台机器上挂载共享目录(Client)
-
安装 NFS 客户端 :
在另一台机器(假设它是 Client)上安装 NFS 客户端:
bashsudo apt install nfs-common
-
挂载共享目录 :
使用以下命令挂载 NFS 共享的目录:
bashsudo mount <server_IP>:/mnt/shared /mnt/shared
例如:
bashsudo mount 192.168.1.10:/mnt/shared /mnt/shared
-
验证挂载 :
可以使用
df -h
命令查看挂载的共享目录:bashdf -h
你应该能够看到
/mnt/shared
目录已挂载。 -
自动挂载(可选) :
如果你希望每次启动时自动挂载共享目录,可以在
/etc/fstab
中添加条目:bashsudo nano /etc/fstab
添加以下内容:
bash<server_IP>:/mnt/shared /mnt/shared nfs defaults 0 0
这样就可以自动挂载 NFS 共享目录。
方法 2: 使用 Samba 共享文件(跨平台兼容)
如果你需要在 Windows 和 Linux 系统之间共享文件,可以使用 Samba。
步骤:
1. 在共享文件的机器上安装 Samba 服务器(Server)
-
安装 Samba:
bashsudo apt update sudo apt install samba
-
创建共享目录并设置权限 :
假设你要共享
/mnt/shared
目录:bashsudo mkdir -p /mnt/shared sudo chmod 777 /mnt/shared
-
配置 Samba 共享 :
编辑
/etc/samba/smb.conf
文件,添加共享设置:bashsudo nano /etc/samba/smb.conf
在文件的末尾添加以下内容:
ini[shared] path = /mnt/shared browseable = yes read only = no guest ok = yes
-
重启 Samba 服务:
bashsudo systemctl restart smbd
2. 在另一台机器上访问 Samba 共享(Client)
-
在客户端机器上安装 Samba 客户端(如果未安装):
bashsudo apt install smbclient
-
挂载 Samba 共享 :
使用以下命令挂载共享目录:
bashsudo mount -t cifs //<server_IP>/shared /mnt/shared -o guest
例如:
bashsudo mount -t cifs //192.168.1.10/shared /mnt/shared -o guest
这样你就可以访问
/mnt/shared
目录了。
方法 3: 使用 SSH 文件传输
如果你只需要偶尔传输文件,可以使用 scp
或 rsync
来通过 SSH 传输文件。
示例:使用 scp
命令
在目标机器上,从源机器传输文件:
bash
scp user@<source_machine_ip>:/path/to/file /path/to/destination
总结
- NFS 是一种高效的方式,适合 Linux 之间共享文件。
- Samba 更适合 Linux 和 Windows 之间的文件共享。
- SSH 文件传输 适合偶尔传输文件,不需要持续共享。
你可以根据需要选择适合的方式进行配置。如果你只是要在两台 Ubuntu 机器之间共享文件,使用 NFS 会是一个很好的选择。