linux dirname 以及 basename 以及如何进入文件所在目录

参考:http://blog.sina.com.cn/s/blog_9d074aae01013ctk.html


######################################################


获取你所运行文件路径


可以在文件中加入

DIR="$( cd "$(dirname "$0")" ; pwd -P )"

DIR保存的就是你运行的文件的路径

cd $DIR

就能进入该文件所在目录


#########################################################3

dirname --help
linux dirname 以及 basename 以及如何进入文件所在目录_第1张图片


dirname的作用既是输出名称中的目录部分,如果名称仅仅只是一个文件名,则输出".",表示当前目录


有3个选项:

1.-z (或--zero):输出后不换行

2.--help:显示此帮助信息并退出

3.--version:显示版本信息并退出


举例:

dirname adf/asdf/ads



#可以同时输出多个文件目录

dirname dir1/str dir2/str dir3/str



#当仅有文件名时,输出".",表示当前路径

dirname str




###################################################################


basename则相反,表示移除名称的目录,仅保留文件名


basename --help

linux dirname 以及 basename 以及如何进入文件所在目录_第2张图片


共有5个选项:

1.-a (或者是--multiple):表示可以移除多个名称的目录

2.-s (或者是--suffix):表示移除相应的后缀名

3.-z (或者是--zero):表示输出结果后不换行

4.--help:显示此帮助信息并退出

5.--version:显示版本信息并退出


举例:

#如果想要同时操作多个名称,必须加上-a或者--multiple选项
basename -a dir1/str dir2/str

basename --multiple dir1/str dir2/str

#没有加-a或--multiple选项的仅处理第一个
basename dir1/str dir2/str


#移除目录的同时可以移除相应的后缀,使用-s或--suffix或在名称后加上后缀
basename dir1/str.jpg .jpg

basename -s .jpg dir1/str.jpg

basename --suffix=.jpg dir1/str.jpg
linux dirname 以及 basename 以及如何进入文件所在目录_第3张图片

你可能感兴趣的:(linux)