ln命令的注意事项

1.目标目录的上级目录必须存在

mkdir -p /usr/java1 #创建上级目录
ln -sv /usr/local/jdk1.8.0_101 /usr/java1/jdk

# 上例中将"/usr/local/jdk1.8.0_ 101"目录链接为"/usr/java/jdk1",如果"/usr/java1"不存在,解决方法会创建其上级目录

2.如果已经创建过链接或目标目录已存在的注意事项

mkdir -p /usr/java1/jdk #直接创建了,要链接的目录

ln -sv /usr/local/jdk1.8.0_101 /usr/java1/jdk 

#可以见到如果目标目录已存在,创建的链接将在目标目录下创建源目录同名链接,在这种情况下,与我们的预期不相符。

rm -rf /usr/java1/jdk/jdk1.8.0_101/

#如果此时执行上面的删除指令,将不能删除“/usr/java1/jdk/jdk1.8.0_101/”目录,而是将源目录下的文件全部删除.

rm -f /usr/java1/jdk/jdk1.8.0_101 #如果要删除链接不要后面的"/",而使用tab补全时会自动加"/"

rm -rf /usr/java1/jdk/jdk1.8.0_101/ #将删除源目录下的文件,去除“/"可以正常删除

rm -f /usr/java1/jdk/jdk1.8.0_101/ #后面有"/"将不删除,提示如下:

总结:删除链接时,链接目录的名称后不能加"/",rm参数最好不要加"r",如果加了,后面又有'/",容易导致误删除。

猜你喜欢

转载自blog.csdn.net/yuanlin1318/article/details/107795541