我想列出所有只有扩展名的文件和文件夹,比如.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```发布于 2019-03-28 15:23:10
您可以使用ls -A来显示隐藏的文件(但不是.和..:要包含use,您可以使用ls -a)。
对于您的情况:*是由shell展开的,因此ls将看到一些文件和一些目录。如果将一个目录作为参数,它将列出该目录上的文件。您可以使用ls -d *强制在参数中列出文件,而不是在参数中的目录中列出文件。注意:ls -d .*与echo .*没有太大的不同(但是对于某些格式)。
https://unix.stackexchange.com/questions/509239
复制相似问题