Linux'ta "mkdir" Komutu ile Dizin Oluşturma

Bu kılavuz, komut satırını kullanarak Linux içinde yeni klasörler veya dizinler oluşturmayı gösterecektir.

Dizin oluşturmak için kullandığınız komut mkdir. Bu makalede, Linux'ta dizinleri oluşturmanın yanı sıra tüm mevcut anahtarları kapsayan temel yol gösterilmektedir.

Yeni bir dizin nasıl oluşturulur

Yeni bir dizin oluşturmanın en kolay yolu şöyledir:

mkdir

Örneğin, test denen ana klasörünüzün altında bir dizin oluşturmak istiyorsanız, bir terminal penceresi açın ve ev dizininizde olduğundan emin olun ( cd ~ komutunu kullanın ).

mkdir testi

Yeni dizinin izinlerini değiştirme

Yeni bir klasör oluşturduktan sonra izinleri ayarlamak isteyebilirsiniz, böylece sadece belirli bir kullanıcı klasöre erişebilir veya bazı insanlar klasördeki dosyaları düzenleyebilir, ancak diğerleri sadece okuyabilir.

Son bölümde, test denen bir dizinin nasıl oluşturulacağını gösterdim. Ls komutunu çalıştırmak , bu dizinin izinlerini gösterir:

ls -lt

Şansınız bu satırlarda bir şeyiniz olacak:

drwxr-xr-x 2 sahip grup 4096 Mar 9 19:34 test

İlgilendiğimiz bitler drwxr-xr-x sahibi ve gruptur

D bize testin bir dizin olduğunu söyler.

D sonra ilk üç karakter sahibinin adı tarafından belirtilen dizinin sahip izinleridir.

Sonraki üç karakter, grup adıyla belirtilen dosya için grup izinleridir. Yine seçenekler r, w ve x'dir. - Bir izin eksik olduğu anlamına gelir. Yukarıdaki örnekte, gruba ait olan herkes klasöre erişebilir ve dosyaları okuyabilir, ancak klasöre yazamaz.

Son üç karakter, tüm kullanıcıların sahip olduğu izinlerdir ve yukarıdaki örnekte gördüğünüz gibi bunlar grup izinleriyle aynıdır.

Bir dosya veya klasörün izinlerini değiştirmek için chmod komutunu kullanabilirsiniz. Chmod komutu , izinleri belirleyen 3 sayı belirlemenizi sağlar.

İzinlerin bir karışımını almak için sayıları birlikte eklersiniz. Örneğin okuma ve yürütme izinlerini almak için ihtiyaç duyduğunuz sayı 5, okuma ve yazma izinlerini almak için 6'dır ve yazma ve yürütme izinlerini almak için bu sayı 3'tür.

Chmod komutunun bir parçası olarak 3 sayı belirtmeniz gerektiğini unutmayın. İlk numara sahip izinleri içindir, ikinci sayı grup izinleri içindir ve son sayı herkes içindir.

Örneğin, sahip üzerinde tüm izinleri almak için, gruptaki izinleri okuyun ve yürütün ve herhangi biri için aşağıdakileri yazmayın:

chmod 750 testi

Bir klasörün sahibi olan grup adını değiştirmek isterseniz chgrp komutunu kullanın.

Örneğin, şirketinizdeki tüm muhasebecilerin erişebileceği bir dizin oluşturmak istediğinizi düşünün.

Öncelikle, aşağıdakileri yazarak grup hesaplarını oluşturun:

groupadd hesapları

Grup oluşturmak için doğru izne sahip değilseniz, ek ayrıcalıklar kazanmak için sudo kullanmanız veya su komutunu kullanarak geçerli izinlere sahip bir hesaba geçmeniz gerekebilir.

Artık grubu aşağıdakileri yazarak bir klasör için değiştirebilirsiniz:

chgrp hesapları

Örneğin:

chgrp hesapları testi

Hesap grubundaki herhangi birine kimseyi vermesi, yazması, yürütmesi ve sahibini kullanması, ancak herkese salt okunur olması için aşağıdaki komutu kullanabilirsiniz:

