Cum se creează directoare în Linux cu comanda "mkdir"

Acest ghid vă va arăta cum să creați foldere sau directoare noi în Linux utilizând linia de comandă.

Comanda utilizată pentru crearea directoarelor este mkdir. Acest articol vă arată modul de bază pentru a crea directoare în Linux, precum și pentru a acoperi toate comutatoarele disponibile.

Cum se creează un nou director

Cea mai simplă modalitate de a crea un nou director este după cum urmează:

mkdir

De exemplu, dacă doriți să creați un director în dosarul dvs. de domiciliu numit test, deschideți o fereastră de terminal și asigurați-vă că vă aflați în dosarul dvs. de domiciliu (utilizați comanda cd ~ ).

test mkdir

Modificarea permisiunilor noului director

După crearea unui nou dosar, ați putea dori să setați permisiunile astfel încât numai un anumit utilizator să poată accesa folderul sau astfel încât unii oameni să poată edita fișierele din folder, dar alții au doar citire.

În ultima secțiune, v-am arătat cum să creați un director numit test. Rularea comenzii ls vă va afișa permisiunile pentru acel director:

Este-llt

Șansele sunt că veți avea ceva în acest sens:

drwxr-xr-x 2 grup de proprietar 4096 Mar 9 19:34 test

Particulele de care suntem interesați sunt drwxr-xr-x proprietar și grup

D-ul ne spune că testul este un director.

Primele trei caractere după d sunt permisiunile proprietarului pentru directorul specificat de numele proprietarului.

Următoarele trei caractere sunt permisiunile de grup pentru fișierul specificat de numele grupului. Din nou, opțiunile sunt r, w și x. - înseamnă că lipsește o permisiune. În exemplul de mai sus, oricine aparține grupului poate accesa dosarul și poate citi fișierele, dar nu poate scrie în dosar.

Ultimile trei caractere sunt permisiunile pe care le au toți utilizatorii și după cum puteți vedea în exemplul de mai sus, aceștia sunt aceiași cu permisiunile de grup.

Pentru a modifica permisiunile pentru un fișier sau un dosar, puteți folosi comanda chmod . Comanda chmod vă permite să specificați 3 numere care stabilesc permisiunile.

Pentru a obține un amestec de permisiuni, adăugați numerele împreună. De exemplu, pentru a obține permisiuni de citire și executare, numărul de care aveți nevoie este de 5, pentru a obține permisiuni de citire și scriere numărul este de 6 și pentru a obține permisiuni de scriere și executare, numărul este de 3.

Rețineți că trebuie să specificați 3 numere ca parte a comenzii chmod. Primul număr este pentru permisiunile proprietarului, al doilea număr este pentru permisiunile de grup, iar ultimul număr este pentru toți ceilalți.

De exemplu, pentru a obține permisiuni complete asupra proprietarului, citiți și executați permisiuni pe grup și nu aveți permisiuni pentru altcineva, tastați următoarele:

chmod 750 test

Dacă doriți să modificați numele grupului care deține un folder, utilizați comanda chgrp.

De exemplu, imaginați-vă că doriți să creați un director pe care să-l poată accesa toți contabili din compania dvs.

Mai întâi, creați conturile de grup introducând următoarele:

conturi de grup

Dacă nu aveți permisiunea corectă pentru a crea un grup, este posibil să fie necesar să utilizați sudo pentru a obține privilegii suplimentare sau pentru a trece la un cont cu permisiuni valide utilizând comanda su .

Acum puteți schimba grupul pentru un dosar introducând următoarele:

Conturile chgrp

De exemplu:

chgrp test de conturi

Pentru a da cuiva din grupul de conturi citi, scrie și executa accesul, precum și proprietarul, dar numai pentru citire tuturor celorlalți puteți utiliza următoarea comandă:

chmod 770 test

Pentru a adăuga un utilizator în grupul de conturi, probabil că doriți să utilizați următoarea comandă:

usermod -a -G conturi

Comanda de mai sus adaugă grupul de conturi la lista grupurilor secundare la care are acces utilizatorul.

Cum să creați un director și să stabiliți permisiunile în același timp

Puteți crea un director și puteți seta simultan permisiunile pentru acel director folosind următoarea comandă:

mkdir -m777

Comanda de mai sus va crea un folder la care are acces toată lumea. Este foarte rar că ați dori să creați ceva cu astfel de permisiuni.

Creați un dosar și orice părinte care este necesar

Imaginați-vă că doriți să creați o structură de directoare, dar nu doriți să creați fiecare folder individual împreună cu drumul și să lucrați pe un copac.

De exemplu, este posibil să creați foldere pentru muzică după cum urmează:

Ar fi enervant să trebuiască să creați dosarul de rock, apoi folderul alice și regina și apoi să creați dosarul rap și folderul dr dre, apoi directorul jazz și apoi folderul louisjordan.

Prin specificarea următorului comutator, puteți crea toate folderele părinte în zbor, dacă acestea nu există deja.

mkdir -p

De exemplu, pentru a crea unul dintre folderele listate mai sus, încercați următoarea comandă:

mkdir -p ~ / muzică / rock / alicecooper

Obținerea confirmării că a fost creat un director

În mod implicit, comanda mkdir nu vă spune dacă directorul pe care îl creați a fost creat cu succes. Dacă nu apar erori, puteți presupune că a existat.

