dirname basename 命令
dirname
说白了,就是把路径的最后一层去掉,并且注意一下,它不会去识别路径的正确性,可以接多个参数
正常路径

很明显,它不去识别路径是不是正确的,x,y,z都是我编的,它会把最后一层去掉,不管最后一层是啥,并且不会带着/
携带有特殊符号的路径

这时候我们用dirname

很明显不是我想要的,这时候需要用到 -z选项

这样就对了,但是,很明显,输出格式丢了换行符,和下一行命令连起来了,很难受,这确实没有好的办法解决,不过原因是什么呢
格式不好看及用-z选项的原因
默认情况下,dirname 的输出结果是用换行符分隔的。使用 -z 选项可以改为用 NUL 字符 分隔。
常用场景
通常与 xargs -0 或 find -print0 命令结合使用

basename
这玩意儿与dirname相反,只返回最后一层,同样,也不会去判断路径是否存在,但是它只能接一个参数。

