Linux команди

Как да използвам командата mkdir в Linux

Как да използвам командата mkdir в Linux

Командата 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. Благодаря, че прочетохте тази статия.

OpenTTD срещу Simutrans
Създаването на собствена транспортна симулация може да бъде забавно, релаксиращо и изключително примамливо. Ето защо трябва да сте сигурни, че изпробв...
Урок за OpenTTD
OpenTTD е една от най-популярните бизнес симулационни игри там. В тази игра трябва да създадете прекрасен транспортен бизнес. Въпреки това, ще започне...
SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...