Denne vejledning viser dig, hvordan du opretter nye mapper eller mapper i Linux ved hjælp af kommandolinjen.
Kommandoen, du bruger til oprettelse af mapper, er mkdir. Denne artikel viser dig den grundlæggende måde at oprette mapper på Linux, samt at dække alle tilgængelige switches.
Sådan oprettes en ny katalog
Den enkleste måde at oprette en ny mappe på er som følger:
mkdir Hvis du f.eks. Vil oprette en mappe under din hjemmemappe, kaldes test, skal du åbne et terminalvindue og sørge for at du er i din hjemmemappe (brug cd ~ -kommandoen). Når du har oprettet en ny mappe, kan du ønske at indstille tilladelserne, så kun en bestemt bruger kan få adgang til mappen eller så nogle mennesker kan redigere filer i mappen, men andre har kun læst. I det sidste afsnit viste jeg dig, hvordan du opretter en mappe, der hedder test. Hvis du kører kommandoen ls, vises tilladelserne til den pågældende mappe: ls-lt Chancerne er, at du vil have noget i denne retning: drwxr-xr-x 2 ejergruppe 4096 mar 9 19:34 test De bits, vi er interesseret i erdrwxr-xr-x ejerog gruppe D fortæller os, at testen er en mappe. De første tre tegn efter d er ejerens tilladelser til den mappe, der er angivet af ejerens navn: De næste tre tegn er gruppetilladelser for filen, der er angivet af gruppenavnet. Igen er mulighederne r, w og x. Den betyder at der mangler en tilladelse. I eksemplet ovenfor kan enhver, der tilhører gruppen, få adgang til mappen og læse filerne, men kan ikke skrive til mappen. De sidste tre tegn er de tilladelser, som alle brugere har, og som du kan se i eksemplet ovenfor, er disse de samme som gruppetilladelserne. For at ændre tilladelserne til en fil eller mappe kan du brugechmodkommando. Kommandoen chmod lader dig angive 3 tal, som indstiller tilladelserne: For at få en blanding af tilladelser tilføjer du numrene sammen. For eksempel for at få læst og udføre tilladelser er det antal du har brug for 5, for at få læs og skrive tilladelser, nummeret er 6 og for at få skrive og udføre tilladelser er nummeret 3. Husk at du skal angive 3 tal som en del af chmod-kommandoen. Det første nummer er for ejerens tilladelser, det andet nummer er til gruppetilladelserne, og det sidste nummer er for alle andre. For eksempel for at få fuld tilladelser på ejeren, skal du læse og udføre tilladelser på gruppen, og ingen tilladelser for nogen andre skriver følgende: chmod 750 test Hvis du ønsker at ændre gruppenavnet, der ejer en mappe, skal du bruge kommandoen chgrp. Forestil dig for eksempel at du vil oprette en mappe, som alle revisorer i dit firma kan få adgang til. Først og fremmest opretter du gruppekontiene ved at skrive følgende: groupadd-konti Hvis du ikke har den korrekte tilladelse til at oprette en gruppe, skal du muligvis bruge sudo til at få ekstra rettigheder eller skifte til en konto med gyldige tilladelser ved hjælp af su-kommandoen. Nu kan du ændre gruppen til en mappe ved at skrive følgende: chgrp konti For eksempel: chgrp konti test For at give nogen i regnskabet kan gruppen læse, skrive og udføre adgang samt ejeren, men skrivebeskyttet til alle andre, du kan bruge følgende kommando: chmod 770 test For at tilføje en bruger til kontogruppen vil du sandsynligvis bruge følgende kommando: usermod -a -G konti Ovenstående kommando tilføjer kontogruppen til listen over sekundære grupper, som brugeren har adgang til. Du kan oprette en mappe og indstille tilladelserne til den pågældende mappe samtidig med følgende kommando: mkdir-m777 Ovenstående kommando vil oprette en mappe, som alle har adgang til. Det er meget sjældent, at du vil oprette noget med denne form for tilladelser. Forestil dig, at du vil oprette en mappestruktur, men du vil ikke oprette hver enkelt mappe sammen med vejen og arbejde dig ned i et træ. Du kan f.eks. Oprette mapper til din musik som følger: Det ville være irriterende at lave rockemappen, derefter alice cooper og queen mappen og derefter oprette rap mappen og dr dre mappen og derefter jazz mappen og derefter louisjordan mappen. Ved at angive følgende skifte kan du oprette alle de overordnede mapper i flyve, hvis de ikke allerede eksisterer. mkdir-p Hvis du for eksempel vil oprette en af de ovennævnte mapper, prøv følgende kommando: mkdir -p ~ / music / rock / alicecooper MKDIR-kommandoen angiver som standard ikke, om den mappe, du opretter, blev oprettet. Hvis der ikke vises fejl, kan du antage, at den har. Hvis du vil få mere verbose output, så du ved hvad der er oprettet, brug følgende switch. mkdir -v Udgangen vil være i overensstemmelse medmkdir: oprettet mappe / sti / til / mappenavn. Nogle gange vil du gerne bruge kommandoen "mkdir" som en del af et shell script. Lad os f.eks. Se på et script, der accepterer en sti. Når scriptet udføres, vil det oprette mappen og tilføje en enkelt tekstfil kaldet "hej". #! / bin / bash mkdir $ @ cd $ @ touch hej Den første linje skal inkluderes i hvert script, du skriver og bruges til at vise, at dette virkelig er et BASH-script. Kommandoen "mkdir" bruges til at oprette en mappe. "$ @" (Også kendt som inputparametre) i slutningen af 2. og 3. linje erstattes med den værdi, du angiver, når scriptet køres. Kommandoen "cd" ændres til det bibliotek, du angiver, og endelig opretter kommandoen kommandoen en tom fil kaldet "hej". Du kan prøve scriptet ud for dig selv. For at gøre dette skal du følge disse instruktioner: Når du kører scriptet oprettes en mappe kaldet "test", og hvis du skifter til den pågældende mappe (cd test) og kør en katalogfortegnelse (ls), Du vil se en enkelt fil kaldet "hej". Hidtil så godt, men nu prøv at køre trin 7 igen. Der er forskellige ting, vi kan gøre for at forbedre scriptet. For eksempel, hvis mappen allerede eksisterer, bekymrer vi os ikke særligt, så længe det eksisterer. #! / bin / bash mkdir -p $ @ cd $ @ touch hej Hvis du angiver -p som en del af kommandoen mkdir, vil det ikke fejl, hvis mappen allerede eksisterer, men hvis den ikke eksisterer, vil den oprette den. Som det sker, vil berøringskommandoen oprette en fil, hvis den ikke eksisterer, men hvis den eksisterer, ændrer den bare den sidst tilgængelige dato og klokkeslæt. Forestil dig, at touch-sætningen blev erstattet med en ekko-erklæring, der skriver tekst til en fil som følger: #! / bin / bash mkdir -p $ @ cd $ @ ekko "hej" >> hej Hvis du kører kommandoen "./createhellodirectory.sh test" igen og igen, vil effekten være at filen "hej" i testmappen bliver større og større med flere og flere linjer med ordet "hej" i det. Nu er dette måske eller ikke, som det er meningen, men lad os nu sige, at dette ikke er den ønskede handling. Du kan skrive en test for at sikre, at biblioteket ikke eksisterer, før du kører ekko-kommandoen som følger. #! / bin / bash mkdir $ @ 2> / dev / null; hvis $? -qq; så cd $ @ echo "hej" >> hej exit fi Ovenstående script er min foretrukne metode til håndtering af oprettelsen af mapper. Mkdir-kommandoen opretter den mappe, der sendes som input parameter, men eventuelle fejl output sendes til / dev / null (hvilket i det væsentlige betyder ingen steder). Den tredje linje kontrollerer udgangsstatusen for den foregående kommando, som er "mkdir" -opstillingen, og hvis den lykkes, vil den udføre udsagnene, indtil "fi" -opgørelsen er nået. Det betyder, at du kan oprette mappen og udføre alle de ting, du vil have, hvis kommandoen lykkes. Hvis du vil gøre noget andet, hvis kommandoen ikke lykkedes, kan du blot indtaste en anden erklæring som følger: #! / bin / bash mkdir $ @ 2> / dev / null; hvis $? -qq; thencd $ @ echo "hej" >> helloexitelsecd $ @ echo "hej"> helloexitfi I det ovennævnte script, hvis mkdir-sætningen virker, sender ekko-sætningen ordet "hej" til slutningen af filen hedder "hej", mens hvis den ikke eksisterer, oprettes en ny fil kaldet "hej" med ordet " hej "i den. Dette eksempel er ikke særlig praktisk, fordi du kunne opnå de samme resultater ved blot at køre ekko "hej"> hej linje. Eksemplet er at vise, at du kan køre kommandoen "mkdir", skjule fejludgangen, kontrollere status for kommandoen for at se om den var vellykket eller ej og derefter udføre et sæt kommandoer, hvis kommandoen "mkdir" var vellykket og et andet sæt kommandoer, hvis det ikke var tilfældet. Ændring af tilladelserne i den nye katalog
Sådan oprettes en mappe og sæt tilladelser på samme tid
Opret en mappe og ethvert forældre, der er påkrævet
Bekræftelse at et katalog blev oprettet
Brug af "mkdir" i et Shell Script