Tüm dizini taşımak yerine yanlışlıkla bir dizinin tüm içeriğini bir hedef dizine kopyaladım. Bu, dizine eklenen orijin dizini yerine darmadağın bir hedef diziniyle sonuçlandı.
Bunu düzeltmek için aşağıdakileri yaptım:
ls -rt /path/to/cluttered/destination/directory/ > /opt/dircheck/filestomove
Yukarıdaki komut, hedef dizinin tüm içeriğinin bir listesi olacak filestomove dosyasını yaratır, zamana göre tersine sıralanır, en eskiden en yeniye anlamına gelir.
Daha sonra, malzemeleri içine taşımak için şimdi dağınık hedef dizinin bir alt dizinini yarattım.
mkdir /path/to/cluttered/destination/directory/newsubdirectory
Sonra dizinde listeleme, ekrana listeleme ve daha fazla ayrıntı gösterme dışında tekrarladım.
ls -lrht /path/to/cluttered/destination/directory/
Bu satır, artan tarihe göre sıralanan dizini listeler (zamana göre geriye doğru sırala) ve şimdi dağınık hedef dizindeki her bir dosyanın tarih / saat damgası dahil olmak üzere daha fazla bilgi gösterir. Hangi dizinleri ve dosyaları bulundukları yerde saklamak istediğimi göstermek için en baştan başlayarak buna atıfta bulunuyorum. Tüm yeni dosyaların başlatılmaması gereken dosyaların tarih / saat damgasında bir boşluk olacaktır.
Sonra, yukarıdaki ilk adımda yaratılan filestomove dosyasını düzenledim (tarihe göre sıralandı) ve daha önce orjinal dizinden kalmak istediğim listeden birkaçını sildim.
vim /opt/dircheck/filestomove
Yukarıdan silin, taşımak istemediğiniz tüm dosyaları silin.
Sonra listemdeki dosyaları yaptığım yeni dizine taşımak için bu yazıda daha önce listelenen komutu kullandım.
sudo xargs -a /opt/dircheck/filestomove mv -t /path/to/cluttered/destination/directory/newsubdirectory
Bu, tüm dosyaları bölünmüş bir saniye içinde taşıdı. (Not: Başlangıçta sudoya ihtiyacınız olmayabilir, bu dosya izinleri konusudur).
Şimdi, orijinal hedef dizinim güzel ve temiz ve tüm dosyaları ve dizeleri karışık bir şekilde içeren yeni bir dizin içeriyor.