我想找一个命令,可以列出所有文件(包括隐藏文件),但必须排除当前目录和父目录。请帮忙。
$ ls -a \.\..
关于 ls(1) 文档 (man ls
):
-A, --almost-all 不显示隐含的 . 和 ..
你需要使用此选项 (不需要任何额外参数,如 .*
):
ls -A
或者更好的是:
/bin/ls -A
$ ls -lA
适合我的需求最佳。
为了方便起见,我建议在.bashrc文件中定义一个别名,如下所示:
alias ll='ls -lA'
runlevel0@ubuntu:~/scripts$ ls -1dA .*
.
..
.comparepp.sh.swp
我尝试以用户身份删除文件肯定会出现错误,但作为root,我不想去想可能会发生的事情!
在这种情况下,我的做法是:
for dir in $(ls -1ad .* | tail -n +3) ; do rm -rfv $dir ; done
ls -d1A .* | tail -n +3
/bin/ls -A
排除了点目录,但ls -A
却没有?至少在我的系统上是这样的,我的系统基于 Ubuntu 14.04.5 发行版。 - Sophiels
是一些别名(或 shell 函数),例如在您的.bashrc
文件中。 - Basile Starynkevitch