chmod 770 testi

Bir kullanıcıyı hesap grubuna eklemek için muhtemelen aşağıdaki komutu kullanmak isteyeceksiniz:

usermod -a -G hesapları

Yukarıdaki komut, hesap grubunu kullanıcının erişebileceği ikincil grupların listesine ekler.

Bir Dizin Oluşturma ve Aynı Anda İzin Verme

Bir dizin oluşturabilir ve aşağıdaki dizini kullanarak bu dizinin izinlerini aynı anda ayarlayabilirsiniz:

mkdir -m777

Yukarıdaki komut, herkesin erişebileceği bir klasör oluşturacaktır. Bu tür izinlerle bir şey oluşturmak isteyeceğiniz çok nadirdir.

Bir Klasör ve Gerekli Tüm Ebeveynleri Oluşturma

Bir dizin yapısı oluşturmak istediğinizi düşünün ancak yol ile birlikte her bir klasörü oluşturmak ve bir ağaca doğru ilerlemek istemezsiniz.

Örneğin, müziğiniz için aşağıdaki gibi klasörler oluşturuyor olabilirsiniz:

Rock klasörünü, sonra alice cooper ve kraliçe klasörünü oluşturmak ve sonra rap klasörünü ve dr dre klasörünü, sonra da caz klasörünü ve ardından louisjordan klasörünü oluşturmak zorunda kalmak can sıkıcı olurdu.

Aşağıdaki anahtarı belirterek, zaten mevcut değilse, tüm üst klasörleri anında oluşturabilirsiniz.

mkdir -p

Örneğin, yukarıda listelenen klasörlerden birini oluşturmak için aşağıdaki komutu deneyin:

mkdir -p ~ / müzik / rock / alicecooper

Dizin Oluşturulduğu Onayı Alma

Varsayılan olarak, mkdir komutu, oluşturduğunuz dizinin başarıyla oluşturulup oluşturulmadığını size söylemez. Hiçbir hata görünmezse, varsayabilirsin.

Daha ayrıntılı çıktı almak istiyorsanız, neyin yaratıldığını biliyorsanız, aşağıdaki anahtarı kullanın.

mkdir -v

Çıkış mkdir: oluşturulmuş dizin / yol / to / directoryname satırları boyunca olacaktır.

& # 34; mkdir & # 34; Kullanımı bir Kabuk Betiğinde

Bazen "mkdir" komutunu bir kabuk betiğinin parçası olarak kullanmak isteyeceksiniz. Örneğin, bir yolu kabul eden bir senaryoya bakalım. Komut yürütüldüğünde, klasörü oluşturacak ve "merhaba" adlı tek bir metin dosyası ekleyecektir.

#! / Bin / bash

mkdir $ @

cd $ @

merhaba

İlk satır, yazdığınız her betiğe eklenmeli ve bunun aslında bir BASH betiği olduğunu göstermek için kullanılmalıdır.

Bir klasör oluşturmak için "mkdir" komutu kullanılır. 2. ve 3. satırın sonunda "$ @" ( giriş parametreleri olarak da bilinir ), betiği çalıştırırken belirttiğiniz değerle değiştirilir.

"Cd" komutu belirttiğiniz dizine dönüşür ve son olarak touch komutu "merhaba" adında boş bir dosya oluşturur.

Senaryoyu kendin deneyebilirsin. Bunu yapmak için şu talimatları izleyin:

  1. Bir terminal penceresi açın (Alt ve T tuşlarına basın)
  2. Nano createhellodirectory.sh girin
  3. Yukarıdaki komutları editöre yazın
  4. CTRL ve O'ya aynı anda basarak dosyayı kaydedin
  5. CTRL ve X tuşlarına aynı anda basarak dosyadan çıkın
  6. Chmod + x createhellodirectory.sh yazarak izinleri değiştirin.
  7. Komut dosyasını ./createhellodirectory.sh yazarak çalıştırın.

