0 oy
Programlama/Kod kategorisinde tarafından soruldu
Programınız komut satırı üzerinden kendisine tek bir parametre (argüman) almalıdır. Bu parametre bir dizinin (klasörün) tam veya bağıl yoludur ve programınızın önce bu dizinin altındaki tüm dizinleri, sonra da bu dizini silmesi beklenmektedir. Programınıza tek bir parametre aktarılmazsa veya aktarılan parametre bir dizin değilse programınız hiçbir şey yapmadan sadece kullanıcıya bir uyarı mesajı vererek sonlanmalıdır. Programınız dizinleri ziyaret işlemi için Depth First Search (DFS) algoritmasını kullanmalıdır. DFS algoritmasının çalışma mantığını bu soru özelinde açıklayınız ve proje raporuna ekleyiniz. Rekürsif herhangi bir çözüme izin yoktur. Dizin yapısını ağaç şeklinde elde edebilmenizi sağlayacak herhangi bir Linux komutunun veya seçeneğinin kullanımına izin yoktur. rm veya ls komutunun -R seçeneği ile kullanılmasına izin yoktur. rmdir komutu ile bir dizinin silinebilmesi için öncelikle içinin boş olması gerektiğini unutmayınız. rm komutu dosya silmek, rmdir komutu ise içi boş dizin silmek için kullanılmalıdır. Parametre dizinin altında dizinler, o dizinlerin altında dizinler, onların altında dizinler olabileceğini unutmayınız. Örneğin programınızla kök dizinini silmek isteseydiniz eğer (ki asla böyle bir şey yapmamalısınız) aşağıdaki gibi bir dizin hiyerarşisini yok etmek zorunda kalırdınız. rm komutu ile işlem yapacağınız için çok dikkatli olunuz. Silme işlemini gerçekleştirmeden önce programınızın yapacağı işleri ekran çıktısı şeklinde inceleyiniz ve doğru çalıştığından tam olarak emin olunuz. Yazdığınız programın doğru çalıştığından emin olmak için küçük bir kabuk programı yazmalısınız ve içi içe dizinler oluşturarak her bir dizinin altına bazı dosyalar kopyalamalısınız. Söz konusu test dizinini her test öncesinde manuel oluşturmak mantıklı değildir. Bu amaçla yazdığınız kabuk programını da çözümünüze ekleyiniz. İPUCU: Bash kabuğu üzerinde dizilerin (array) nasıl tanımlandığını, dizi elemanlarına nasıl ulaşıldığını, diziye yeni bir elemanın nasıl eklendiğini veya diziden bir elemanın nasıl silindiğini hatırlayınız. Açıklamalar böyle şimdiden teşekkürler :)

Cevabınız

Your name to display (optional):
Gizlilik: E-posta adresiniz yalnızca bu bildirimlerin gönderilmesi için kullanılacak.
İstenmeyen Reklam Koruması:
Gelecekte bu doğrulamadan kurtulmak için, lütfen giriş yapınız veya kayıt olunuz.
Hoş geldiniz, sorsana.co sizlere sorularınızın diğer kullanıcılarımız tarafından cevaplanması için bir ortam sağlar.

Kategoriler

...