Windows与Ubuntu之间的文件传输

在本地虚拟机新安装了一个Ubuntu22.04系统,发现在windows和Ubuntu之间复制粘贴文件或者直接拖动文件,经常失败。

特记录比较方便的传输方式

一、共享文件夹方式互传以及创建软连接

(一)、此方式需要在虚拟机中开启共享文件夹的功能。

注意:虚拟机中的ubuntu系统必须是已经开机状态,否则设置是灰色的,无法进行下一步

1、设置:虚拟机 -> 设置 -> 选项 -> 共享文件夹,

2、选择总是启用,

3、添加一个Ubuntu和windows共享文件的路径。

如下图:

 添加好共享文件夹后,点击“确定”即可。

1)Windows中的路径即是添加共享文件夹的时候的路径,如图:虚拟机共享文件夹

2)Ubuntu中共享文件夹的路径是:/mnt/hgfs/虚拟机共享文件夹

其中,虚拟机共享文件夹这个目录就是在windows创建的共享目录,目录名具体是啥由你而定。 

共享文件夹的缺点:由于系统差别,ubuntu中的一些特殊文件,如符号链接的文件,在windows下的共享文件夹下会报错。但如果使用 samba (不习惯使用,故不做介绍)共享文件夹就不会。

注:共享文件夹设置完成后,可能会出现以下问题:

Ubuntu中的/mnt/hgfs目录下为空,即不显示共享文件夹

解决方法如下:

方法一:

1、输出共享文件夹的名字

vmware-hgfsclient

2、安装命令

sudo apt-get install open-vm-tools

3、挂载

sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

重启之后会失效,每次需挂载一次

解决重启后共享文件夹失效

进入/etc/fstab

vim /etc/fstab

并编辑,在最后添加一行:

.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0

方法二:

使用如下命令安装,往下一路按enter键。 

sudo apt-get install open-vm-dkms

使用如下命令,即可在/mnt/hgfs目录下看到与windows共享的目录。若需开机自动挂载共享目录,则需在/etc/init.d/open-vm-tools末尾增加一下命令。 

sudo mount -t vmhgfs .host:/  /mnt/hgfs     //host:/处2个空格

(二)、Ubuntu创建软连接

当在不同的目录,用到相同的文件时,可以不需要在每一个需要的目录下都放一个必须相同的文件,只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

ln 的功能:为某一个文件在另外一个位置建立一个同步的链接

//创建链接    src(源文件目录)   dst(目标文件目录)
ln -s src dst   //软链接 -s 是代号(symbolic)的意思
ln src dst      //硬链接
//删除链接
rm dst   

示例如下:

// 创建软链接
sudo ln -s /home/fbbqt/desktop/VMware /home/fbbqt/download   // 把“VMware”文件夹放到“download”目录下
// 删除软链接
sudo rm /home/fbbqt/download

这里有两点要注意:
1、ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
2、ln的链接又软链接和硬链接(没有参数-s)两种:
       1)、软链接只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间
       2)、 硬链接会在你选定的位置上生成一个和源文件大小相同的文件

无论是软链接还是硬链接,文件都保持同步变化。这个命令最常用的参数是-s,

二、远程连接方式(本文使用MobaXterm)

mobaxterm可通过sshsftp两种方式连接Ubuntu。

1、ssh连接方式

2、sftp连接方式

如何使用mobaxterm进行连接以及如何使用mobaxterm请自行网上搜索,这里不做讲解。

如果发现使用mobaxterm连接不上虚拟机,原因是虚拟机未安装ssh服务

 安装ssh服务并启动,sshd服务程序缺省状态为自动启动

sudo apt-get install openssh-server

若没有自动启动,则使用以下命令启动

/etc/init.d/sshd

sshd服务的命令

service sshd start        //启动

service sshd stop        //停止

service sshd status        //查看状态

 下图是开启运行状态 

猜你喜欢

转载自blog.csdn.net/fbbqt/article/details/127103162