Komut dosyasını çalıştırdığınızda "test" adlı bir dizin oluşturulacak ve eğer bu dizine ( cd testi) geçip dizin listesi ( ls) çalıştırırsanız , "merhaba" adında tek bir dosya göreceksiniz.

Şimdiye kadar çok iyi ama şimdi tekrar 7 adımı çalıştırmayı dene.

  1. Klasörün zaten var olduğunu belirten bir hata görünecektir.

Senaryoyu geliştirmek için yapabileceğimiz çeşitli şeyler var. Örneğin, eğer klasör zaten varsa, var olduğu sürece özellikle önemsemeyiz.

#! / Bin / bash

mkdir -p $ @

cd $ @

merhaba

Eğer mpdir komutunun bir parçası olarak -p'yi belirtirseniz, klasör zaten mevcutsa hata olmaz, ancak eğer mevcut değilse, onu yaratacaktır.

Olduğu gibi, touch komutu mevcut değilse bir dosya oluşturacak, eğer mevcutsa, sadece son erişilen tarih ve saati değiştirecektir.

Dokunma ifadesinin, metni aşağıdaki gibi bir dosyaya yazan bir yankı ifadesiyle değiştirildiğini düşünün:

#! / Bin / bash

mkdir -p $ @

cd $ @

echo "merhaba" >> merhaba

"./createhellodirectory.sh sınaması" komutunu tekrar tekrar çalıştırırsanız etki, test dizinindeki "merhaba" adlı dosyanın, içinde "merhaba" kelimesiyle daha fazla ve daha büyük çizgilerle büyüyeceğidir.

Şimdi, bu amaçlandığı gibi olabilir veya olmayabilir, ancak şimdilik bunun istenen eylem olmadığı söylenebilir. Echo komutunu aşağıdaki gibi çalıştırmadan önce dizinin bulunmadığından emin olmak için bir test yazabilirsiniz.

#! / Bin / bash

mkdir $ @ 2> / dev / null;

[$? -eq 0]; sonra

cd $ @

echo "merhaba" >> merhaba

çıkış

fi

Yukarıdaki komut dosyası, klasörlerin oluşturulmasına yönelik tercih ettiğim yöntemdir. Mkdir komutu, girdi parametresi olarak aktarılan klasörü oluşturur, ancak herhangi bir hata çıkışı / dev / null'a gönderilir (temelde hiçbir yerde olmadığı anlamına gelir).

Üçüncü satır, "mkdir" ifadesi olan önceki komutun çıkış durumunu kontrol eder ve eğer başarılı olursa "fi" ifadesine ulaşılana kadar ifadeleri gerçekleştirir.

Bu, klasörü oluşturup komut başarılı olduğunda istediğiniz her şeyi gerçekleştirebileceğiniz anlamına gelir. Komutun başarılı olmaması durumunda başka bir şey yapmak isterseniz, aşağıdaki gibi bir başka ifadeyi kolayca girebilirsiniz:

#! / Bin / bash

mkdir $ @ 2> / dev / null;

[$? -eq 0]; sonra
cd $ @
echo "merhaba" >> merhaba
çıkış
Başka
cd $ @
echo "merhaba"> merhaba
çıkış
fi

Yukarıdaki betikte mkdir ifadesi işe yararsa, echo ifadesi "merhaba" sözcüğünü "merhaba" adlı dosyanın sonuna gönderir, eğer mevcut değilse "merhaba" adı verilen yeni bir dosya oluşturulur. merhaba "içeride.

Bu örnek özellikle pratik değildir çünkü her zaman "merhaba"> merhaba satırını ekleyerek aynı sonuçları elde edebilirsiniz. Örnekteki nokta, "mkdir" komutunu çalıştırabileceğinizi, hata çıkışını gizleyebileceğinizi, başarılı olup olmadığını görmek için komutun durumunu kontrol edip "mkdir" komutuyla bir komut kümesi gerçekleştirebildiğinizi göstermektir. değilse başarılı ve başka bir komut kümesi.