Denne veiledningen viser hvordan du lager nye mapper eller kataloger i Linux ved hjelp av kommandolinjen.
Kommandoen du bruker til å lage kataloger, er mkdir. Denne artikkelen viser deg den grunnleggende måten å lage kataloger på Linux, samt dekke alle tilgjengelige brytere.
Hvordan lage en ny katalog
Den enkleste måten å opprette en ny katalog på er som følger:
mkdir Hvis du for eksempel vil opprette en katalog under hjemmemappen som kalles test, åpner du et terminalvindu og sørger for at du er i din hjemmemappe (bruk CD ~ -kommandoen). Etter at du har opprettet en ny mappe, kan du ønske å angi tillatelsene, slik at bare en bestemt bruker kan få tilgang til mappen eller slik at noen kan redigere filer i mappen, men andre har bare skrivebeskjed. I den siste delen viste jeg deg hvordan du oppretter en katalog som heter test. Kjører kommandoen ls viser deg tillatelsene for den aktuelle katalogen: ls-lt Sjansene er at du vil ha noe på denne måten: drwxr-xr-x 2 eiergruppe 4096 mar 9 19:34 test Bittene vi er interessert i erdrwxr-xr-x eierog gruppe D forteller oss at testen er en katalog. De tre første tegnene etter d er eierrettighetene for katalogen som er oppgitt av eierens navn: De neste tre tegnene er gruppetillatelsene for filen som er oppgitt av gruppenavnet. Igjen er alternativene r, w og x. Den betyr at det mangler tillatelse. I eksemplet ovenfor kan noen som tilhører gruppen få tilgang til mappen og lese filene, men kan ikke skrive til mappen. De siste tre tegnene er tillatelsene som alle brukere har, og som du kan se i eksemplet ovenfor, er disse de samme som gruppetillatelsene. For å endre tillatelsene for en fil eller mappe kan du brukechmodkommando. Kommandoen chmod lar deg spesifisere 3 tall som angir tillatelsene: For å få en blanding av tillatelser legger du til tallene sammen. For eksempel for å lese og utføre tillatelser er nummeret du trenger 5, for å få lese og skrive tillatelser tallet er 6 og for å få skrive og utføre tillatelser tallet er 3. Husk at du må spesifisere 3 tall som en del av chmod-kommandoen. Det første nummeret er for eierrettighetene, det andre nummeret er for gruppetillatelsene, og det siste nummeret er for alle andre. For eksempel for å få full tillatelser på eieren, les og utfør tillatelser på gruppen, og ingen tillatelser for noen andre skriver følgende: chmod 750 test Hvis du ønsker å endre gruppenavnet som eier en mappe, bruker du kommandoen chgrp. For eksempel, tenk deg at du vil opprette en katalog som alle regnskapsførere i bedriften din har tilgang til. Først av alt oppretter du gruppekontoer ved å skrive følgende: groupadd-kontoer Hvis du ikke har riktig tillatelse til å opprette en gruppe, må du kanskje bruke sudo for å få ekstra privilegier eller bytte til en konto med gyldige tillatelser ved hjelp av su-kommandoen. Nå kan du endre gruppen for en mappe ved å skrive følgende: chgrp-kontoer For eksempel: chgrp kontoer test For å gi noen i regnskapsgruppen, les, skriv og utfør tilgang så vel som eieren, men bare skrivebeskyttet til alle andre, kan du bruke følgende kommando: chmod 770 test For å legge til en bruker i kontogruppen vil du sannsynligvis bruke følgende kommando: usermod -a -G kontoer Kommandoen ovenfor legger til kontogruppen til listen over sekundære grupper brukeren har tilgang til. Du kan opprette en katalog og angi tillatelsene for den katalogen samtidig med følgende kommando: mkdir-m777 Kommandoen ovenfor vil opprette en mappe som alle har tilgang til. Det er veldig sjeldent at du ønsker å lage noe med denne typen tillatelser. Tenk deg at du vil opprette en katalogstruktur, men du vil ikke lage hver enkelt mappe sammen med veien og jobbe deg ned et tre. For eksempel kan du opprette mapper for musikken din som følger: Det ville være irriterende å lage rockemappen, deretter alice cooper og queen mappen og deretter lage rap-mappen og dr dre-mappen og deretter jazzmappen og deretter louisjordan-mappen. Ved å spesifisere følgende bryter kan du opprette alle de overordnede mappene i fly hvis de ikke allerede eksisterer. mkdir -p For eksempel, for å opprette en av mappene ovenfor, prøv følgende kommando: mkdir -p ~ / music / rock / alicecooper MKDIR-kommandoen oppgir som standard ikke om katalogen du oppretter, ble opprettet. Hvis det ikke vises noen feil, kan du anta at den har. Hvis du vil ha mer oversatt utgang, slik at du vet hva som er opprettet, bruk følgende bryter. mkdir -v Utgangen vil være i tråd medmkdir: opprettet katalog / sti / til / katalognavn. Noen ganger vil du ønske å bruke kommandoen "mkdir" som en del av et shell-skript. For eksempel, la oss se på et skript som aksepterer en bane. Når skriptet blir utført, vil det opprette mappen og legge til en enkelt tekstfil kalt "hei". #! / bin / bash mkdir $ @ cd $ @ touch hei Den første linjen bør inkluderes i hvert skript du skriver og er brukt til å vise at dette egentlig er et BASH-skript. Kommandoen "mkdir" brukes til å lage en mappe. "$ @" (Også kjent som inngangsparametere) på slutten av 2. og 3. linje erstattes med verdien du angir når du kjører skriptet. Kommandoen "cd" endres i katalogen du angir, og til slutt oppretter kommandoen kommandoen en tom fil kalt "hei". Du kan prøve skriptet ut for deg selv. For å gjøre det, følg disse instruksjonene: Når du kjører skriptet, blir det opprettet en katalog som heter "test", og hvis du endrer til katalogen (cd-test) og kjøre en katalogoppføring (vs), Du vil se en enkelt fil kalt "hei". Så langt så bra, men prøv nå å kjøre trinn 7 igjen. Det er forskjellige ting vi kan gjøre for å forbedre skriptet. For eksempel, hvis mappen allerede eksisterer, bryr vi oss ikke spesielt så lenge det eksisterer. #! / bin / bash mkdir -p $ @ cd $ @ touch hei Hvis du angir -p som en del av mkdir-kommandoen, vil det ikke feil hvis mappen allerede finnes, men hvis den ikke eksisterer, vil den opprette den. Som det skjer, vil berøringskommandoen opprette en fil hvis den ikke eksisterer, men hvis den eksisterer, endrer den bare den siste tilgjengelige datoen og klokkeslettet. Tenk deg at beretningen ble erstattet med en ekko-setning som skriver tekst til en fil som følger: #! / bin / bash mkdir -p $ @ cd $ @ ekko "hei" >> hei Hvis du kjører kommandoen "./createhellodirectory.sh test" igjen og igjen, vil effekten være at filen "hei" i testkatalogen blir større og større med flere og flere linjer med ordet "hei" i det. Nå, dette kan eller ikke er som ønsket, men la oss si for øyeblikket at dette ikke er ønsket handling. Du kan skrive en test for å sikre at katalogen ikke eksisterer før du kjører ekkokommandoen som følger. #! / bin / bash mkdir $ @ 2> / dev / null; hvis $? -eq 0; så cd $ @ echo "hei" >> hei exit fi Ovennevnte skript er min foretrukne metode for å håndtere opprettelsen av mapper. Kommandoen mkdir lager mappen som er bestått som en inngangsparameter, men noen feilutgang sendes til / dev / null (som egentlig betyr ingensteds). Den tredje linjen sjekker utgangsstatusen til den forrige kommandoen, som er "mkdir" -oppstillingen, og hvis den lykkes, vil den utføre uttalelsene til fi-setningen er nådd. Dette betyr at du kan opprette mappen og utføre alle tingene du vil ha hvis kommandoen lykkes. Hvis du vil gjøre noe annet hvis kommandoen ikke lyktes, kan du bare skrive inn en annen setning som følger: #! / bin / bash mkdir $ @ 2> / dev / null; hvis $? -eq 0; thencd $ @ echo "hei" >> helloexitelsecd $ @ echo "hei"> helloexitfi I det ovennevnte skriptet hvis mkdir-setningen virker, sender ekko-setningen ordet "hei" til slutten av filen kalt "hei", men hvis den ikke eksisterer, vil en ny fil bli opprettet kalt "hei" med ordet " hei "i den. Dette eksempelet er ikke spesielt praktisk fordi du kunne oppnå de samme resultatene ved å bare kjøre ekko "hei"> hei linje. Poenget med eksemplet er å vise at du kan kjøre kommandoen "mkdir", skjule feilutgangen, kontrollere statusen for kommandoen for å se om den var vellykket eller ikke, og utfør deretter ett sett med kommandoer hvis kommandoen "mkdir" var vellykket og et annet sett med kommandoer hvis det ikke var det. Endre tillatelsene til den nye katalogen
Hvordan opprette en katalog og sett tillatelser samtidig
Opprett en mappe og eventuelle foreldre som er påkrevd
Få bekreftelse at et katalog ble opprettet
Bruke "mkdir" i et Shell-skript