网站建设500元,天津网站制作专业,广元商城网站开发,满足客户的crm软件定制当我们使用linux系统作为开发环境时#xff0c;经常需要在Linux系统之间、Linux和Windows之间传输文件。 对少量文件进行传输时#xff0c;可以使用scp工具在两台主机之间实现文件传输#xff1a;
rootubuntu:~$ ssh --help
unknown option -- -
usage: ssh [-46AaCfGgKkMN…当我们使用linux系统作为开发环境时经常需要在Linux系统之间、Linux和Windows之间传输文件。 对少量文件进行传输时可以使用scp工具在两台主机之间实现文件传输
rootubuntu:~$ ssh --help
unknown option -- -
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface][-b bind_address] [-c cipher_spec] [-D [bind_address:]port][-E log_file] [-e escape_char] [-F configfile] [-I pkcs11][-i identity_file] [-J [user]host[:port]] [-L address][-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port][-Q query_option] [-R address] [-S ctl_path] [-W host:port][-w local_tun[:remote_tun]] destination [command]对于大量文件有传输、共享需求时可以搭建文件共享服务器支持实现如sftp、nfs、smbam文件服务器。当然也可以借助DLNA服务器实现多媒体文件共享搭建私有的影音平台。 注服务端系统环境Ubuntu20.04客户端Windows 10 22H2。
一、sftp文件服务器
SFTPSSH File Transfer Protocol是一种安全的文件传输协议用于在计算机之间传输文件。它建立在SSHSecure Shell协议之上利用SSH的安全性和加密功能来保护文件传输过程中的数据安全。 SFTP是在SSH协议之上建立的一种安全文件传输协议在SSH协议中SFTP作为子协议存在。在ubuntu20.04环境下sftp服务默认已安装未安装时也可以使用以下命令安装
sudo apt install openssh-serverrootubuntu:~$ dpkg -l | grep ssh
ii libssh-4:amd64 0.9.3-2ubuntu2.4 amd64 tiny C SSH library (OpenSSL flavor)
ii libssh-gcrypt-4:amd64 0.9.3-2ubuntu2.4 amd64 tiny C SSH library (gcrypt flavor)
ii openssh-client 1:8.2p1-4ubuntu0.10 amd64 secure shell (SSH) client, for secure access to remote machines
ii openssh-server 1:8.2p1-4ubuntu0.10 amd64 secure shell (SSH) server, for secure access from remote machines
ii openssh-sftp-server 1:8.2p1-4ubuntu0.10 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines
ii ssh-import-id 5.10-0ubuntu1 all securely retrieve an SSH public key and install it locally连接服务器
sftp userhostname/ipsftp命令行参数
sftp help
Available commands:
bye Quit sftp
cd path Change remote directory to path
chgrp [-h] grp path Change group of file path to grp
chmod [-h] mode path Change permissions of file path to mode
chown [-h] own path Change owner of file path to own
df [-hi] [path] Display statistics for current directory orfilesystem containing path
exit Quit sftp
get [-afpR] remote [local] Download file
help Display this help text
lcd path Change local directory to path
lls [ls-options [path]] Display local directory listing
lmkdir path Create local directory
ln [-s] oldpath newpath Link remote file (-s for symlink)
lpwd Print local working directory
ls [-1afhlnrSt] [path] Display remote directory listing
lumask umask Set local umask to umask
mkdir path Create remote directory
progress Toggle display of progress meter
put [-afpR] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
reget [-fpR] remote [local] Resume download file
rename oldpath newpath Rename remote file
reput [-fpR] local [remote] Resume upload file
rm path Delete remote file
rmdir path Remove remote directory
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute command in local shell
! Escape to local shell
? Synonym for help注Windows10系统默认安装ssh客户端和sftp客户端。
二、nfs文件服务器
1、安装
sudo apt install nfs-kernel-server2、配置
默认配置文件路径/etc/exports 当我们需要共享~/Downloads和 ~/Public目录时我们可以添加以下内容
/home/root/Downloads/ *(rw,sync,no_root_squash)
/home/root/Public/ *(rw,sync,no_root_squash)属性解释
/home/root/Downloads/nfs服务器共享目录 允许所有设备可以访问该共享 rw客户端对该共享目录具有读写权限sync修改同步到存储no_root_squashroot用户具有对根目录的完全管理访问权限 注共享目录需要使用绝对路径描述。
3、管理
安装nfs服务器后默认使用systemctl进行管理因此可以使用以下命令管理nfs服务器状态
# 运行管理
sudo systemctl start nfs-kernel-server.service
sudo systemctl restart nfs-kernel-server.service
sudo systemctl stop nfs-kernel-server.service# 使能/失能开机自启动
sudo systemctl enable nfs-kernel-server.service
sudo systemctl disable nfs-kernel-server.service# 查看服务状态
sudo systemctl status nfs-kernel-server.service4、测试
当nfs服务器安装、配置完成了我们可以做一些必要的检查验证。
在nfs服务器主机 使用showmount -e localhost可以查看本机所有共享目录。 注使用showmount -e remotehost可以查看远程特定主机的共享目录。
rootubuntu:~$ showmount -e localhost
Export list for localhost:
/home/root/Public *
/home/root/Downloads *在Linux客户端环境 可以尝试挂载共享目录若没有nfs客户端可以使用sudo apt install nfs-common安装在Windwos客户端环境 默认未使能nfs功能可以在”控制面板-》程序-》启动或关闭Windows功能“中使能NFS客户端。 完成后可以使用”添加网络驱动器“的方式将nfs共享目录映射为本地磁盘。
三、samba文件服务器
nfs文件服务器可用于Linux系统之间、Linux与Windows系统之间的文件共享但是nfs文件系统没有用户权限控制当我们需要对访问者权限控制时可以用samba服务企业化应用较多。
1、安装
sudo apt-get install samba2、配置
默认配置文件路径/etc/samba/smb.conf 相对于nfs文件服务器samba文件服务器的配置项较多但也提供了更加灵活的管理方式。 对共享文件的场景我们可以增加以下配置项共享media和camare两个目录
[media]comment media directoriespath /media/mediapublic yesbrowseable yeswritable yesguest ok yes
[camera]comment camare directoriespath /media/camerapublic yesbrowseable yeswritable yesguest ok no注其他配置项可以保持默认值也可以参考配置文件中的注解做相应修改。
3、管理
samba服务器后同样也是使用systemctl进行管理因此可以使用以下命令管理samba服务器
# 运行管理
sudo systemctl start smbd.service
sudo systemctl restart smbd.service
sudo systemctl stop smbd.service# 使能/失能开机自启动
sudo systemctl enable smbd.service
sudo systemctl disable smbd.service# 运行状态
sudo systemctl status smbd.service4、测试
samba客户端一般部署在windows环境与nfs文件系统不同win10默认开启samba客户端。
方式一Windows运行查看 “WinR”打开运行输入服务端IP和共享目录(“\server_ip/name“或”\server_ip\name\share_folder”)可以查看到共享的目录 注访问到设置了权限的目录时需要输入对应的用户名、密码。
方式二添加网络驱动器映射 “WinE”打开资源管理器“计算机” - “映射网络驱动器”
四、DLNA媒体服务器
基于nfs和samba文件服务器我们也可以共享各种多媒体文件到移动端但我们也可以基于更专业DLNA协议搭建一个简易的家庭影院。 注基于创维的电视盒子测试samba服务器可以找到但无法访问使用minidlna服务可以流畅访问到服务器端的媒体软件。
1、安装
sudo apt install minidlna2、配置
默认配置文件路径/etc/minidlna.conf 如果我们想添加共享/media/media目录, 只需要在配置文件添加以下行
media_dir/media/media注1其他配置项可以保持默认值也可以根据配置文件中的注解做相应修改。 注2miniDLNA默认使用8200端口提供web端的状态查看如果冲突需要在配置文件中修改。
3、管理
minidlna服务器同样使用systemdserver进行管理。
# 运行管理
sudo systemctl start minidlna.service
sudo systemctl restart minidlna.service
sudo systemctl stop minidlna.service# 使能/失能开机自启动
sudo systemctl enable minidlna.service
sudo systemctl disable minidlna.service# 运行状态
sudo systemctl status minidlna.service4、测试 Web端测试 通过server_ip/name:8200访问miniDLNA服务器可以查看到服务器的实时状态。 设备端测试 服务端保持运行使用支持DLNA协议的电视/电视盒子和服务端连接到同一网络下在电视/电视盒子“媒体中心”或其他类似的菜单名中可以搜索到minidlna的共享设备选择打开便可以访问到共享的媒体文件。