ln命令用法:
ln [options] target link_name
$ echo "this is a log file" > log.txt
# 创建软链接,相当于一个快捷方式
$ ln -s log.txt soft_log
# 创建一个硬链接
$ ln log.txt hard_log
# 创建链接后,对链接的读写,都会反应在源文件上
$ ll
-rw-rw-r-- 2 dev dev 19 2月 27 13:15 hard_log
-rw-rw-r-- 2 dev dev 19 2月 27 13:15 log.txt
lrwxrwxrwx 1 dev dev 7 2月 27 13:16 soft_log -> log.txt # 彩色命令行终端上,soft_log显示为淡蓝色
$ cat hard_log
this is a log file
$ cat soft_log
this is a log file
$ echo 'hard link' >> hard_log
$ cat log.txt
this is a log file
hard link
$ echo 'soft link' >> soft_log
$ cat log.txt
this is a log file
hard link
soft link
$ cat hard_log
this is a log file
hard link
soft link
# 删除源文件,硬链接仍可用,软链接不可用
$ rm log.txt
$ ls -l
-rw-rw-r-- 2 dev dev 19 2月 27 13:15 hard_log
lrwxrwxrwx 1 dev dev 7 2月 27 13:16 soft_log -> log.txt # 命令行终端上,显示为红色
$ cat hard_log
this is a log file
$ cat soft_log
cat: soft_log: No such file or directory
这个命令比较简单,在开发中应用的频次比较高。而且最常用的就是创建软链接的用法。
随便举几个例子:
1)在Ubuntu上,同一个软件可以安装多个版本的,安装的是带版本号的名称,通过软链接创建不带版本号的名称。系统和用户默认都是使用的不带版本号的版本(链接),可以起到各个版本兼容的效果。
这种方式应用在可执行文件、动态库等。
2)在负责的工程源码中,可以通过链接把分散的头文件目录集中到一个include目录下,通过引用这一个include目录就可以把用到的头文件都搜索到。
todo