How to get the directory path and file name from a absolute path in Bash on Linux?

How to get the directory path and file name from a absolute path in Bash on Linux? For example, with “/foo/bar/baz.txt”, it will produce: “/foo/bar/” and “baz.txt”.

You also have the basename and dirname commands besides of the basename and dirname C API in Linux:

[zma@laptop:~]$ p="/foo/bar/baz.txt"
[zma@laptop:~]$ dirname $p
/foo/bar
[zma@laptop:~]$ basename $p
baz.txt
Answered by Eric Z Ma.

Eric Z Ma

Eric is a father and systems guy. Eric is interested in building high-performance and scalable distributed systems and related technologies. The views or opinions expressed here are solely Eric's own and do not necessarily represent those of any third parties.

Leave a Reply

Your email address will not be published. Required fields are marked *