puoi provare a scrivere il comando usando 'sudo':
sudo mkdir NomeDir
Come nota @kirbyfan64sos in un commento, /home
NON è la tua home directory (ovvero cartella home):
Il fatto che /home
è un assoluto, letterale percorso che non ha componenti specifici dell'utente fornisce un indizio.
Mentre /home
sembra essere il genitore directory di tutti directory home specifiche dell'utente su sistemi basati su Linux, non dovresti nemmeno fare affidamento su questo, dato che questo differisce tra le piattaforme:ad esempio, la directory equivalente su macOS è /Users
.
Ciò che tutte le piattaforme Unix hanno in comune sono i seguenti modi per navigare / fare riferimento alla tua home directory:
- Utilizzando
cd
senza argomento cambia in la tua home dir., cioè rende la tua home dir. la directory di lavoro .- es:
cd # changes to home dir; e.g., '/home/jdoe'
- es:
- Non quotato
~
da solo / non quotato~/
all'inizio di una stringa di percorso rappresenta la tua home dir. / un percorso che parte da casa tua dir.; questo è indicato come espansione della tilde (vediman bash
)- es:
echo ~ # outputs, e.g., '/home/jdoe'
- es:
$HOME
- come parte di un tra virgolette doppie non quotato o preferibilmente string - si riferisce alla tua home directory.HOME
è una variabile d'ambiente predefinita e specifica dell'utente :- es:
cd "$HOME/tmp" # changes to your personal folder for temp. files
- es:
Quindi, per creare la cartella desiderata, puoi usare:
mkdir "$HOME/bin" # same as: mkdir ~/bin
Tieni presente che la maggior parte delle località fuori la tua directory di casa richiedono un superutente (utente root) per creare file o directory:ecco perché ti sei imbattuto nel Permission denied
errore.