Linux Shell基础:ln命令

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 227 13:15 hard_log
-rw-rw-r-- 2 dev dev   19 227 13:15 log.txt
lrwxrwxrwx 1 dev dev    7 227 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 227 13:15 hard_log
lrwxrwxrwx 1 dev dev  7 227 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

猜你喜欢

转载自blog.csdn.net/yinminsumeng/article/details/129240043