Questa guida ti mostrerà come creare nuove cartelle o directory all'interno di Linux usando la riga di comando.
Il comando che usi per creare le directory è mkdir. Questo articolo mostra il modo basilare per creare directory in Linux e coprire tutte le opzioni disponibili.
Come creare una nuova directory
Il modo più semplice per creare una nuova directory è il seguente:
mkdir Ad esempio, se vuoi creare una directory sotto la tua cartella home chiamata test, apri una finestra di terminale e assicurati di essere nella tua cartella home (usa il comando cd ~). Dopo aver creato una nuova cartella, potresti voler impostare le autorizzazioni in modo che solo un determinato utente possa accedere alla cartella o in modo che alcune persone possano modificare i file nella cartella ma altri abbiano solo la lettura. Nell'ultima sezione, ti ho mostrato come creare una directory chiamata test. L'esecuzione del comando ls ti mostrerà le autorizzazioni per quella directory: ls -lt È probabile che avrai qualcosa in questo senso: drwxr-xr-x 2 gruppo proprietario 4096 mar 9 19:34 test I pezzi che ci interessano sonoproprietario drwxr-xr-xe gruppo Il d ci dice che test è una directory. I primi tre caratteri dopo d sono le autorizzazioni del proprietario per la directory specificata dal nome del proprietario: I seguenti tre caratteri sono le autorizzazioni di gruppo per il file specificato dal nome del gruppo. Di nuovo le opzioni sono r, w e x. Il - significa che manca un permesso. Nell'esempio sopra, chiunque appartenga al gruppo può accedere alla cartella e leggere i file, ma non può scrivere nella cartella. Gli ultimi tre caratteri sono le autorizzazioni che tutti gli utenti hanno e, come puoi vedere nell'esempio sopra, sono le stesse delle autorizzazioni di gruppo. Per modificare le autorizzazioni per un file o una cartella puoi usare ilchmodcomando. Il comando chmod ti consente di specificare 3 numeri che impostano le autorizzazioni: Per ottenere una miscela di permessi, aggiungi i numeri insieme. Ad esempio, per ottenere autorizzazioni di lettura ed esecuzione, il numero necessario è 5, per ottenere le autorizzazioni di lettura e scrittura il numero è 6 e per ottenere autorizzazioni di scrittura ed esecuzione il numero è 3. Ricorda che devi specificare 3 numeri come parte del comando chmod. Il primo numero è per le autorizzazioni del proprietario, il secondo numero è per le autorizzazioni del gruppo e l'ultimo numero è per tutti gli altri. Ad esempio, per ottenere autorizzazioni complete sul proprietario, leggere ed eseguire le autorizzazioni sul gruppo e nessuna autorizzazione per chiunque altro digitare quanto segue: chmod 750 test Se si desidera modificare il nome del gruppo proprietario di una cartella, utilizzare il comando chgrp. Ad esempio, immagina di voler creare una directory a cui possano accedere tutti i contabili della tua azienda. Prima di tutto, crea gli account di gruppo digitando quanto segue: account groupadd Se non si dispone dell'autorizzazione corretta per creare un gruppo, potrebbe essere necessario utilizzare sudo per ottenere privilegi aggiuntivi o passare a un account con autorizzazioni valide utilizzando il comando su. Ora puoi cambiare il gruppo per una cartella digitando quanto segue: account chgrp Per esempio: test dell'account chgrp Per consentire a chiunque nel gruppo di account di leggere, scrivere ed eseguire l'accesso e il proprietario, ma di sola lettura per tutti gli altri, è possibile utilizzare il seguente comando: chmod 770 test Per aggiungere un utente al gruppo di account, probabilmente vorrai usare il seguente comando: usermod -a -G account Il comando precedente aggiunge il gruppo di account all'elenco dei gruppi secondari a cui l'utente ha accesso. È possibile creare una directory e impostare le autorizzazioni per quella directory allo stesso tempo usando il seguente comando: mkdir -m777 Il comando precedente creerà una cartella a cui tutti hanno accesso. È molto raro che tu voglia creare qualcosa con questo tipo di permessi. Immagina di voler creare una struttura di directory, ma non vuoi creare ogni singola cartella con il modo e procedere lungo un albero. Ad esempio, potresti creare cartelle per la tua musica come segue: Sarebbe fastidioso dover creare la cartella rock, quindi la cartella cooper e queen di alice e quindi creare la cartella rap e la cartella dr dre e quindi la cartella jazz e quindi la cartella louisjordan. Specificando la seguente opzione puoi creare tutte le cartelle genitore al volo se non esistono già. mkdir -p Ad esempio, per creare una delle cartelle elencate sopra prova il seguente comando: mkdir -p ~ / music / rock / alicecooper Per impostazione predefinita, il comando mkdir non ti dice se la directory che stai creando è stata creata correttamente. Se non ci sono errori, puoi supporre che lo abbia. Se si desidera ottenere un output più dettagliato in modo da sapere cosa è stato creato, utilizzare la seguente opzione. mkdir -v L'output sarà lungo le linee dimkdir: creato directory / percorso / to / directoryname. A volte vorrete usare il comando "mkdir" come parte di uno script di shell. Ad esempio, esaminiamo uno script che accetta un percorso. Quando lo script viene eseguito, crea la cartella e aggiunge un singolo file di testo chiamato "ciao". #! / bin / bash mkdir $ @ cd $ @ touch ciao La prima riga deve essere inclusa in ogni script che scrivi e viene utilizzata per mostrare che si tratta effettivamente di uno script BASH. Il comando "mkdir" è usato per creare una cartella. Il "$ @" (noto anche come parametri di input) alla fine della 2a e 3a riga viene sostituito con il valore specificato durante l'esecuzione dello script. Il comando "cd" cambia nella directory specificata e infine il comando touch crea un file vuoto chiamato "ciao". Puoi provare lo script per te stesso. Per fare ciò, segui queste istruzioni: Quando si esegue lo script, verrà creata una directory denominata "test" e se si passa a tale directory (test del cd) ed eseguire un elenco di directory (ls) vedrai un singolo file chiamato "ciao". Fin qui tutto bene, ma ora prova di nuovo ad eseguire il passaggio 7. Ci sono varie cose che possiamo fare per migliorare lo script. Ad esempio, se la cartella esiste già non ci interessa particolarmente finché esiste. #! / bin / bash mkdir -p $ @ cd $ @ touch ciao Se si specifica -p come parte del comando mkdir, allora non si verificherà un errore se la cartella esiste già ma se non esiste lo creerà. Come succede il comando touch creerà un file se non esiste, ma se esiste, modifica semplicemente l'ultima data e ora di accesso. Immagina che l'istruzione touch sia stata sostituita con un'eco che scrive il testo in un file come segue: #! / bin / bash mkdir -p $ @ cd $ @ echo "ciao" >> ciao Se esegui il comando "./createhellodirectory.sh test" ancora e ancora l'effetto sarà che il file chiamato "ciao" nella directory di test diventerà sempre più grande con sempre più linee con la parola "ciao" al suo interno. Ora, questo può o non può essere come previsto ma diciamo per ora che questa non è l'azione desiderata. È possibile scrivere un test per assicurarsi che la directory non esista prima di eseguire il comando echo come segue. #! / bin / bash mkdir $ @ 2> / dev / null; se $? -eq 0; quindi cd $ @ echo "ciao" >> ciao exit fi Lo script sopra è il mio metodo preferito per la gestione della creazione di cartelle. Il comando mkdir crea la cartella che viene passata come parametro di input ma qualsiasi output di errore viene inviato a / dev / null (che in sostanza significa da nessuna parte). La terza riga controlla lo stato dell'output del comando precedente che è l'istruzione "mkdir" e se ha successo, eseguirà le istruzioni fino a quando non verrà raggiunta l'istruzione "fi". Ciò significa che puoi creare la cartella ed eseguire tutte le cose che vuoi se il comando ha successo. Se vuoi fare qualcos'altro se il comando non ha successo, puoi semplicemente inserire un'altra istruzione come segue: #! / bin / bash mkdir $ @ 2> / dev / null; se $? -eq 0; thencd $ @ echo "ciao" >> helloexitelsecd $ @ echo "ciao"> helloexitfi Nello script precedente se l'istruzione mkdir funziona, allora l'istruzione echo invia la parola "ciao" alla fine del file chiamato "ciao", mentre se non esiste un nuovo file verrà creato chiamato "ciao" con la parola " ciao "dentro Questo esempio non è particolarmente pratico perché potresti ottenere gli stessi risultati semplicemente eseguendo sempre il echo "ciao"> ciao linea. Il punto dell'esempio è mostrare che è possibile eseguire il comando "mkdir", nascondere l'output dell'errore, controllare lo stato del comando per vedere se ha avuto successo o meno e quindi eseguire un set di comandi se il comando "mkdir" ha avuto successo e un altro insieme di comandi se non lo fosse. Modifica delle autorizzazioni della nuova directory
Come creare una directory e impostare le autorizzazioni contemporaneamente
Crea una cartella e tutti i genitori che sono richiesti
Ottenere la conferma che è stata creata una directory
Utilizzo di "mkdir" in uno script di shell