Linux命令整理之三:ln

Ln命令

功能:

链接文件。分为硬链接(hard link)和软链接(symbolic link)。默认为硬链接。

语法:

ln [ -f | -n] [ -s ] SourceFile [ TargetFile ]   链接到文件

ln [ -f | -n] [ -s ] SourceFile ... TargetDirectory   一个或多个文件链接到目录

用法说明:感觉着就是windows中的快捷方式。

常用参数和选项:

-f  促使 ln 命令替换掉任何已经存在的目的路径。如果目的路径已经存在,而没有指定-f 标志,ln命令不会创建新的链接,而是向标准错误写一条诊断消息并继续链接剩下的SourceFiles。 
-n  指定,如果链接是一个现有的文件,那么不要覆盖文件的内容。 -f 标志重设了这个标志。这是缺省的行为。 
-s  促使 ln 命令创建符号链接。符号链接中包含了它所链接的文件的名字。当对链接执行打开操作的时候,会使用到引用文件。对符号链接的stat 调用会返回链接的目标文件;必须完成lstat调用来获取链接的信息。可以使用readlink 调用来读取符号链接的内容。符号链接可能跨越文件系统,指向目录。 

使用举例

1. 文件的软链接

ln  –s  /home/linc linc

2.文件夹的软链接

ln -s ~/android/sdk/* /tmp/testsdk/

3.软链接的删除

上面我已经建立了android adk的软链接,那么我怎么删除它呢?会不会把原文件也删掉呢?

过往的经验是rm /tmp/testsdk后面无“/” 反斜杠。否则会把原文件删掉。

rm -i -r testsdk
rm: descend into directory `testsdk'? y
rm: remove symbolic link `testsdk/build-tools'? y
rm: remove symbolic link `testsdk/tools'? y
rm: remove symbolic link `testsdk/add-ons'? y
rm: remove symbolic link `testsdk/platforms'? y
rm: remove symbolic link `testsdk/platform-tools'? y
rm: remove symbolic link `testsdk/extras'? y
rm: remove symbolic link `testsdk/temp'? y
rm: remove symbolic link `testsdk/docs'? y
rm: remove symbolic link `testsdk/system-images'? y
rm: remove symbolic link `testsdk/sdk'? y
rm: remove symbolic link `testsdk/sources'? y
rm: remove symbolic link `testsdk/samples'? y
rm: remove directory `testsdk'? y
为了保险起见,我加了询问“-i”参数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值