Answers:
您可以使用grep
with ls
命令列出当前目录中存在的所有符号链接。
这将列出当前目录中存在的所有链接。
ls -la /var/www/ | grep "\->"
->
” ,它将返回假肯定。试试一个简单的touch "foo->"
grep
与^l
?
alias listlinks='ls -l --color | grep "\->"'
8
find: Unknown argument to -type: 1
1
(一个)而是l
(链接)
find /<your_directory> -maxdepth 1 -type l -ls 2>/dev/null
谢谢!
-maxdepth 1
。
awk
,您可能只想要这样:find . -maxdepth 1 -type l | sort -n
该ls -la
命令显示所有文件和文件夹以及符号链接目录,如果此命令未显示任何符号目录,则意味着您没有到WordPress的符号链接。
查看运行结果ls -la
:
kasiya@kasiya-pc:~$ cd /sys/devices/platform/sony-laptop
kasiya@kasiya-pc:/sys/devices/platform/sony-laptop$ ls -la
total 0
drwxr-xr-x 3 root root 0 Sep 9 19:57 .
drwxr-xr-x 14 root root 0 Sep 10 2014 ..
-r--r--r-- 1 root root 4096 Sep 9 22:32 battery_care_health
-rw-r--r-- 1 root root 4096 Sep 9 22:32 battery_care_limiter
lrwxrwxrwx 1 root root 0 Sep 9 19:57 driver -> ../../../bus/platform/drivers/sony-laptop
-r--r--r-- 1 root root 4096 Sep 9 22:32 modalias
drwxr-xr-x 2 root root 0 Sep 9 22:32 power
lrwxrwxrwx 1 root root 0 Sep 9 22:32 subsystem -> ../../../bus/platform
-rw-r--r-- 1 root root 4096 Sep 9 22:32 touchpad
-rw-r--r-- 1 root root 4096 Sep 9 19:57 uevent
您会看到所有符号目录l
在权限标志处都具有权限。如果使用grep,则^l
只能列出符号文件或目录:
kasiya@kasiya-pc:/sys/devices/platform/sony-laptop$ ls -la |grep ^l
lrwxrwxrwx 1 root root 0 Sep 9 19:57 driver -> ../../../bus/platform/drivers/sony-laptop
lrwxrwxrwx 1 root root 0 Sep 9 22:32 subsystem -> ../../../bus/platform
kasiya@kasiya-pc:/sys/devices/platform/sony-laptop$
驱动程序和子系统目录是此处其他目录的符号链接。
l
这是一个符号链接。
要查看目录中的符号链接:
打开终端并移至该目录。
输入命令:
ls -la
这将长列出目录中的所有文件,即使它们是隐藏的。
开头的文件l
是您的符号链接文件。
这将返回目录中所有符号链接的项目(dirs和fns):
find . -maxdepth 1 -type l -print | cut -c3- | grep -v "\#"
但是,为了区分实际的符号链接项目类型:
ls -lhaF | grep ^l | grep -v "\#" | cut -c42- | grep -v "/" | cut -d' ' -f1
仅返回符号链接的文件名项目。和,
ls -lhaF | grep ^l | grep -v "\#" | cut -c42- | grep "/" | cut -d' ' -f1
仅返回符号链接的目录名项目。
键入ls -lai
,它将列出所有具有相应inode编号的文件和子目录。您知道具有相同inode编号的文件是链接(硬链接或软链接),并且该解决方案也适用于符号链接。
也可以用python完成:
$ python -c "import os,sys; print '\n'.join([os.path.join(sys.argv[1],i) for i in os.listdir(sys.argv[1]) if os.path.islink(os.path.join(sys.argv[1],i))])" /path/to/dir
样品运行:
$ python -c "import os,sys; print '\n'.join([os.path.join(sys.argv[1],i) for i in os.listdir(sys.argv[1]) if os.path.islink(os.path.join(sys.argv[1],i))])" /etc
/etc/vtrgb
/etc/printcap
/etc/resolv.conf
/etc/os-release
/etc/mtab
/etc/localtime
可以通过os.walk
函数将其扩展为递归的,但是使用简单的列表生成就足以在单个目录中列出链接,如我上面所示。