dirname命令可以取给定路径的目录部分(strip non-directory suffix from file name)。这个命令很少直接在shell命令行中使用,我一般把它用在shell脚本中,用于取得脚本文件所在目录,然后将当前目录切换过去。Linux下还有一个命令是basename,它与dirname相反,是取得文件名称部分。

 dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部分,并写结果到标准输出。如果最后一个/无字符,dirname命令使用倒数第二个/,并忽略其后的所有字符。dirnamebasename通常在shell内部命令替换使用,以指定一个与指定输入文件名略有差异的输出文件名。

1.命令格式:

1
dirname <NAME>

2.命令功能:

 截取给定路径的目录部分。

3.命令参数:

4.使用实例:

实例1:截取目录部分

1
dirname /usr/bin/sort

输出:

1
/usr/bin

实例2:截取目录部分

1
dirname /usr/bin/

输出:

1
/usr

实例3:截取目录部分

1
dirname //

输出:

1
/

实例4:截取目录部分

1
dirname stdio.h

输出:

1
.