StudyLover
  • Home
  • Study Zone
  • Profiles
  • Typing Tutor
  • Contact us
  • Sign in
StudyLover Linux Command: mkdir
Download
  1. Linux
Linux Command: rm : Linux File Permissions
Linux

What mkdir does

Creates one or more directories. By default it creates them in the current path unless you give a full/relative path.

mkdir lab              # make a folder named 'lab'

mkdir dir1 dir2 dir3   # make several at once

mkdir "My Projects"    # names with spaces → quote them


1) The flags you’ll actually use

-p — parents (most important)

·         Creates parent directories as needed.

·         No error if the dir already exists (idempotent → great for scripts).

mkdir -p projects/sem1/os/notes

mkdir -p /data/backups    # won’t fail if /data/backups already exists

-v — verbose

Shows what it created.

mkdir -vp project/{src,bin,docs}

-m — mode (permissions on creation)

Sets permissions at creation time (before umask applies).

mkdir -m 755 public_html        # rwx r-x r-x

mkdir -m u=rwx,go=rx labs       # same as 755 using symbols

Note: default perms come from your umask (see it with umask). -m lets you override.


2) Power patterns (you’ll use these a lot)

Create a whole tree quickly (brace expansion)

mkdir -p project/{src,tests,docs,build}

mkdir -p uni/{sem1/{os,cn,dbms},sem2/{daa,oslab}}

Ensure a directory exists before writing files (script-safe)

target="$HOME/data/runs/$(date +%F)"

mkdir -p "$target"

cp results.csv "$target/"

Make parent folder of a file path

f="$HOME/out/reports/summary.txt"

mkdir -p "$(dirname "$f")"

Shared team folder where new files keep the group

mkdir -p /shared/dev

chgrp devs /shared/dev

chmod 2775 /shared/dev   # setgid bit → new files inherit group 'devs'


3) Checking results & permissions

ls -ld lab              # show the directory entry

ls -l                   # directories show with 'd' at the start: drwxr-xr-x


4) Common errors (and quick fixes)

·         File exists → the directory is already there. Use -p to make it a no-op.

·         No such file or directory → parent path missing. Use -p.

·         Permission denied → you don’t have rights in the parent. Choose a path you own or use sudo (only when appropriate).


5) Mini-lab (10–15 min)

# 1) simple & multiple

mkdir -v ~/lab && mkdir -v ~/lab/{alpha,beta}

 
# 2) nested with parents

mkdir -vp ~/lab/alpha/src/utils

 
# 3) custom permissions

mkdir -m 700 ~/lab/secret        # only you can access

ls -ld ~/lab/secret

 
# 4) project skeleton via braces

mkdir -vp ~/lab/app/{src,tests,docs,build}

ls -l ~/lab/app

 
# 5) script-safe parent creation

file=~/lab/output/run1/results.txt

mkdir -p "$(dirname "$file")" && echo "OK" > "$file" && ls -l "$file"


Exam-ready bullets

·         Purpose: create directories.

·         Syntax: mkdir [-p] [-m MODE] [-v] DIR...

·         -p creates parents and succeeds if existing (idempotent).

·         -m sets permissions at creation (e.g., -m 755).

·         -v prints what’s created.

·         Use brace expansion to create many dirs at once: mkdir -p proj/{src,docs,tests}.

·         Check with ls -ld DIR; remember permissions are affected by umask.

Want this bundled with ls, cd, cp, mv, rm as a printable 1-pager for your class? I can format it.

 

Linux Command: rm Linux File Permissions
Our Products & Services
  • Home
Connect with us
  • Contact us
  • +91 82955 87844
  • Rk6yadav@gmail.com

StudyLover - About us

The Best knowledge for Best people.

Copyright © StudyLover
Powered by Odoo - Create a free website