在本地虚拟机新安装了一个Ubuntu22.04系统,发现在windows和Ubuntu之间复制粘贴文件或者直接拖动文件,经常失败。
特记录比较方便的传输方式
注意:虚拟机中的ubuntu系统必须是已经开机状态,否则设置是灰色的,无法进行下一步
1、设置:虚拟机 -> 设置 -> 选项 -> 共享文件夹,
2、选择总是启用,
3、添加一个Ubuntu和windows共享文件的路径。
如下图:
添加好共享文件夹后,点击“确定”即可。
1)Windows中的路径即是添加共享文件夹的时候的路径,如图:虚拟机共享文件夹
2)Ubuntu中共享文件夹的路径是:/mnt/hgfs/虚拟机共享文件夹
可以用“vmhgfs-fuse -h”查看命令帮助。挂载点可以自己设置,不一定要放在默认目录。
其中,虚拟机共享文件夹这个目录就是在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
注意:
a. 4.0之前的Linux内核:
- sudo mount -t vmhgfs .host:/ /mnt/hgfs #将所有共享文件夹挂载到/mnt/hgfs
-
- sudo mount -t vmhgfs .host:/sharedfolder /mnt/hgfs #将名称sharedfolder的共享挂载到/mnt/hgfs
b. 4.0及更高版本的Linux内核:
- sudo vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other #将所有共享文件夹挂载到/mnt/hgfs
-
- sudo vmhgfs-fuse .host:/sharedfolder /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other #将名称sharedfolder的共享挂载到/mnt/hgfs
当在不同的目录,用到相同的文件时,可以不需要在每一个需要的目录下都放一个必须相同的文件,只要在某个固定的目录,放上该文件,然后在其它的目录下用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可通过ssh和sftp两种方式连接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 //查看状态
下图是开启运行状态