我想列出所有只有扩展名的文件和文件夹,例如.bashrc
、.cache/
等。这看起来应该很简单。当我尝试时ls .*
,我没有得到预期的结果:
jacob@jacob-Precision-Tower-3620:/home/jacob$ ls .*
.bash_history .bash_logout .bashrc .ICEauthority .profile
.:
Desktop Documents Downloads Music Pictures Public Templates Videos
..:
jacob lost+found
.cache:
event-sound-cache.tdb.d35b7efbc4794c7998a81437c01c41ec.x86_64-pc-linux-gnu evolution fontconfig gnome-getting-started-docs gnome-software gstreamer-1.0 ibus logrotate media-art thumbnails totem tracker update-manager-core upstart yelp
.config:
dconf evolution gnome-session goa-1.0 gtk-3.0 ibus libaccounts-glib nautilus parcellite pulse totem update-notifier upstart user-dirs.dirs user-dirs.locale yelp
.gconf:
.gnupg:
private-keys-v1.d S.gpg-agent
.local:
share
.nano:
.nv:
GLCache```
答案1
您可以使用ls -A
, 来显示隐藏文件(但不能使用.
和..
: 来包含您可能使用的文件ls -a
)。
对于您的情况:*
由 shell 扩展,因此ls
会看到一些文件和一些目录。如果将目录作为参数,它将列出该目录中的文件。您可以使用ls -d *
强制列出参数中的文件,而不是列出参数中目录中的文件。注意:与(但对于某些格式)ls -d .*
没有太大区别。echo .*