基本上我想做到以下几点:
ls -l[+someflags]
(或通过一些其它手段),将仅显示符号链接文件
所以输出会看
-rw-r--r-- 1 username grp size date-time filename -> somedir
-rw-r--r-- 1 username grp size date-time filename2 -> somsdfsdf
等等
例如,
只显示目录我有一个别名:
alias lsd 'ls -l | grep ^d'
我不知道,只显示隐藏文件或仅隐藏目录?
我有以下的解决方案,但是它不会显示在彩色输出:(
ls -ltra | grep '\->'
查找目录中的所有符号链接:
ls -l `find /usr/bin -maxdepth 1 -type l -print`
为了隐藏文件列表:
ls -ald .*
ls -l | grep lrw
只显示符号链接(文件和目录)。 不知道如何让他们丰富多彩的,虽然。
ls -lad .*
只显示隐藏的文件/目录
ls -l | grep drw
只显示目录。
对于只有“隐藏”文件夹 - 点文件夹,请尝试:
ls -l .**
是的,两个星号是必要的,否则你还将获得。 和。在结果。
对于符号链接,好了,试试符号链接程序:
symlinks -v .
(显示当前目录下的所有符号链接)
只显示符号链接并链接到什么:
find -P . -type l -exec echo -n "{} -> " \; -exec readlink {} \;
要限制对眼前这个DIR
find -P . -maxdepth 1 -type l -exec echo -n "{} -> " \; -exec readlink {} \;
示例输出(后LN -s的/ usr / bin中MOO):
./moo -> /usr/bin
你几乎有你的grep的解决方案; 让我们关注再次得到你的颜色。
试试这个:
ls --color=always -ltra | grep '->'
提高一点点对@ChristopheD给出(上公认的答案,因为我没有足够的声誉coudnt评论)接受的答案
我使用别名
findsymlinks <path> <depth>
其中,别名是
alias findsymlinks "find \!:1 -maxdepth \!:2 -type l -print | xargs ls -l --color=auto"
尝试文件类型的标志,并摆脱了追加的@
ls -F /home/usr/foo | grep "@" | sed 's/@//'
[对于(t)CSH:
ls --color=always -ltra | grep '\->'
(这简直是PBR的答案 ,但有连字符转义。)
Mac OSX版
在OSX, ls
原理不同,所以将它添加到您的~/.cshrc
的文件:
setenv CLICOLOR_FORCE 1 # (equivalent of Linux --color=always)
然后调用:
ls -G -ltra | grep '\->' # (-G is equivalent of ls --color)
对于bash:
这提供了一个很好的输出。
sl=`find -L /path/to/target -xtype l`; for links in $sl; do ls --color=always -ltra $links; done | sed 's/^/ /'
echo > linklist.found && $(for i in `find /path/to/dir/ -type l`; do echo `ls -d --color=always $i` `echo " -> "` $(ls -d --color=always `readlink -f $i`) >> linklist.found; echo >> linklist.found; done;) && cat linklist.found | more
这对我的作品很好但是如果你将搜索/文件系统的根目录,您将需要省略proc目录
用法:FOO $ PATH
用途如果没有指定的电流路径。
#!/bin/bash
case "$1" in
-r)
find $2 -type l -print | while IFS= read line ; do ls -l --color=always "$line"; done
;;
--help)
echo 'Usage: foo [-r] [$PATH]'
echo
echo '-r Recursive'
;;
*)
ls --color=always -ltra $1 | grep '\->'
esac