Strona główna
» LINUX
»
Jak używać powłoki Bash do tworzenia katalogów w systemie Linux za pomocą polecenia mkdir
Jak używać powłoki Bash do tworzenia katalogów w systemie Linux za pomocą polecenia mkdir
Aby utworzyć katalog z poziomu powłoki Bash w systemie Linux, należy użyć mkdirpolecenia, po którym należy podać nazwę katalogu. Na przykład, mkdir projectstworzy folder o nazwie projectsw bieżącym katalogu roboczym. Nie potrzebujesz osobnego menedżera plików ani dodatkowego pakietu do normalnego tworzenia katalogów.
Ściśle rzecz biorąc, mkdirnie jest to wbudowana funkcja powłoki Bash. Bash uruchamia narzędzie do tworzenia katalogów zainstalowane w systemie; w typowych dystrybucjach GNU/Linux narzędzie to pochodzi z pakietu GNU Coreutils. Aktualna dokumentacja polecenia mkdir pakietu GNU Coreutils opisuje standardową składnię i przydatne opcje, takie jak -p, -m, i -v.
Utwórz katalog za pomocą mkdir
Otwórz terminal i w razie potrzeby pwdsprawdź swoją aktualną lokalizację za pomocą komendy „. Następnie uruchom:
mkdir projects
Jeśli polecenie się powiedzie, zazwyczaj nic nie wyświetla. Potwierdź nowy katalog poleceniem:
ls
Utworzenie jednego katalogu w bieżącej lokalizacji za pomocą mkdir.
Możesz również podać mkdirścieżkę. W Bash, bez cudzysłowów, ~rozwija się do katalogu domowego, więc archivesw folderze domowym utworzy się:
mkdir ~/archives
W podręczniku Basha dotyczącym rozwijania tyldy wyjaśniono, jak ~to działa. Jeśli katalog nadrzędny nie istnieje, polecenie „zwykłe” mkdirnie działa; należy je stosować -pw przypadku ścieżek zagnieżdżonych.
Utwórz zagnieżdżone katalogi za pomocą mkdir -p
Opcja -p„lub” --parentstworzy brakujące katalogi nadrzędne w razie potrzeby. Jest to najwygodniejszy wybór podczas budowania głębszego drzewa katalogów:
mkdir -p ~/work/client/site/assets
Jeśli work, clientlub sitejeszcze nie istnieje, mkdir -ptworzy go. Nie zgłasza również błędu tylko dlatego, że istniejący składnik ścieżki jest już katalogiem.
mkdir -ptworzy brakujące katalogi nadrzędne jednym poleceniem.
W przypadku skryptów możesz dodać, -vkiedy chcesz uzyskać widoczne potwierdzenie tego, co zostało utworzone:
mkdir -pv ~/work/client/site/assets
Utwórz kilka katalogów jednocześnie
mkdirakceptuje więcej niż jedną nazwę katalogu, dzięki czemu możesz utworzyć wiele folderów za pomocą jednego polecenia:
mkdir docs images backups
Ponieważ w tym przewodniku wykorzystano powłokę Bash, można również zastosować rozszerzenie nawiasów klamrowych, gdy kilka nazw katalogów współdzieli tę samą ścieżkę:
mkdir -p project/{src,tests,docs}
Bash rozwija to wyrażenie przed uruchomieniem mkdir, generując project/src, project/testsi project/docs. GNU Bash dokumentuje to zachowanie w dokumentacji dotyczącej rozwijania nawiasów klamrowych . Rozwijanie nawiasów klamrowych jest funkcją Basha, więc nie zakładaj, że skrypt wykonywany w trybie ściśle POSIX shzinterpretuje je w ten sam sposób.
Rozszerzenie nawiasu klamrowego powłoki Bash jest kompaktowym sposobem tworzenia kilku powiązanych katalogów.
Nazwy katalogów ze spacjami i niestandardowymi uprawnieniami
Jeżeli nazwa katalogu zawiera spacje, należy podać całą nazwę w odniesieniu do bieżącego katalogu:
mkdir "Project Files"
W przypadku ścieżki do katalogu domowego użycie $HOMEcudzysłowu jest bezpieczniejsze niż cytowanie dosłownej tyldy:
mkdir "$HOME/Project Files"
Nie pisz mkdir "~/Project Files"i nie oczekuj ~rozwinięcia; podanie znaku tyldy uniemożliwia normalne rozwinięcie tyldy.
GNU mkdirobsługuje również -mustawianie trybu uprawnień nowego katalogu. Na przykład:
mkdir -m 750 private
Wymaga to uprawnień do odczytu, zapisu i wykonywania dla właściciela, odczytu i wykonywania dla grupy oraz braku uprawnień dla pozostałych. Sprawdź wynik za pomocą:
ls -ld private
Cudzysłowy chronią nazwy zawierające spacje i -mustawiają żądany tryb uprawnień katalogu.
Typowe błędy mkdir
Plik istnieje: nazwa docelowa już istnieje. Jeśli jest to istniejący katalog w ścieżce zagnieżdżonej, mkdir -pmoże być to odpowiednie.
Brak takiego pliku lub katalogu: brakuje ścieżki nadrzędnej. Użyj, mkdir -p path/to/new/foldergdy chcesz, aby brakujące ścieżki nadrzędne były tworzone automatycznie.
Odmowa dostępu: Twoje konto nie może zapisać danych w tej lokalizacji. Utwórz katalog w miejscu, w którym jesteś właścicielem, lub korzystaj z uprawnień administratora tylko wtedy, gdy lokalizacja systemowa ich rzeczywiście wymaga.
Spacje rozdzielają nazwę: podaj ścieżkę w cudzysłowie, na przykład mkdir "$HOME/My Projects".
Usuń utworzony katalog
W przypadku pustego katalogu użyj rmdir:
rmdir projects
Dokumentacja GNU Coreutils rmdir potwierdza, że rmdirusuwa puste katalogi. Jeśli katalog zawiera pliki, rmdirodmawia ich usunięcia. Rekurencyjne usuwanie rm -rjest dostępne dla katalogów, które nie są puste, ale najpierw dokładnie sprawdź ścieżkę, ponieważ usuwa katalog wraz z jego zawartością.
Krótki wykaz poleceń
mkdir name— utwórz jeden katalog w bieżącej lokalizacji.
mkdir ~/name— utwórz jeden katalog w swoim katalogu domowym.