One command to create a directory and file inside it linux command
mkdir B && touch B/myfile.txt
Alternatively, create a function:
mkfile() { mkdir -p -- "$1" && touch -- "$1"/"$2" }
Execute it with 2 arguments: path to create and filename. Saying:
mkfile B/C/D myfile.txt
would create the file myfile.txt
in the directory B/C/D
.
For this purpose, you can create your own function. For example:
$ echo 'mkfile() { mkdir -p "$(dirname "$1")" && touch "$1" ; }' >> ~/.bashrc
$ source ~/.bashrc
$ mkfile ./fldr1/fldr2/file.txt
Explanation:
- Insert the function to the end of
~/.bashrc
file using theecho
command - The
-p
flag is for creating the nested folders, such asfldr2
- Update the
~/.bashrc
file with thesource
command - Use the
mkfile
function to create the file