在我的用户文件夹,我有这样的文件夹d ropbox,d ocuments,d ownloads&d UMP。
ls a*
应该列出名称以开头的所有文件a
。正确的?但是,当我给出命令时ls d*
,不仅仅显示dump
它,还向我显示了转储目录的ls。当我将命令指定ls D*
为时,它将显示所有以D开头的折叠的ls
那么我想念的是哪一部分呢?
编辑:附加屏幕截图
根据bash手册页:
bash扫描每个单词以查找字符* 、?和[。如果出现这些字符之一,则将该单词视为一个模式,并替换为与该模式匹配的按字母顺序排序的文件名列表
并从ls的信息节点
“ ls”程序列出了有关文件(任何类型,包括目录)的信息。像往常一样,选项和文件参数可以任意混合。
对于作为目录的非选项命令行参数,默认情况下,“ ls”以递归方式列出目录的内容,而不是以递归方式列出,并省略名称以“。”开头的文件。对于其他非选项参数,默认情况下,“ ls”仅列出文件名。如果未指定非选项参数,则“ ls”列出当前目录的内容。
因此,当yo Give时ls d*
,d *会扩展为以d开头的所有文件/目录名称的排序列表。所以你的命令变成
ls dump
并且由于dump是目录名,因此您将获得目录“ dump”中所有文件的列表,但是当您给出时ls D*
,D *会扩展为“ Desktop Documents Downloads Dropbox ”,因此命令变为
ls Desktop Documents Downloads Dropbox
由于所有这些都是目录,因此您将获得单个目录中的文件列表。如果当前目录中有一个以D开头的文件,则该文件将单独列出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句