dropbox和mklink在文件管理上的简单使用
====目录====
1. 好东西要存放到dropbox
2. 大A、大C、大B登场
3. 文件访问
4. mklink的加入
5. 最后
====内容====
1. 好东西要存放到dropbox
Dropbox是随系统启动而启动的,很乖很安静。近期安装了个wiki,把wiki的data文件夹也扔到dropbox里;另外在看书学习/调试代码时,也把代码文档src存放在dropbox(后面的dropbox/src)。于是,后来考虑的是,怎么在不同地方便捷访问dropbox里的src和data。
草图大概是这样子的:
标注红色圆圈的4个箭头,分别是:
1.第①个:Win下安装了dropbox,win7下打开dropbox自然可以查看dropbox里的文件,这是最普遍的访问方式吧
2.第②个:虚拟机里的Arch系统访问dropbox
3.第③个:局域网其他电脑先连接到虚拟机里的系统Arch,再通过上面的②方式
4.第④个:类似方式①,局域网里的其他电脑直接访问dropbox文件夹
比较好玩的是方式②,使用到了mklink。后续提到dropbox时,默认指的是大A中安装的dropbox
2. 大A、大C、大B登场
在上面那个草图中,大A是我的笔记本,win7系统;通过虚拟机virtualbox安装了大C,linux系统,使用的是Arch,没有安装x界面,因为暂时只用来编译代码;同在一个路由器之下的还有个台式机大B,19寸屏幕,用它来ssh连接大C里的Arch,看代码或man什么的,大屏幕自然舒服很多
3. 文件访问
3.1 方式②,C里的Arch系统里访问A里的win7文件
在virtualbox里安装好Arch之后,A为host端,C就为client端。
在Arch之下,client端访问host端的文件,是通过安装Guest Addition来实现文件夹共享:
a.安装:
# pacman -S virtualbox-guest-utils
b.加载模块:
# modprobe -a vboxguest vboxsf vboxvideo
c.创建配置文件/etc/modules-load.d/virtualbox.conf,其内容为:
# cat /etc/modules-load.d/virtualbox.conf
vboxguest
vboxsf
vboxvideo
d.把用户(eg:ppz)加入group(vboxsf,这个group是这个Guest Addition创建的),加入后用户才有权限读写host下的文件夹(dropbox/src)
# gpasswd -a ppz vboxsf
e.在virtualbox软件里设置共享文件夹
步骤:设置-共享文件夹-添加host的文件夹(注1)-选中“自动挂载”、“固定分配”,然后重启Arch。
注1:这个host文件夹,就是A里dropbox文件夹里的某个文件夹,比如dropbox/src,需要在Arch中对该文件夹读写,这样在Arch中创建/修改/删除文件时,相当于对dropbox中的文件直接操作。
在Arch中查看用户ppz已经加入vboxsf这个group(最后的109vboxsf):
ppz@Arch /media$ id ppz
uid=1002(ppz) gid=100(users) 组=100(users),7(lp),50(games),91(video),92(audio),93(optical),95(storage),96(scanner),98(power),109(vboxsf)
Arch重启后,A中dropbox中的src文件夹已经自动挂在在/media目录下,以sf_开头:
ppz@Arch ~$ ls -lrt /media
drwxrwx--- 1 root vboxsf 4096 9月 21 21:36 sf_src
于是,方式②实现了,在Arch中,没有X界面,在终端下创建/修改的代码文件直接保存到dropbox中,dropbox自动同步保存,不怕文件丢失。
3.2 方式③,ssh连接大C里的Arch
因为A, B, C都在同个局域网内,其ip地址分别为:
A: 192.168.1.105
C: 192.168.1.106
B: 192.168.1.110
这样在C的Arch中安装openssh之后,在A和B中,都可以通过SecureCRT去ssh连接C:
# ssh 192.168.1.106
连接之后,在终端打开/mediar/sf_src,在这里创建/修改/删除的文件,也就跟方式②一样了
3.3 方式④,win7系统之间的访问
当然,在B中,在文件浏览器里,通过A的ip地址也可以直接访问A的文件,也就是dropbox里的src文件夹,需要2个步骤:
a.在A的win7系统中,为用户创建一个密码(原本就没有密码的话),比如123
b.把A中的dropbox文件夹(比如还是上面的dropbox/src)设置为共享(ps.下面有另外的方式)
这样,在B的文件浏览器通过\\192.168.1.105可以查看A的共享文件,当然,查看前会提示进行登录,输入A中win7系统的用户名和刚才设置的密码。
4. mklink的加入
其实上面的内容,原本不是我要写这些的初衷,最开始原本是想赞美一下mklink而已。
上面提到dropbox下的src文件夹,在3.3节中,我并不是对该文件夹设置共享,而是通过mklink把src链接到另外一个地方,再设置共享:
a.在A中win7里,把dropbox/src这个文件夹,链接到E:\src\(这个目录N早就已经有了)下且改名为dropboxSrc,结果为E:\src\dropboxSrc,因为E:\src这个目录存放了我各种××的代码,存放在dropbox里的src,也想统一链接到这里,这样,我一打开E:\src,就能查看到我电脑里存在的所有代码(当然,目前还没全部整理好),达到统一管理代码的目的,对于文档进行分类归档管理,这也是个好习惯吧:D
mklink的命令很简单,这里创建一个“目录符号链接”,通过win+r,输入cmd打开命令提示符,然后命令:mklink /d "E:\src\dropboxSrc" "E:\11\22\33\44\55\66\77\Dropbox\src"
a. 第1个参数“/d”表示创建目录符号链接(更多参数查看帮助吧)
b. 第2个参数"E:\src\dropboxSrc"是将要创建的目录
c. 第3个参数是dropbox/src的在A中win7系统里的实际地址,我用11\22\33\44\55\66\77做了路径隐藏:)
创建了E:\src\dropboxSrc之后,对目录dropboxSrc设置共享,然后
a. 修改上面的挂载路径,不再挂载dropbox/src,而是挂载E:\src\dropboxSrc到C中的Arch
b. 修改上面共享的文件夹,不再直接对dropbox/src设置共享,而是对E:\src\dropboxSrc设置共享
5. 最后
通过mklink,个人感觉可以做个文件访问屏蔽层,可以把A中任意目录同步到dropbox,也可以把dropbox的任意目录,按电脑文件管理原则(个人喜欢)进行统一链接,即:
a.上面提到的dropbox/src目录,原本是其他电脑(工作使用的电脑)创建的目录,在A中(家里使用的电脑)一开始是没有的
b.在家里的电脑A中想访问dropbox/src目录,但又不想总是进入dropbox的目录(E:\11\22\33\44\55\66\77\Dropbox\src,11\22\33\44\55\66\77表示有很多层目录,这样很难看),而且A中本来就有代码大全目录(E:\src),dropbox/src这个小小目录,也必须归档于E:\src目录,在E:\src目录下做统一管理
所以,在多台设备(包括台式机电脑、笔记本,未来也许能加入mac book*)的文件管理方案里,在多个系统之间,win7的mklink提供了很赞的功能,好比linux下提供了ln命令。
1. 好东西要存放到dropbox
2. 大A、大C、大B登场
3. 文件访问
4. mklink的加入
5. 最后
====内容====
1. 好东西要存放到dropbox
Dropbox是随系统启动而启动的,很乖很安静。近期安装了个wiki,把wiki的data文件夹也扔到dropbox里;另外在看书学习/调试代码时,也把代码文档src存放在dropbox(后面的dropbox/src)。于是,后来考虑的是,怎么在不同地方便捷访问dropbox里的src和data。
草图大概是这样子的:
![]() |
标注红色圆圈的4个箭头,分别是:
1.第①个:Win下安装了dropbox,win7下打开dropbox自然可以查看dropbox里的文件,这是最普遍的访问方式吧
2.第②个:虚拟机里的Arch系统访问dropbox
3.第③个:局域网其他电脑先连接到虚拟机里的系统Arch,再通过上面的②方式
4.第④个:类似方式①,局域网里的其他电脑直接访问dropbox文件夹
比较好玩的是方式②,使用到了mklink。后续提到dropbox时,默认指的是大A中安装的dropbox
2. 大A、大C、大B登场
在上面那个草图中,大A是我的笔记本,win7系统;通过虚拟机virtualbox安装了大C,linux系统,使用的是Arch,没有安装x界面,因为暂时只用来编译代码;同在一个路由器之下的还有个台式机大B,19寸屏幕,用它来ssh连接大C里的Arch,看代码或man什么的,大屏幕自然舒服很多
3. 文件访问
3.1 方式②,C里的Arch系统里访问A里的win7文件
在virtualbox里安装好Arch之后,A为host端,C就为client端。
在Arch之下,client端访问host端的文件,是通过安装Guest Addition来实现文件夹共享:
a.安装:
# pacman -S virtualbox-guest-utils
b.加载模块:
# modprobe -a vboxguest vboxsf vboxvideo
c.创建配置文件/etc/modules-load.d/virtualbox.conf,其内容为:
# cat /etc/modules-load.d/virtualbox.conf
vboxguest
vboxsf
vboxvideo
d.把用户(eg:ppz)加入group(vboxsf,这个group是这个Guest Addition创建的),加入后用户才有权限读写host下的文件夹(dropbox/src)
# gpasswd -a ppz vboxsf
e.在virtualbox软件里设置共享文件夹
步骤:设置-共享文件夹-添加host的文件夹(注1)-选中“自动挂载”、“固定分配”,然后重启Arch。
注1:这个host文件夹,就是A里dropbox文件夹里的某个文件夹,比如dropbox/src,需要在Arch中对该文件夹读写,这样在Arch中创建/修改/删除文件时,相当于对dropbox中的文件直接操作。
在Arch中查看用户ppz已经加入vboxsf这个group(最后的109vboxsf):
ppz@Arch /media$ id ppz
uid=1002(ppz) gid=100(users) 组=100(users),7(lp),50(games),91(video),92(audio),93(optical),95(storage),96(scanner),98(power),109(vboxsf)
Arch重启后,A中dropbox中的src文件夹已经自动挂在在/media目录下,以sf_开头:
ppz@Arch ~$ ls -lrt /media
drwxrwx--- 1 root vboxsf 4096 9月 21 21:36 sf_src
于是,方式②实现了,在Arch中,没有X界面,在终端下创建/修改的代码文件直接保存到dropbox中,dropbox自动同步保存,不怕文件丢失。
3.2 方式③,ssh连接大C里的Arch
因为A, B, C都在同个局域网内,其ip地址分别为:
A: 192.168.1.105
C: 192.168.1.106
B: 192.168.1.110
这样在C的Arch中安装openssh之后,在A和B中,都可以通过SecureCRT去ssh连接C:
# ssh 192.168.1.106
连接之后,在终端打开/mediar/sf_src,在这里创建/修改/删除的文件,也就跟方式②一样了
3.3 方式④,win7系统之间的访问
当然,在B中,在文件浏览器里,通过A的ip地址也可以直接访问A的文件,也就是dropbox里的src文件夹,需要2个步骤:
a.在A的win7系统中,为用户创建一个密码(原本就没有密码的话),比如123
b.把A中的dropbox文件夹(比如还是上面的dropbox/src)设置为共享(ps.下面有另外的方式)
这样,在B的文件浏览器通过\\192.168.1.105可以查看A的共享文件,当然,查看前会提示进行登录,输入A中win7系统的用户名和刚才设置的密码。
4. mklink的加入
其实上面的内容,原本不是我要写这些的初衷,最开始原本是想赞美一下mklink而已。
上面提到dropbox下的src文件夹,在3.3节中,我并不是对该文件夹设置共享,而是通过mklink把src链接到另外一个地方,再设置共享:
a.在A中win7里,把dropbox/src这个文件夹,链接到E:\src\(这个目录N早就已经有了)下且改名为dropboxSrc,结果为E:\src\dropboxSrc,因为E:\src这个目录存放了我各种××的代码,存放在dropbox里的src,也想统一链接到这里,这样,我一打开E:\src,就能查看到我电脑里存在的所有代码(当然,目前还没全部整理好),达到统一管理代码的目的,对于文档进行分类归档管理,这也是个好习惯吧:D
mklink的命令很简单,这里创建一个“目录符号链接”,通过win+r,输入cmd打开命令提示符,然后命令:mklink /d "E:\src\dropboxSrc" "E:\11\22\33\44\55\66\77\Dropbox\src"
a. 第1个参数“/d”表示创建目录符号链接(更多参数查看帮助吧)
b. 第2个参数"E:\src\dropboxSrc"是将要创建的目录
c. 第3个参数是dropbox/src的在A中win7系统里的实际地址,我用11\22\33\44\55\66\77做了路径隐藏:)
创建了E:\src\dropboxSrc之后,对目录dropboxSrc设置共享,然后
a. 修改上面的挂载路径,不再挂载dropbox/src,而是挂载E:\src\dropboxSrc到C中的Arch
b. 修改上面共享的文件夹,不再直接对dropbox/src设置共享,而是对E:\src\dropboxSrc设置共享
5. 最后
通过mklink,个人感觉可以做个文件访问屏蔽层,可以把A中任意目录同步到dropbox,也可以把dropbox的任意目录,按电脑文件管理原则(个人喜欢)进行统一链接,即:
a.上面提到的dropbox/src目录,原本是其他电脑(工作使用的电脑)创建的目录,在A中(家里使用的电脑)一开始是没有的
b.在家里的电脑A中想访问dropbox/src目录,但又不想总是进入dropbox的目录(E:\11\22\33\44\55\66\77\Dropbox\src,11\22\33\44\55\66\77表示有很多层目录,这样很难看),而且A中本来就有代码大全目录(E:\src),dropbox/src这个小小目录,也必须归档于E:\src目录,在E:\src目录下做统一管理
所以,在多台设备(包括台式机电脑、笔记本,未来也许能加入mac book*)的文件管理方案里,在多个系统之间,win7的mklink提供了很赞的功能,好比linux下提供了ln命令。
-
毛阿毛阿毛阿毛 赞了这篇日记 2017-06-12 04:59:51