How can I create multiple nested directories in one command?
mkdir -p /just/one/dir
But I need to create multiple different nested directories...
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.
Sign up to join this communitymkdir
accepts multiple path arguments:
mkdir -p -- a/foo b/bar a/baz
-s
/--some-thing
) and only (positional) arguments from now on. See also unix.stackexchange.com/q/11376/117599 It's not strictly necessary here, I just added it to signify further that those are multiple positional arguments.
To add to the above answers you can also do (in csh
, tcsh
, ksh
, bash
, zsh
, fish
, yash -o brace-expand
):
mkdir -p /path/{to,a}/{lot,of}/directories
bash
and similar shells supporting that particular feature (brace expansion) that is. For more information, see wiki.bash-hackers.org/syntax/expansion/brace
csh
and similar shells supporting that particular feature (that comes from csh
(late 70s)).
Jan 17, 2017 at 17:29
bash
,")
rc
/es
don't support it either but have a similar feature with mkdir /path/^(to some)^/directories
Jan 17, 2017 at 17:38
Reading the man page is always a good place to start.
The -p
flag will create the required intermediate directories on the path.