Dacă doriți să obțineți mai multă ieșire verbală pentru a ști ce a fost creat, utilizați următorul switch.

mkdir -v

Ieșirea va fi de-a lungul liniilor lui mkdir: directorul / calea / directorul / directorul / directorul creat .

Utilizând & # 34; mkdir & # 34; într-un Shell Script

Uneori, veți dori să utilizați comanda "mkdir" ca parte a unui script shell. De exemplu, să examinăm un script care acceptă o cale. Când scriptul este executat, acesta va crea dosarul și va adăuga un singur fișier text numit "hello".

#! / Bin / bash

mkdir $ @

cd $ @

atingeți salut

Prima linie trebuie inclusă în fiecare script pe care îl scrieți și este folosit pentru a arăta că acesta este într-adevăr un script BASH.

Comanda "mkdir" este utilizată pentru a crea un folder. Valoarea "$ @" ( cunoscută și ca parametri de intrare ) la sfârșitul liniei a 2-a și a 3-a este înlocuită cu valoarea pe care o specificați atunci când rulați scriptul.

Comanda "cd" se schimbă în directorul pe care îl specificați și în final comanda atinge un fișier gol numit "hello".

Puteți încerca scriptul pentru tine. Pentru aceasta, urmați aceste instrucțiuni:

  1. Deschideți o fereastră terminal (apăsați Alt și T ar trebui să o facă)
  2. Introduceți nano createhellodirectory.sh
  3. Introduceți comenzile de mai sus în editor
  4. Salvați fișierul apăsând simultan CTRL și O
  5. Ieșiți din fișier apăsând simultan CTRL și X
  6. Schimbați permisiunile tastând chmod + x createhellodirectory.sh
  7. Rulați scriptul tastând ./createhellodirectory.sh test

Când executați scriptul, se va crea un director numit "test" și dacă veți trece la acel director ( testul cd) și veți rula o listă de directoare ( ls), veți vedea un singur fișier numit "hello".

Până acum, așa bine, dar încercați din nou să treceți pasul 7 din nou.

  1. Va apărea o eroare în care se afirmă că dosarul există deja.

Există diferite lucruri pe care le putem face pentru a îmbunătăți scenariul. De exemplu, dacă dosarul există deja, nu ne interesează atâta timp cât există.

#! / Bin / bash

mkdir -p $ @

cd $ @

atingeți salut

Dacă specificați -p ca parte a comenzii mkdir, atunci nu va fi eroare dacă dosarul există deja, dar dacă nu există, acesta o va crea.

După cum se întâmplă, comanda atingeți va crea un fișier dacă nu există, dar dacă există, modifică pur și simplu ultima dată și ora accesate.

Imaginați-vă că instrucțiunea de atingere a fost înlocuită cu o declarație de ecou care scrie text într-un fișier după cum urmează:

#! / Bin / bash

mkdir -p $ @

cd $ @

echo "hello" >> salut

Dacă executați comanda "./createhellodirectory.sh test" din nou și din nou, efectul va fi că fișierul numit "hello" în directorul de testare va crește și mai mare cu tot mai multe linii cu cuvântul "hello" în el.

Acum, acest lucru poate sau nu poate fi la fel de intenționat, dar să spunem pentru moment că nu aceasta este acțiunea dorită. Puteți scrie un test pentru a vă asigura că directorul nu există înainte de a executa comanda ecou după cum urmează.

#! / Bin / bash

mkdir $ @ 2> / dev / null;

dacă [$? -eq 0]; apoi

cd $ @

echo "hello" >> salut

Ieșire

Fi

Scriptul de mai sus este metoda preferată pentru manipularea creării de foldere. Comanda mkdir creează folderul care este trecut ca parametru de intrare, dar orice ieșire de eroare este trimisă la / dev / null (ceea ce înseamnă în esență nicăieri).

Cea de-a treia linie verifică starea de ieșire a comenzii anterioare, care este instrucțiunea "mkdir", iar dacă a reușit, va executa instrucțiunile până când se ajunge la instrucțiunea "fi".

Aceasta înseamnă că puteți crea dosarul și efectua toate lucrurile pe care le doriți în cazul în care comanda are succes. Dacă doriți să faceți altceva în cazul în care comanda nu a reușit, puteți introduce pur și simplu o declarație altfel după cum urmează:

#! / Bin / bash

mkdir $ @ 2> / dev / null;

dacă [$? -eq 0]; apoi
cd $ @
echo "hello" >> salut
Ieșire
altfel
cd $ @
echo "hello"> salut
Ieșire
Fi

În scriptul de mai sus, dacă instrucțiunea mkdir funcționează atunci instrucțiunea ecou trimite cuvântul "hello" la sfârșitul fișierului numit "hello", în timp ce dacă nu există un fișier nou va fi creat numit "hello" cu cuvântul " salut "în ea.

Acest exemplu nu este deosebit de practic deoarece ați putea obține aceleași rezultate pur și simplu alergând mereu la ecoul "hello"> hello line . Punctul exemplului este acela de a arăta că puteți rula comanda "mkdir", ascundeți ieșirea de eroare, verificați starea comenzii pentru a vedea dacă a avut succes sau nu și apoi efectuați un set de comenzi dacă comanda "mkdir" a avut succes și un alt set de comenzi dacă nu era.