android ln sync命令,ln 命令使用

什么是链接(link)?

Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名

链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link)

硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

什么是硬链接?

硬链接的意思是一个档案可以有多个名称

它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

命令格式: ln 源文件 目标文件

关于硬链接你应该知道:

1.硬链接,以文件副本的形式存在。但不占用实际空间。

2.不允许给目录创建硬链接

3.硬链接只有在同一个文件系统中才能创建

什么是软链接?

软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。

它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间

命令格式: ln -s 源文件 目标文件

关于软链接你应该知道:

1.软链接以路径的形式存在。类似于Windows操作系统中的快捷方式

2.软链接可以 跨文件系统,硬链接不可以

3.软链接可以对一个不存在的文件名进行链接

4.软链接可以对目录进行链接

ln命令的功能是什么?

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

ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;

什么时候使用ln命令?

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

命令格式:

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

命令参数:

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-n 把符号链接视为一般目录

-s 软链接(符号链接)

-v 显示详细的处理过程

创建软链接

#新建一个文件symboliclink.logbixiaopeng@bixiaopengtekiMacBook-Pro test$ touch symboliclink.log

#查看文件属性

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ls -l

total 0

-rw-r--r--  1 bixiaopeng  wheel  0 11  9 11:51 symboliclink.log

#给symboliclink.log创建软链接 symboliclink

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ln -s symboliclink.log symboliclink

#再次查看文件属性,链接已经创建成功,相当于给symboliclink.log创建了一个快捷方式

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ls -l

total 8

lrwxr-xr-x  1 bixiaopeng  wheel  16 11  9 11:51 symboliclink -> symboliclink.log

-rw-r--r--  1 bixiaopeng  wheel   0 11  9 11:51 symboliclink.log

#编辑源文件symboliclink.log

bixiaopeng@bixiaopengtekiMacBook-Pro test$ vim symboliclink.log

bixiaopeng@bixiaopengtekiMacBook-Pro test$ cat symboliclink.log

i am symbolic link

#软件链接symboliclink也同样被修改了

bixiaopeng@bixiaopengtekiMacBook-Pro test$ cat symboliclink

i am symbolic link

#删除源文件 symboliclink.log

bixiaopeng@bixiaopengtekiMacBook-Pro test$ rm symboliclink.log

#查看文件属性,链接还在

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ls -ln

lrwxr-xr-x  1 501  0  16 11  9 11:51 symboliclink -> symboliclink.log

#查看软链接,链接失效

bixiaopeng@bixiaopengtekiMacBook-Pro test$ cat symboliclink

cat: symboliclink: No such file or directory

#重建源文件

bixiaopeng@bixiaopengtekiMacBook-Pro test$ touch symboliclink.log

#重建后自动链接上了

bixiaopeng@bixiaopengtekiMacBook-Pro test$ cat symboliclink

创建硬链接

#新建源文件hardlink.log

bixiaopeng@bixiaopengtekiMacBook-Pro test$ touch hardlink.log

#查看源文件属性

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ls -l

total 16

-rw-r--r--  1 bixiaopeng  wheel   0 11  9 11:54 hardlink.log

#创建硬链接hardlink

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ln hardlink.log hardlink

#查看属性,它会在你选定的位置上生成一个和源文件大小相同的文件

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ls -l

total 16

-rw-r--r--  2 bixiaopeng  wheel   0 11  9 11:54 hardlink

-rw-r--r--  2 bixiaopeng  wheel   0 11  9 11:54 hardlink.log

#此时源文件是空的,编辑— 加入文本i am hardlink

bixiaopeng@bixiaopengtekiMacBook-Pro test$ vim hardlink.log

bixiaopeng@bixiaopengtekiMacBook-Pro test$ cat hardlink.log

i am hardlink

bixiaopeng@bixiaopengtekiMacBook-Pro test$ cat hardlink

i am hardlink

#删除源文件

bixiaopeng@bixiaopengtekiMacBook-Pro test$ rm hardlink.log

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ls -l

total 8

-rw-r--r--  1 bixiaopeng  wheel  14 11  9 11:55 hardlink

#硬链接没有受任何影响

bixiaopeng@bixiaopengtekiMacBook-Pro test$ cat hardlink

i am hardlink

#重建源文件

bixiaopeng@bixiaopengtekiMacBook-Pro test$ touch hardlink.log

#硬链接没有受任何影响,说明硬链接已经失效

bixiaopeng@bixiaopengtekiMacBook-Pro test$ cat hardlink

i am hardlink

#重新链接会告诉你文件已经存在

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ln hardlink.log hardlink

ln: hardlink: File exists

创建目录链接

1.目录只能创建软链接

2.目录创建链接必须用绝对路径,相对路径创建会不成功,会提示:符号连接的层数过多 这样的错误

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

#给目录创建链接

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ln -sv /Volumes/warehouse/test/srcdir /Volumes/warehouse/test/targetdir

/Volumes/warehouse/test/targetdir/srcdir -> /Volumes/warehouse/test/srcdir

#查看链接是否成功

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ls -l targetdir/

total 8

lrwxr-xr-x  1 bixiaopeng  wheel  30 11 13 09:58 srcdir -> /Volumes/warehouse/test/srcdir

#修改源文件目录

bixiaopeng@bixiaopengtekiMacBook-Pro test$ mkdir srcdir/test

#目标文件目录会同步修改

bixiaopeng@bixiaopengtekiMacBook-Pro test$ ls targetdir/srcdir

test

注意点:

ln指令用在链接文件或目录时:

若同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。

若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值