Командата mkdir се използва за създаване на нови директории в Linux. В тази статия ще ви покажа как да използвате командата mkdir за създаване на директории от командния ред в Linux. Ще използвам Ubuntu 18.04 LTS за демонстрацията, но всяка дистрибуция на Linux трябва да бъде добре, за да изпробвате примерите, дадени тук. И така, нека започнем.
Абсолютен път и относителен път:
В Linux има 2 типа пътеки. Абсолютен път и относителен път. Наличието на ясни концепции за тези термини е от съществено значение за работата с командата mkdir.
Абсолютен път: Това е пълният път до желаната директория или файл. Абсолютният път първо съдържа директорията / (root) и след това се премества надолу по йерархията на директориите (дърво), докато се достигне желаната директория или файл.
Например, / db / mysql / data е абсолютен път на директория. / и т.н. / fstab е абсолютен път до файла.
Относителна пътека: Относителният път се изчислява от текущата работна директория. Може да започне със или без ./ но не може да започне с /
Можете да отпечатате текущия път на работната директория с pwd команда, както следва:
Сега, ако пътят на директорията е ./ db / mysql / data или просто db / mysql / данни тогава всъщност е в родителската директория / начало / шовон. Забележете как не трябва да въвеждаме пълен или абсолютен път / home / shovon / db / mysql / data.
Абсолютните пътеки улесняват работата с командата mkdir.
Създаване на директория с mkdir:
Това е най-простата и често срещана употреба на mkdir. Можете да създадете нова директория с mkdir много лесно.
За да създадете нова директория файлове/ (да кажем) в текущата работна директория изпълнете следната команда:
$ mkdir файлове
Както можете да видите, нова директория файлове / е създаден.
$ ls -l
Ако не искате да създавате директория в текущата си работна директория, можете, разбира се, да отидете до родителската директория (вътре, където искате да създадете новата директория) и да създадете нова директория, както е показано по-горе. Но има по-добро решение.
За да създадете нова директория, без да навигирате до родителската директория, можете да посочите пътя на директорията, както следва:
$ sudo mkdir / mnt / iso
Тази команда създава нова директория iso / вътре в / mnt директория. Не се наложи да навигирам до директорията / mnt, както виждате.
$ ls -l / mnt
Създаване на директория заедно с родителски директории с mkdir:
В по-ранния раздел ви показах как да създадете нова директория, използвайки абсолютния път. Но ако родителската директория не съществува, тогава няма да можете да създадете нова директория по този начин. mkdir ще изведе грешка. Първо ще трябва да създадете родителската директория и след това да създадете желаната директория.
За щастие, mkdir има -стр или -родители флаг, който ще създаде необходимите родителски директории, ако те не съществуват.
Например, да речем, че искате да преместите директорията с данни MySQL в / db / mysql / data. Но никой от родителските директории не съществува в момента. Така че, вместо да използвате 3 mkdir команда, можете да изпълните една команда, за да кажете на mkdir да създаде родителските директории, ако е необходимо.
$ sudo mkdir -p / db / mysql / dataИли
$ sudo mkdir --parents / db / mysql / data
Както можете да видите, родителските директории се създават според изискванията.
Mkdir с флага -o може също така да създава родителски директории автоматично и за относителни пътища.
Например, да речем, че искате да създадете нова директория projects / python-test в текущата работна директория. За да направите това, стартирайте mkdir, както следва:
$ mkdir -p projects / python-test
Както можете да видите, projects / python-test директория се създава в текущата работна директория.
Създаване на множество директории с mkdir:
Можете да създадете множество директории с една команда mkdir, ако искате.
Да кажем, че искате да създадете 3 директории nodejs /, питон /, Java / във вашата текуща работна директория ~ / проекти. За да създадете всички тези директории, стартирайте mkdir, както следва:
$ mkdir nodejs python java
Както виждате, създават се необходимите директории.
Отново, да кажем, че искате да създадете множество директории за mysql, mariadb, mongodb бази данни, използващи абсолютен път. Освен това искате да създадете всички родителски директории, както е необходимо. За да направите това, изпълнете командата mkdir, както следва:
$ sudo mkdir -p / db / mysql, mariadb, mongodb / данни
Както можете да видите, необходимите директории се създават наведнъж.
Тук пътищата на директорията са / db / mysql / data, / db / mariadb / data, / db / mongodb / data. Какво се променя във всеки път на директория? Е, директорията от второ ниво mysql, mariadb, mongodb. Така че, можем да го поставим във фигурни скоби, без празно пространство като / db / mysql, mariadb, mongodb / данни. Доста просто.
Многословен режим на mkdir:
По подразбиране mkdir не отпечатва съобщение на екрана, ако командата работи успешно. Отпечатват се само съобщения за грешка. Ако искате mkdir да отпечатва съобщения на екрана, можете да използвате -v флаг или -многословен флаг.
Същата команда в по-ранния раздел може да бъде написана по следния начин.
$ sudo mkdir -pv / db / mysql, mariadb, mongodb / данниИли,
$ sudo mkdir --parents --verbose / db / mysql, mariadb, mongodb / данниКакто виждаш, mkdir сега отпечатва съобщение, докато се създават директории.
И така, вие използвате командата mkdir в Linux. Благодаря, че прочетохте тази статия.