Bazen uzunca bir klasör iç içe tek bir satırda oluşturmak isteriz. Örneğin /home/husonet/status/2015/ocak
mkdir /home/husonet/status/2015/ocak mkdir: cannot create directory `/home/husonet/status/2015/ocak': No such file or directory
Sorun arada bulunan klasörlerin var olmamasından kaynaklanıyor. "status" ve "2015" klasörleri mevcut değildir.
Aşağıdaki şekilde aslında işlemimizi yapabiliriz ama sanki biraz kulağımızı tersten tutacağız sanki.
cd /home/husonet mkdir status cd status mkdir 2015 cd 2015 mkdir ocak
Ne kadar çok iş yaptık dimi?
Yukarıda yaptığımız işi çok basit bir şekilde halledebilirdik işte burada -p "--parent" flagı devreye giriyor aşağıdaki örneğimizi inceleyelim.
mkdir --parents /home/husonet/status/2015/ocak
mkdir -p /home/husonet/status/2015/subat
ls -R komut disizini kullanarak alt dizinlerle birlikte açılan klasörleri görebilirsiniz.
cd /home/husonet; ls -R status status: 2015 status/2015: ocak subat status/2015/ocak: status/2015/subat:
Şimdi /home/husonet/status/2015/ocak klasörümüzün içine bir dosya oluşturalım.
touch /home/peter/status/2015/ocak/ock12.txt
Yukarıdaki komut dizisi ock12.txt adında boş bir dosya oluşturur. Sonrasında ise ock12.txt dosyamızı kopyalayalım.
cd /home/husonet cp --parents status/2015/ocak/ock12.txt /home/husonet/tmp
işte bu kısımda status/2015/ocak/ock12.txt dosyası tmp klasörüne kopyalanacaktır --parents komutu tmp kalsörü içerisine "status", "2015" ve "ocak" klasörlerini oluşturacaktır.
İşlemi yaptıysak hemen bakalım
cd /home/husonet/tmp/ ls -R status status: 2015 status/2015: ocak status/2015/ocak: ock12.txt
cd /home/husonet cp -r status /home/husonet/tmp
Görüldüğü üzere özyinelemeli kopyalama (Aralık dizinin içeriği dahil) durumu altında her şeyi kopyalamış.
ls -R /home/husonet/tmp/status /home/husonet/tmp/status: 2015 /home/husonet/tmp/status/2015: ocak subat /home/husonet/tmp/status/2015/ocak: ock12.txt /home/husonet/tmp/status/2015/subat:
Yorumlar