这个命令列出了当前路径中的目录。ls -d */
模式*/
到底有什么作用?
我们如何在上述命令中给出绝对路径(如ls -d /home/alice/Documents
),以便只列出该路径中的目录?
例如:echo */
, echo */*/
下面是我得到的结果。
cs/ draft/ files/ hacks/ masters/ static/
cs/code/ files/images/ static/images/ static/stylesheets/
ls
的方法例如:ls -d */
以下正是我得到的结果。
cs/ files/ masters/
draft/ hacks/ static/
或者作为列表(有详细信息): ls -dl */
.
ls
和grep
。例如: ls -l | grep "^d"
.
这是我得到的东西。
drwxr-xr-x 24 h staff 816 Jun 8 10:55 cs
drwxr-xr-x 6 h staff 204 Jun 8 10:55 draft
drwxr-xr-x 9 h staff 306 Jun 8 10:55 files
drwxr-xr-x 2 h staff 68 Jun 9 13:19 hacks
drwxr-xr-x 6 h staff 204 Jun 8 10:55 masters
drwxr-xr-x 4 h staff 136 Jun 8 10:55 static
例如:for i in $(ls -d */); do echo ${i%%/}; done
以下是我得到的结果。
cs
draft
files
hacks
masters
static
如果你喜欢用'/'作为结尾字符,那么命令将是。for i in $(ls -d */); do echo ${i}; done
。
cs/
draft/
files/
hacks/
masters/
static/
我使用。
ls -d */ | cut -f1 -d'/'
这将创建一个没有尾部斜线的单列--在脚本中很有用。
我的两分钱。