jim Asked: 2010-03-11 17:43:35 +0800 CST2010-03-11 17:43:35 +0800 CST 2010-03-11 17:43:35 +0800 CST 如何验证 CentOS 中是否存在符号链接 772 通常,ls -la会给我这个,但我猜 CentOS 是不同的。我需要验证是否存在符号链接。 centos symbolic-link 3 个回答 Voted Kyle Brandt 2010-03-11T17:53:49+08:002010-03-11T17:53:49+08:00 如果您的意思是“链接实际上指向文件吗?”,(我认为您这样做是因为: if [[ -e "$file" ]]; then echo it is there; fi 如果只是想测试文件是否是符号链接,则: if [[ -h "$file" ]]; then echo it is a link; fi 这是为 Bash 量身定制的,而不是最便携的方式。作为一些琐事,使用双括号语法时不需要引号。 如果您想搜索损坏的链接而不是使用find -L . -type l. 如果您只想 ls 再次使用其不同颜色来处理断开的链接,请尝试一下eval $(dircolors) Jason Lawer 2010-03-11T18:56:31+08:002010-03-11T18:56:31+08:00 如果您要验证您已经知道可以使用的文件。此外,文件可用于识别文件对象的类型: [akula@jasonlawer ~]$ file /var/www/html/2001914 /var/www/html/2001914: symbolic link to `/tickets/rhev/2001914.zip_FILES/' 如果它是作为包的一部分提供的,但最简单的方法就是使用 RPM 来验证包 [akula@jasonlawer ~]$ rpm -V httpd oguzalb 2010-11-25T05:54:05+08:002010-11-25T05:54:05+08:00 您可以使用 if [[ -f `readlink filename` ]]; then .... fi readlink 命令返回符号链接的目标。-f 测试该文件是否存在。注意`字符,它不是"或'。它可以帮助您像sql系统中的内部查询一样执行内部bash命令。
如果您的意思是“链接实际上指向文件吗?”,(我认为您这样做是因为:
如果只是想测试文件是否是符号链接,则:
这是为 Bash 量身定制的,而不是最便携的方式。作为一些琐事,使用双括号语法时不需要引号。
如果您想搜索损坏的链接而不是使用
find -L . -type l
.如果您只想 ls 再次使用其不同颜色来处理断开的链接,请尝试一下
eval $(dircolors)
如果您要验证您已经知道可以使用的文件。此外,文件可用于识别文件对象的类型:
如果它是作为包的一部分提供的,但最简单的方法就是使用 RPM 来验证包
您可以使用
readlink 命令返回符号链接的目标。-f 测试该文件是否存在。注意`字符,它不是"或'。它可以帮助您像sql系统中的内部查询一样执行内部bash命令。