Aquesta guia us mostrarà com crear noves carpetes o directoris a Linux mitjançant la línia d'ordres.
L'ordre que utilitzeu per crear directoris és mkdir. Aquest article us mostra la manera bàsica de crear directoris a Linux, així com de cobrir tots els commutadors disponibles.
Com crear un nou directori
La forma més senzilla de crear un nou directori és la següent:
mkdir Per exemple, si voleu crear un directori sota la vostra carpeta d'inici anomenada prova, obriu una finestra de terminal i assegureu-vos que esteu a la vostra carpeta d'inici (utilitzeu l'ordre cd ~). Després de crear una nova carpeta, és possible que vulgueu establir els permisos perquè només un determinat usuari pugui accedir a la carpeta o perquè algunes persones puguin editar fitxers a la carpeta, però d'altres només han llegit. A la darrera secció, us vaig mostrar com crear un directori anomenat test. Executar l'ordre ls us mostrarà els permisos d'aquest directori: ls -lt Les possibilitats són que tindreu alguna cosa al llarg d'aquestes línies: drwxr-xr-x 2 grup propietari 4096 mar 9 19:34 prova Els bits que estem interessats sóndrwxr-xr-x propietarii grup El d ens diu que la prova és un directori. Els primers tres caràcters després de la d són els permisos del propietari del directori especificat pel nom del propietari: Els següents tres caràcters són els permisos de grup per al fitxer especificat pel nom del grup. De nou, les opcions són r, w i x. El - significa que hi falta el permís. En l'exemple anterior qualsevol persona que pertany al grup pot accedir a la carpeta i llegir els fitxers, però no pot escriure a la carpeta. Els tres últims caràcters són els permisos que tenen tots els usuaris i com es pot veure a l'exemple anterior, són els mateixos que els permisos del grup. Per canviar els permisos per a un fitxer o carpeta, podeu utilitzar elchmodcomandament. La comanda chmod us permet especificar 3 nombres que estableixen els permisos: Per obtenir una barreja de permisos, afegiu els números junts. Per exemple, per obtenir permisos de lectura i execució, el número que necessiteu és 5, per obtenir permisos de lectura i escriptura, el número és de 6 i per obtenir permisos d'escriptura i execució, el número és de 3. Recordeu que heu d'especificar 3 números com a part de l'ordre chmod. El primer número correspon als permisos del propietari, el segon número correspon als permisos del grup i l'últim número és per a tots els altres. Per exemple, per obtenir permisos complets al propietari, llegiu i executeu permisos al grup i no hi hagi permisos per a cap altra persona escriviu el següent: prova chmod 750 Si voleu canviar el nom del grup que posseeix una carpeta, utilitzeu l'ordre chgrp. Per exemple, imagineu que voleu crear un directori que tots els comptadors de la vostra empresa poden accedir. Primer de tot, creeu els comptes del grup escrivint el següent: groupadd accounts Si no teniu el permís correcte per crear un grup, és possible que hàgiu d'utilitzar sudo per obtenir privilegis addicionals o canviar a un compte amb permisos vàlids utilitzant l'ordre su. Ara podeu canviar el grup per a una carpeta escrivint el següent: comptes de chgrp Per exemple: prova de comptes chgrp Per donar a tothom al grup de comptes llegir, escriure i executar l'accés, així com el propietari, però només de lectura a tothom, podeu utilitzar el següent comandament: prova chmod 770 Per afegir un usuari al grup de comptes, probablement voldreu utilitzar el següent comandament: comptes usermod -a-G La comanda anterior afegeix el grup de comptes a la llista de grups secundaris als quals l'usuari té accés. Podeu crear un directori i establir els permisos d'aquest directori al mateix temps mitjançant l'ordre següent: mkdir-m777 L'ordre anterior crearà una carpeta a la qual tothom té accés. És molt estrany que vulgueu crear qualsevol cosa amb aquest tipus de permisos. Imagineu que voleu crear una estructura de directoris però no voleu crear cada carpeta individual juntament amb el camí i baixar un arbre. Per exemple, podeu crear carpetes per a la vostra música de la manera següent: Seria molest per haver de crear la carpeta de rock, després la carpeta de cooperació i reina, i després crear la carpeta de rap i la carpeta dr dre i, a continuació, la carpeta de jazz i després la carpeta louisjordan. Si especifiqueu el següent interruptor, podeu crear totes les carpetes principals quan no existeixin. mkdir -p Per exemple, per crear una de les carpetes enumerades anteriorment, proveu l'ordre següent: mkdir -p ~ / music / rock / alicecooper Per defecte, l'ordre mkdir no us indica si el directori que esteu creant s'ha creat correctament. Si no apareixen errors, podeu assumir que ho ha fet. Si voleu obtenir més informació de manera que sàpiga el que s'ha creat, useu el següent interruptor. mkdir -v La sortida serà al llarg de les línies demkdir: directori / camí / a / directori creat. De vegades voldreu utilitzar l'ordre "mkdir" com a part d'un script shell. Per exemple, vegem un script que accepta una ruta. Quan s'executa la seqüència es crearà la carpeta i s'afegirà un fitxer de text anomenat "hola". #! / bin / bash mkdir $ @ cd $ @ toque hola La primera línia s'ha d'incloure en cada script que escriviu i s'utilitza per mostrar que aquest és, de fet, un script BASH. L'ordre "mkdir" s'utilitza per crear una carpeta. El "$ @" (també conegut com a paràmetres d'entrada) al final de la segona i tercera línia es reemplaça amb el valor que especifiqueu en executar l'script. La comanda "cd" canvia al directori que heu especificat i, finalment, la comanda tàctil crea un fitxer buit anomenat "hola". Podeu provar l'script per si mateix. Per fer-ho seguiu aquestes instruccions: Quan executeu l'script, es crearà un directori anomenat "prova" i si canvieu a aquest directori (prova de cd) i executeu una llista de directoris (ls), veuràs un únic fitxer anomenat "hola". Fins ara és bo, però ara prova de seguir el pas 7. Hi ha diverses coses que podem fer per millorar el guió. Per exemple, si la carpeta ja existeix, no ens importa gaire, sempre que existeixi. #! / bin / bash mkdir -p $ @ cd $ @ toqueu hola Si especifiqueu -p com a part de l'ordre mkdir, no es produirà un error si la carpeta ja existeix, però si no existeix, la crearà. Com passa, l'ordre touch crearà un fitxer si no existeix, però si existeix, només modifica l'última data i hora d'accés. Imagineu que la instrucció touch s'ha reemplaçat per una instrucció de ressò que escriu text a un fitxer de la següent manera: #! / bin / bash mkdir -p $ @ cd $ @ echo "hola" >> hola Si executeu l'ordre "./createhellodirectory.sh test" una vegada i una altra, l'efecte serà que el fitxer anomenat "hola" al directori de proves creixerà més gran i més gran amb més línies amb la paraula "hola". Ara bé, pot ser que sigui possible o no, però diguem ara que aquesta no és l'acció desitjada. Podeu escriure una prova per assegurar-vos que el directori no existeix abans d'executar l'ordre echo de la manera següent. #! / bin / bash mkdir $ @ 2> / dev / null; si $? -eq 0; llavors cd $ @ echo "hola" >> hola sortida fi L'script anterior és el meu mètode preferit per gestionar la creació de carpetes. L'ordre mkdir crea la carpeta que es passa com a paràmetre d'entrada, però qualsevol sortida d'error s'envia a / dev / null (que bàsicament significa enlloc). La tercera línia comprova l'estat de sortida de la comanda anterior que és la instrucció "mkdir" i, si ho ha aconseguit, realitzarà les instruccions fins que s'aconsegueixi la instrucció "fi". Això significa que podeu crear la carpeta i fer totes les coses que voleu si la comanda és correcta. Si voleu fer alguna cosa més si la comanda no ha tingut èxit, simplement haureu d'introduir una altra declaració de la manera següent: #! / bin / bash mkdir $ @ 2> / dev / null; si $? -eq 0; thencd $ @ echo "hola" >> helloexitelsecd $ @ echo "hola"> helloexitfi En el guió anterior si la instrucció mkdir funciona, llavors la instrucció echo envia la paraula "hola" al final del fitxer anomenat "hola" mentre que si no existeix, es crearà un nou fitxer anomenat "hola" amb la paraula " hola "en ell. Aquest exemple no és especialment pràctic, ja que podria aconseguir els mateixos resultats simplement executant sempre el eco "hola"> hola línia. El punt de l'exemple és mostrar que podeu executar l'ordre "mkdir", amagar la sortida d'error, comprovar l'estat de l'ordre per veure si va tenir èxit o no i executar un conjunt d'ordres si l'ordre "mkdir" va tenir èxit i un altre conjunt d'ordres si no fos així. Canvi dels permisos del directori nou
Com crear un directori i establir permisos al mateix temps
Crea una carpeta i qualsevol altre pare que sigui necessari
Com confirmar que es va crear un directori
Ús de "mkdir" en un script de Shell