转载

玩转windows内置linux子系统_3.对路径的优化

前言

进来玩一会你就会发现,最大的不方便就是路径,为了方便与windows进行交互,我们尽量的把文件的 IO 操作都使用windows的盘下,即 C盘D盘 之类的。

而设备挂载之后是默认放在 /mnt/c 等下面的,每次操作起来十分的不便,那么有没有办法来优化这一点呢?

ln命令

ln是linux中一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

命令格式

ln [参数][源文件或目录][目标文件或目录]

命令参数

-b 删除,覆盖以前建立的链接 -d 允许超级用户制作目录的硬链接 -f 强制执行 -i 交互模式,文件存在则提示用户是否覆盖 -n 把符号链接视为一般目录 -s 软链接(符号链接) -v 显示详细的处理过程  -S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>” -V “-V<备份方式>”或“--version-control=<备份方式>” --help 显示帮助信息 --version 显示版本信息

命令介绍

Linux链接分两种,一种被称为硬链接( Hard Link ),另一种被称为符号链接( Symbolic Link )。默认情况下,ln命令产生硬链接。

硬连接

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

软连接

软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

额外说明

  1. 目录只能创建软链接

  2. 目录创建链接必须用绝对路径,相对路径创建会不成功。

  3. 在链接目标目录中修改文件都会在源文件目录中同步变化

拓展

实际上windows中也有这样的命令,只不过没有linux中应有的这么广泛,那么windows下的命令是什么呢? mklink

操作

在看完以上关于 ln 命令的介绍后,相信你也已经明白,此处我们应该选择软连接,于是我们可以操作如下:

ln -s /mnt/c /c ln -s /mnt/d /d

这样我们便把windows下的C盘,变成了linux下的/c。我们试着

mkdir /c/test

回到window下的C盘看看,是否真的有这么一个文件夹呢?

原文  https://segmentfault.com/a/1190000005792010
正文到此结束
Loading...