{"id":3575,"date":"2026-05-15T17:38:44","date_gmt":"2026-05-15T15:38:44","guid":{"rendered":"https:\/\/deepdocs.dev\/?p=3575"},"modified":"2026-05-23T17:58:53","modified_gmt":"2026-05-23T15:58:53","slug":"create-folder-in-terminal","status":"publish","type":"post","link":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/","title":{"rendered":"Create Folder in Terminal: Master Commands for 2026"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A lot of teams discover the same problem the hard way. The project works, but the project shape doesn&#8217;t. A new engineer clones the repo, opens the terminal, and starts guessing which folders are canonical, which ones are leftovers, and which setup steps still matter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s why a basic command like <strong><code>mkdir<\/code><\/strong> deserves more respect than it gets. If you care about repeatable onboarding, cleaner automation, and docs that people can trust, folder creation is not trivial. It&#8217;s one of the first places where engineering discipline shows up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Quick summary<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>mkdir<\/code> is the standard command<\/strong> for creating folders in terminal workflows across Unix-like shells and Windows PowerShell, which makes it a near-universal developer skill (<a href=\"https:\/\/openclassrooms.com\/en\/courses\/4614926-learn-the-command-line-in-terminal\/4634361-create-your-first-directory\">OpenClassrooms on <code>mkdir<\/code><\/a>).<\/li>\n\n\n\n<li>The most reliable habit is simple: <strong>check where you are, inspect the directory, then create the folder<\/strong>.<\/li>\n\n\n\n<li><strong><code>mkdir -p<\/code> is the command that scales<\/strong> when you need nested structures and scripting.<\/li>\n\n\n\n<li>Teams get the most value when they treat folder creation as <strong>part of project scaffolding<\/strong>, not an isolated shell trick.<\/li>\n\n\n\n<li>The real failure point usually isn&#8217;t the command. It&#8217;s <strong>stale setup documentation<\/strong> around the command.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Beyond the Basics Why Mastering the Terminal Matters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ve seen plenty of repos where the code quality was decent, but the structure around the code had grown by accident. A <code>scripts<\/code> folder existed in one service, <code>tools<\/code> in another, and some packages had <code>docs\/<\/code> while others buried setup notes in a wiki nobody updated. New hires didn&#8217;t struggle because they lacked terminal skills. They struggled because the team had stopped enforcing shape.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s why the ability to <strong>create folder in terminal<\/strong> workflows matters beyond beginner tutorials. It gives you a low-level way to express standards. If the expected structure is clear and scriptable, engineers stop inventing local conventions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For people who still need a quick primer before standardizing team workflows, a basic guide on <a href=\"https:\/\/deepdocs.dev\/how-to-open-terminal\/\">how to open Terminal<\/a> helps, but the primary senior-level concern is what happens after the prompt appears.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Where teams usually go wrong<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The common failure modes are predictable:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Organic growth:<\/strong> folders appear because one person needed them once.<\/li>\n\n\n\n<li><strong>Missing scaffolding:<\/strong> engineers recreate the same structure by memory.<\/li>\n\n\n\n<li><strong>Stale READMEs:<\/strong> setup instructions describe a shape the repository no longer has.<\/li>\n\n\n\n<li><strong>Local variation:<\/strong> every service ends up with a different layout for the same concept.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Practical rule:<\/strong> If engineers have to remember the directory structure instead of generating it, the structure isn&#8217;t standardized.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">What mastery looks like<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mastery here isn&#8217;t memorizing flags. It&#8217;s using a small command as a control point for consistency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A disciplined team uses terminal folder creation in three ways:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Use case<\/th><th>Weak approach<\/th><th>Better approach<\/th><\/tr><tr><td>New project setup<\/td><td>Create folders manually<\/td><td>Script the structure<\/td><\/tr><tr><td>Feature scaffolding<\/td><td>Let each engineer improvise<\/td><td>Define canonical paths<\/td><\/tr><tr><td>Onboarding docs<\/td><td>Explain folder names loosely<\/td><td>Show exact commands<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">That shift is small in syntax, but big in effect. <code>mkdir<\/code> is where a lot of good engineering hygiene starts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Universal Foundations of Directory Creation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>mkdir<\/code> is one of those commands that looks too small to matter. In practice, it decides whether a team creates the same structure every time or drifts into a different layout on every machine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/cdnimg.co\/c5154994-a2fe-43c0-a286-28e433de4fd1\/ec6ca951-0bc4-42bb-8446-a4dbc518c59f\/create-folder-in-terminal-terminal-command.jpg?ssl=1\" alt=\"A hand typing the command mkdir new_folder on a computer terminal to create a new directory.\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The command name is literal: <strong><code>mkdir<\/code><\/strong> means <strong>\u201cmake directory.\u201d<\/strong> You will use it in Unix-like shells, and you will also see it in PowerShell. That familiarity matters for teams working across macOS, Linux, and Windows, because setup instructions stay readable even when the shell differs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The safe default workflow<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A good habit is to treat folder creation as a four-step check, not a one-line impulse:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Check your current location<\/strong><\/li>\n\n\n\n<li><strong>Inspect what already exists<\/strong><\/li>\n\n\n\n<li><strong>Create the folder<\/strong><\/li>\n\n\n\n<li><strong>Verify the result<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">In practice:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\">pwd<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">ls<\/span><\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> docs<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">ls<\/span><\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">I recommend this sequence because the common failure is not syntax. It is context. Engineers run <code>mkdir<\/code> from the wrong directory, create a valid folder in an invalid place, and then lose time cleaning up avoidable mistakes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Single and multiple folders<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For one directory:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> project-name<\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">For several at once:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> src tests docs<\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">That second form is more useful than it looks. It reduces typing, but the bigger benefit is clarity. A README that shows the intended top-level structure in one command is easier to review, easier to copy, and harder to misread.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cross-platform behavior that teams can rely on<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Teams do not need perfect command parity across every shell. They need commands that are predictable enough to document once and reuse.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>macOS and Linux:<\/strong> <code>mkdir<\/code> is the standard command.<\/li>\n\n\n\n<li><strong>Windows PowerShell:<\/strong> <code>mkdir<\/code> also works in normal terminal workflows.<\/li>\n\n\n\n<li><strong>Verification:<\/strong> many developers use <code>ls<\/code> in Unix-like shells, while PowerShell users may prefer their usual listing command.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That trade-off is fine. The important standard is the directory structure itself, not forcing every engineer to use identical shell habits for inspection.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A small command with documentation value<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A beginner tutorial might show <code>mkdir School<\/code> and then <code>ls<\/code> to confirm it. Senior teams should read that same pattern differently. It is a minimal example of reproducible setup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If a folder matters to the project, create it with an explicit command and document that command exactly. That keeps onboarding docs aligned with the repository, gives automation a clear starting point, and turns \u201ccreate folder in terminal\u201d from a basic skill into part of the team&#8217;s operating standard.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Build Complex Structures Instantly with Recursive Creation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The point where <code>mkdir<\/code> becomes powerful is the <strong><code>-p<\/code> flag<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of creating one folder, changing directories, creating the next one, and repeating the process, you can create a full nested path in one command. That changes the command from a convenience into a scaffolding primitive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/cdnimg.co\/c5154994-a2fe-43c0-a286-28e433de4fd1\/07f2f58c-4ab7-41e1-8518-ec3494bc9d9b\/create-folder-in-terminal-directory-structure.jpg?ssl=1\" alt=\"A comparison infographic showing the manual step-by-step method versus the efficient recursive terminal command for creating directories.\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Manual creation doesn&#8217;t scale<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Take a path like this:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\">src\/api\/v1\/models<\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">The manual version is annoying and brittle:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> src<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">cd<\/span> src<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> api<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">cd<\/span> api<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> v1<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">cd<\/span> v1<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> models<\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s too much surface area for mistakes. Someone forgets a <code>cd<\/code>, runs the command from the wrong directory, or writes docs that omit one of the steps.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Recursive creation is the professional default<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use this instead:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> src\/api\/v1\/models<\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">If <code>src<\/code>, <code>api<\/code>, or <code>v1<\/code> don&#8217;t exist, <code>mkdir -p<\/code> creates them automatically before creating <code>models<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A practical example from <a href=\"https:\/\/robservatory.com\/quickly-create-a-nested-folder-structure-via-terminal\/\">Robservatory&#8217;s write-up on nested folder creation<\/a> shows <code>mkdir -p 202{0..5}\/qtr{1..4}\/week{1..13}<\/code> generating <strong>over 330 folders in under a second<\/strong>. You don&#8217;t need that exact pattern every day, but it makes the point well. Recursive creation turns <code>mkdir<\/code> into an automation tool.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s a quick visual walkthrough before using it in scripts:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><iframe width=\"100%\" style=\"aspect-ratio: 16 \/ 9;\" src=\"https:\/\/www.youtube.com\/embed\/QA-J5yke_Jw\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen=\"\"><\/iframe><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why <code>-p<\/code> is better in scripts<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In setup automation, <code>-p<\/code> is usually the right default because it reduces dependency on exact prior state.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Less fragile:<\/strong> scripts don&#8217;t need every parent folder created in sequence.<\/li>\n\n\n\n<li><strong>More readable:<\/strong> one path expresses the intended hierarchy.<\/li>\n\n\n\n<li><strong>Easier to review:<\/strong> a reviewer can understand the structure from one line.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">If a repository has a canonical structure, <code>mkdir -p<\/code> should usually encode it directly.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Real examples that hold up<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These are the patterns I see work well:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> docs\/guides\/getting-started<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> services\/auth\/src<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> packages\/ui\/components<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> scripts\/dev<\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">What doesn&#8217;t work is mixing manual directory creation with implied team knowledge. If the path matters, write it down exactly. If it repeats, script it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Handling Namespaces Permissions and Other Edge Cases<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once teams move from ad hoc terminal usage into scripts, edge cases stop being edge cases. They become routine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Folder names may contain spaces. Build agents may run under different users. Shared environments may apply unhelpful defaults. Consequently, \u201cit worked on my machine\u201d starts showing up in directory creation too.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Names with spaces and special characters<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If a folder name includes spaces, quote it.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-string\">&quot;Project Blueprints&quot;<\/span><\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Without quotes, the shell will often treat each word as a separate argument. That&#8217;s how you accidentally create multiple folders when you intended one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A few practical rules help:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Quote names with spaces:<\/strong> <code>\"Release Notes\"<\/code><\/li>\n\n\n\n<li><strong>Avoid decorative punctuation when you can:<\/strong> simple names are easier to script<\/li>\n\n\n\n<li><strong>Prefer predictable casing:<\/strong> teams should decide between styles like <code>docs\/api<\/code> and <code>Docs\/API<\/code>, then stick to one<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Permissions deserve intent<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In shared systems and automated jobs, default permissions aren&#8217;t always what you want. That&#8217;s where <code>-m<\/code> can help set permissions at creation time.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-m<\/span> <span class=\"tok-number\">755<\/span> logs<\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">The exact mode you choose depends on your environment and security model. The important point is procedural: don&#8217;t assume defaults are appropriate for every runtime context.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This matters in CI and service environments because a folder that exists with the wrong permissions can fail in ways that are annoying to diagnose. Engineers often chase the application error when the issue is the directory setup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you run into failures after a script creates directories, permission issues are often part of the picture. A separate guide on <a href=\"https:\/\/deepdocs.dev\/bash-permission-denied\/\">Bash permission denied errors<\/a> is useful for that class of problem.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Treat permissions as part of setup, not cleanup.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Good naming beats clever naming<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I strongly prefer folder names that survive copy-paste, shells, scripts, and docs without drama. That means:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Naming style<\/th><th>Result<\/th><\/tr><tr><td><code>feature-flags<\/code><\/td><td>easy to script<\/td><\/tr><tr><td><code>Feature Flags<\/code><\/td><td>readable, but needs quoting<\/td><\/tr><tr><td><code>feature_flags<\/code><\/td><td>fine if your team prefers it<\/td><\/tr><tr><td><code>feature(flags)!<\/code><\/td><td>avoid<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The trade-off is simple. Human readability matters, but machine predictability matters too. In shared workflows, predictable usually wins.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">From Manual Commands to Automated Project Scaffolding<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The biggest upgrade isn&#8217;t learning one more flag. It&#8217;s deciding that engineers shouldn&#8217;t rebuild project structure from memory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A scaffold script gives the repository a repeatable starting shape. That&#8217;s useful for new services, internal tools, demos, and even docs-only repos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Start with a reliable sequence<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A practical shell habit is to verify location with <code>pwd<\/code>, inspect with <code>ls<\/code>, and then create with <code>mkdir<\/code>. For nested paths, <code>mkdir -p parent\/child<\/code> is more effective and reduces path-related errors, as shown in <a href=\"https:\/\/simpledev.io\/lesson\/create-folder-terminal-1\/\">Simple Dev&#8217;s terminal folder guide<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That sequence belongs in scripts too. Blind creation from an unknown working directory is a common source of bad setup.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A simple scaffold script<\/h3>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\"><span class=\"tok-meta\">#!\/usr\/bin\/env bash<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">set<\/span> <span class=\"tok-propertyName\">-e<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\">pwd<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">ls<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> src<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> tests<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> docs<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> scripts<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> .github\/workflows<\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-variableName\">echo<\/span> <span class=\"tok-string\">&quot;Project structure created.&quot;<\/span><\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">This is intentionally boring. Boring is good for setup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to make it more expressive:<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\"><span class=\"tok-meta\">#!\/usr\/bin\/env bash<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-keyword\">set<\/span> <span class=\"tok-propertyName\">-e<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-variableName tok-definition\">PROJECT_NAME<\/span><span class=\"tok-operator\">=<\/span><span class=\"tok-string\">&quot;<\/span><span class=\"tok-variableName tok-definition\">$1<\/span><span class=\"tok-string\">&quot;<\/span><\/div><div class=\"cm-line\"><\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> <span class=\"tok-string\">&quot;<\/span><span class=\"tok-variableName tok-definition\">$PROJECT_NAME<\/span><span class=\"tok-string\">&quot;<\/span>\/src<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> <span class=\"tok-string\">&quot;<\/span><span class=\"tok-variableName tok-definition\">$PROJECT_NAME<\/span><span class=\"tok-string\">&quot;<\/span>\/tests<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> <span class=\"tok-string\">&quot;<\/span><span class=\"tok-variableName tok-definition\">$PROJECT_NAME<\/span><span class=\"tok-string\">&quot;<\/span>\/docs<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">mkdir<\/span> <span class=\"tok-propertyName\">-p<\/span> <span class=\"tok-string\">&quot;<\/span><span class=\"tok-variableName tok-definition\">$PROJECT_NAME<\/span><span class=\"tok-string\">&quot;<\/span>\/scripts<\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">For anyone standardizing shell conventions, a compact <a href=\"https:\/\/deepdocs.dev\/bash-script-cheat-sheet\/\">Bash script cheat sheet<\/a> is useful to keep nearby.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why teams benefit from scaffolding<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Onboarding improves:<\/strong> new engineers don&#8217;t guess the structure.<\/li>\n\n\n\n<li><strong>Repos stay consistent:<\/strong> one script can enforce one layout.<\/li>\n\n\n\n<li><strong>Documentation gets simpler:<\/strong> docs can point to a single setup command.<\/li>\n\n\n\n<li><strong>Reviews get cleaner:<\/strong> less debate about where things belong.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The hidden benefit is architectural clarity. When your script creates <code>src<\/code>, <code>tests<\/code>, <code>docs<\/code>, and <code>scripts<\/code> every time, you&#8217;re making a statement about how work should be organized.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Documenting Setup Commands So They Never Go Stale<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A stale setup command can waste an hour before anyone realizes the repo is fine and the documentation is wrong.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That failure mode shows up in mature teams more than people admit. A scaffold script gains a new folder, a service gets renamed, permissions change, or the expected working directory shifts. The README keeps the old command block, a new engineer copies it, and the team burns time debugging a setup issue that was created by drift, not by code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/cdnimg.co\/c5154994-a2fe-43c0-a286-28e433de4fd1\/a285dcf7-003a-449b-a46b-690fc34e1ca9\/create-folder-in-terminal-setup-commands.jpg?ssl=1\" alt=\"An infographic titled Ensuring Setup Commands Stay Relevant with four steps for documenting and maintaining development commands.\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What good command documentation looks like<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Keep setup instructions next to the scripts and conventions they describe. In practice, that usually means <code>README.md<\/code> or <code>CONTRIBUTING.md<\/code>, with the command shown exactly as a developer should run it.<\/p>\n\n\n<div class=\"wp-block-code\">\n\t<div class=\"cm-editor\">\n\t\t<div class=\"cm-scroller\">\n\t\t\t\n<pre>\n<code class=\"language-shell\"><div class=\"cm-line\">.\/setup-project.sh my-service<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">cd<\/span> my-service<\/div><div class=\"cm-line\"><span class=\"tok-variableName\">ls<\/span><\/div><div class=\"cm-line\"><\/div><\/code><\/pre>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Then document the output, not just the command. If the script creates <code>src<\/code>, <code>tests<\/code>, <code>docs<\/code>, and <code>scripts<\/code>, say so. If one directory exists for CI, code generation, or deployment packaging, explain that too. Senior teams benefit from this because directory structure is part of architecture, and setup docs should make those decisions explicit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The assumption worth challenging<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Setup docs look harmless, so they often escape the discipline applied to application code. That is a mistake in active repositories.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scripts evolve:<\/strong> paths, arguments, and folder names change.<\/li>\n\n\n\n<li><strong>Tooling evolves:<\/strong> generators and build systems introduce new directories or retire old ones.<\/li>\n\n\n\n<li><strong>Review gaps persist:<\/strong> command examples get copied forward even after the implementation changes.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Documentation around shell commands tends to fail without obvious errors. That is why stale setup steps can survive for months.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Treat setup instructions like code. Put them under review. Keep them close to the script that creates the structure. Validate them in CI when the repository depends on repeatable scaffolding. For teams managing several services or templates, this is less about polish and more about control. The documented <code>mkdir<\/code> flow becomes the contract for how projects start.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your repo setup changes often, <a href=\"https:\/\/deepdocs.dev\">DeepDocs<\/a> is worth a look. It&#8217;s a GitHub-native way to keep documentation aligned with the code and scripts that define your project structure, so README setup instructions don&#8217;t drift out of date.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A lot of teams discover the same problem the hard way. The project works, but the project shape doesn&#8217;t. A new engineer clones the repo, opens the terminal, and starts guessing which folders are canonical, which ones are leftovers, and which setup steps still matter. That&#8217;s why a basic command like mkdir deserves more respect&#8230;<\/p>\n","protected":false},"author":259061979,"featured_media":3576,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-3575","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Create Folder in Terminal: Master Commands for 2026 | DeepDocs<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/deepdocs.dev\/create-folder-in-terminal\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create Folder in Terminal: Master Commands for 2026 | DeepDocs\" \/>\n<meta property=\"og:description\" content=\"A lot of teams discover the same problem the hard way. The project works, but the project shape doesn&#8217;t. A new engineer clones the repo, opens the terminal, and starts guessing which folders are canonical, which ones are leftovers, and which setup steps still matter. That&#8217;s why a basic command like mkdir deserves more respect...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/deepdocs.dev\/create-folder-in-terminal\/\" \/>\n<meta property=\"og:site_name\" content=\"DeepDocs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61560455754198\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-15T15:38:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-23T15:58:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/create-folder-in-terminal-terminal-command-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Neel Das\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Nilzkool\" \/>\n<meta name=\"twitter:site\" content=\"@Nilzkool\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Neel Das\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/\"},\"author\":{\"name\":\"Neel Das\",\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/#\\\/schema\\\/person\\\/cf2ace6ae4dae8b34ab48a3e833ceede\"},\"headline\":\"Create Folder in Terminal: Master Commands for 2026\",\"datePublished\":\"2026-05-15T15:38:44+00:00\",\"dateModified\":\"2026-05-23T15:58:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/\"},\"wordCount\":2011,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/deepdocs.dev\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/create-folder-in-terminal-terminal-command-1.jpg?fit=1672%2C941&ssl=1\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/\",\"url\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/\",\"name\":\"Create Folder in Terminal: Master Commands for 2026 | DeepDocs\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/deepdocs.dev\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/create-folder-in-terminal-terminal-command-1.jpg?fit=1672%2C941&ssl=1\",\"datePublished\":\"2026-05-15T15:38:44+00:00\",\"dateModified\":\"2026-05-23T15:58:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/deepdocs.dev\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/create-folder-in-terminal-terminal-command-1.jpg?fit=1672%2C941&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/deepdocs.dev\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/create-folder-in-terminal-terminal-command-1.jpg?fit=1672%2C941&ssl=1\",\"width\":1672,\"height\":941},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/create-folder-in-terminal\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/deepdocs.dev\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create Folder in Terminal: Master Commands for 2026\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/#website\",\"url\":\"https:\\\/\\\/deepdocs.dev\\\/\",\"name\":\"DeepDocs\",\"description\":\"Fix Your Outdated GitHub Docs on Autopilot\",\"publisher\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/deepdocs.dev\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/#organization\",\"name\":\"DeepDocs\",\"url\":\"https:\\\/\\\/deepdocs.dev\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/deepdocs.dev\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/6.jpg?fit=408%2C400&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/deepdocs.dev\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/6.jpg?fit=408%2C400&ssl=1\",\"width\":408,\"height\":400,\"caption\":\"DeepDocs\"},\"image\":{\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61560455754198\",\"https:\\\/\\\/x.com\\\/Nilzkool\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/deepdocs-dev\",\"https:\\\/\\\/www.youtube.com\\\/@DrNeelDas\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/deepdocs.dev\\\/#\\\/schema\\\/person\\\/cf2ace6ae4dae8b34ab48a3e833ceede\",\"name\":\"Neel Das\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/227924e7431a87895450dcd654b650e5011891dcba027fd9c782941985cbbb2d?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/227924e7431a87895450dcd654b650e5011891dcba027fd9c782941985cbbb2d?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/227924e7431a87895450dcd654b650e5011891dcba027fd9c782941985cbbb2d?s=96&d=identicon&r=g\",\"caption\":\"Neel Das\"},\"sameAs\":[\"http:\\\/\\\/neeldasf2ac55feaf.wordpress.com\"],\"url\":\"https:\\\/\\\/deepdocs.dev\\\/author\\\/neeldasf2ac55feaf\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create Folder in Terminal: Master Commands for 2026 | DeepDocs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/","og_locale":"en_GB","og_type":"article","og_title":"Create Folder in Terminal: Master Commands for 2026 | DeepDocs","og_description":"A lot of teams discover the same problem the hard way. The project works, but the project shape doesn&#8217;t. A new engineer clones the repo, opens the terminal, and starts guessing which folders are canonical, which ones are leftovers, and which setup steps still matter. That&#8217;s why a basic command like mkdir deserves more respect...","og_url":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/","og_site_name":"DeepDocs","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=61560455754198","article_published_time":"2026-05-15T15:38:44+00:00","article_modified_time":"2026-05-23T15:58:53+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/create-folder-in-terminal-terminal-command-1.jpg","type":"image\/jpeg"}],"author":"Neel Das","twitter_card":"summary_large_image","twitter_creator":"@Nilzkool","twitter_site":"@Nilzkool","twitter_misc":{"Written by":"Neel Das","Estimated reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/#article","isPartOf":{"@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/"},"author":{"name":"Neel Das","@id":"https:\/\/deepdocs.dev\/#\/schema\/person\/cf2ace6ae4dae8b34ab48a3e833ceede"},"headline":"Create Folder in Terminal: Master Commands for 2026","datePublished":"2026-05-15T15:38:44+00:00","dateModified":"2026-05-23T15:58:53+00:00","mainEntityOfPage":{"@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/"},"wordCount":2011,"commentCount":0,"publisher":{"@id":"https:\/\/deepdocs.dev\/#organization"},"image":{"@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/create-folder-in-terminal-terminal-command-1.jpg?fit=1672%2C941&ssl=1","articleSection":["Uncategorized"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/deepdocs.dev\/create-folder-in-terminal\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/","url":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/","name":"Create Folder in Terminal: Master Commands for 2026 | DeepDocs","isPartOf":{"@id":"https:\/\/deepdocs.dev\/#website"},"primaryImageOfPage":{"@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/#primaryimage"},"image":{"@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/create-folder-in-terminal-terminal-command-1.jpg?fit=1672%2C941&ssl=1","datePublished":"2026-05-15T15:38:44+00:00","dateModified":"2026-05-23T15:58:53+00:00","breadcrumb":{"@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/deepdocs.dev\/create-folder-in-terminal\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/#primaryimage","url":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/create-folder-in-terminal-terminal-command-1.jpg?fit=1672%2C941&ssl=1","contentUrl":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/create-folder-in-terminal-terminal-command-1.jpg?fit=1672%2C941&ssl=1","width":1672,"height":941},{"@type":"BreadcrumbList","@id":"https:\/\/deepdocs.dev\/create-folder-in-terminal\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/deepdocs.dev\/"},{"@type":"ListItem","position":2,"name":"Create Folder in Terminal: Master Commands for 2026"}]},{"@type":"WebSite","@id":"https:\/\/deepdocs.dev\/#website","url":"https:\/\/deepdocs.dev\/","name":"DeepDocs","description":"Fix Your Outdated GitHub Docs on Autopilot","publisher":{"@id":"https:\/\/deepdocs.dev\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/deepdocs.dev\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/deepdocs.dev\/#organization","name":"DeepDocs","url":"https:\/\/deepdocs.dev\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/deepdocs.dev\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2025\/06\/6.jpg?fit=408%2C400&ssl=1","contentUrl":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2025\/06\/6.jpg?fit=408%2C400&ssl=1","width":408,"height":400,"caption":"DeepDocs"},"image":{"@id":"https:\/\/deepdocs.dev\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61560455754198","https:\/\/x.com\/Nilzkool","https:\/\/www.linkedin.com\/company\/deepdocs-dev","https:\/\/www.youtube.com\/@DrNeelDas"]},{"@type":"Person","@id":"https:\/\/deepdocs.dev\/#\/schema\/person\/cf2ace6ae4dae8b34ab48a3e833ceede","name":"Neel Das","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/227924e7431a87895450dcd654b650e5011891dcba027fd9c782941985cbbb2d?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/227924e7431a87895450dcd654b650e5011891dcba027fd9c782941985cbbb2d?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/227924e7431a87895450dcd654b650e5011891dcba027fd9c782941985cbbb2d?s=96&d=identicon&r=g","caption":"Neel Das"},"sameAs":["http:\/\/neeldasf2ac55feaf.wordpress.com"],"url":"https:\/\/deepdocs.dev\/author\/neeldasf2ac55feaf\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/create-folder-in-terminal-terminal-command-1.jpg?fit=1672%2C941&ssl=1","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pgAtwt-VF","jetpack-related-posts":[{"id":3477,"url":"https:\/\/deepdocs.dev\/how-to-open-terminal\/","url_meta":{"origin":3575,"position":0},"title":"How to Open Terminal: The Developer&#8217;s Guide for 2026","author":"Neel Das","date":"5 May 2026","format":false,"excerpt":"You're probably reading this because you've landed on a machine that isn't yours, a fresh dev container, a teammate's Windows laptop, or a cloud IDE tab where the first task is embarrassingly basic: how to open terminal. That question sounds beginner-level until you're the one switching contexts all day. Senior\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/how-to-open-terminal-developer-guide-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/how-to-open-terminal-developer-guide-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/how-to-open-terminal-developer-guide-1.jpg?fit=1200%2C673&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/how-to-open-terminal-developer-guide-1.jpg?fit=1200%2C673&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/how-to-open-terminal-developer-guide-1.jpg?fit=1200%2C673&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3452,"url":"https:\/\/deepdocs.dev\/cmd-access-is-denied\/","url_meta":{"origin":3575,"position":1},"title":"Fix CMD Access Is Denied Errors in Windows (2026)","author":"Neel Das","date":"13 May 2026","format":false,"excerpt":"Most cmd access is denied errors are privilege problems. If Command Prompt doesn't have administrative rights, Windows will block administrative commands through UAC. Diagnose before you \u201cfix.\u201d Check whether the failure is tied to high-level privileges, folder ownership, policy restrictions, or a locked path. The fastest working fix is usually\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/cmd-access-is-denied-error-fix-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/cmd-access-is-denied-error-fix-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/cmd-access-is-denied-error-fix-1.jpg?fit=1200%2C673&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/cmd-access-is-denied-error-fix-1.jpg?fit=1200%2C673&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/cmd-access-is-denied-error-fix-1.jpg?fit=1200%2C673&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3646,"url":"https:\/\/deepdocs.dev\/command-line-macos\/","url_meta":{"origin":3575,"position":2},"title":"Mastering Command Line Macos for Devs 2026","author":"Neel Das","date":"28 June 2026","format":false,"excerpt":"Most developers already use Terminal on macOS. Fewer use it in a way that makes the whole team faster. You can see the gap quickly. One engineer clicks through GitHub Desktop to clean up branches. Another has a local shell setup nobody else can reproduce. A third can ship fast,\u2026","rel":"","context":"In &quot;Docs&quot;","block_context":{"text":"Docs","link":"https:\/\/deepdocs.dev\/category\/docs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/command-line-macos-macos-terminal-1.jpg?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/command-line-macos-macos-terminal-1.jpg?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/command-line-macos-macos-terminal-1.jpg?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/command-line-macos-macos-terminal-1.jpg?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/05\/command-line-macos-macos-terminal-1.jpg?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":2047,"url":"https:\/\/deepdocs.dev\/get-started-with-git\/","url_meta":{"origin":3575,"position":3},"title":"A Practical Guide to Get Started With Git","author":"Neel Das","date":"11 January 2026","format":false,"excerpt":"TL;DR: Your First Steps with Git Install & Configure: First, install Git from the official website and introduce yourself with git config --global user.name \"Your Name\" and git config --global user.email \"youremail@example.com\". Create or Clone: Start a new project with git init in your project folder, or copy an existing\u2026","rel":"","context":"In &quot;Docs&quot;","block_context":{"text":"Docs","link":"https:\/\/deepdocs.dev\/category\/docs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2025\/12\/get-started-with-git-git-guide-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2025\/12\/get-started-with-git-git-guide-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2025\/12\/get-started-with-git-git-guide-1.jpg?fit=1200%2C673&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2025\/12\/get-started-with-git-git-guide-1.jpg?fit=1200%2C673&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2025\/12\/get-started-with-git-git-guide-1.jpg?fit=1200%2C673&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3014,"url":"https:\/\/deepdocs.dev\/how-to-download-from-github\/","url_meta":{"origin":3575,"position":4},"title":"How to Download from GitHub The Right Way","author":"Emmanuel Mumba","date":"1 April 2026","format":false,"excerpt":"Here's a quick summary of the different ways to download from GitHub: Download ZIP: Best for a quick, one-time look at the code without its history. Avoid for active development. git clone: The standard for any development work. It downloads the full project history and connects your local copy to\u2026","rel":"","context":"In &quot;Docs&quot;","block_context":{"text":"Docs","link":"https:\/\/deepdocs.dev\/category\/docs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/how-to-download-from-github-github-tutorial-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/how-to-download-from-github-github-tutorial-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/how-to-download-from-github-github-tutorial-1.jpg?fit=1200%2C673&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/how-to-download-from-github-github-tutorial-1.jpg?fit=1200%2C673&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/how-to-download-from-github-github-tutorial-1.jpg?fit=1200%2C673&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3100,"url":"https:\/\/deepdocs.dev\/linux-terminal-shortcuts\/","url_meta":{"origin":3575,"position":5},"title":"20 Essential Linux Terminal Shortcuts for Developers in 2026","author":"Neel Das","date":"9 April 2026","format":false,"excerpt":"Master Command History: Use Ctrl+R to instantly find and reuse past commands, saving time and reducing typos. Navigate Lines Like a Pro: Jump to the beginning (Ctrl+A) or end (Ctrl+E) of a line to make edits without tedious arrow key mashing. Manage Processes Efficiently: Stop runaway scripts with Ctrl+C or\u2026","rel":"","context":"In &quot;Docs&quot;","block_context":{"text":"Docs","link":"https:\/\/deepdocs.dev\/category\/docs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/linux-terminal-shortcuts-developers-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/linux-terminal-shortcuts-developers-1.jpg?fit=1200%2C673&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/linux-terminal-shortcuts-developers-1.jpg?fit=1200%2C673&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/linux-terminal-shortcuts-developers-1.jpg?fit=1200%2C673&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/deepdocs.dev\/wp-content\/uploads\/2026\/03\/linux-terminal-shortcuts-developers-1.jpg?fit=1200%2C673&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/posts\/3575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/users\/259061979"}],"replies":[{"embeddable":true,"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/comments?post=3575"}],"version-history":[{"count":3,"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/posts\/3575\/revisions"}],"predecessor-version":[{"id":3581,"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/posts\/3575\/revisions\/3581"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/media\/3576"}],"wp:attachment":[{"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/media?parent=3575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/categories?post=3575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/deepdocs.dev\/wp-json\/wp\/v2\/tags?post=3575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}