Komut satırını kullanarak tüm dosyaları bir klasörden diğerine nasıl taşıyabilirim?

167

Tüm dosyaları bir klasörden başka bir klasöre nasıl komut satırıyla taşıyabileceğimi bilmek isterim.

Diyelim ki İndirmelerim klasöründeyim ve tüm dosya adlarını yazmak zorunda kalmadan Videolarım klasörüne taşımak istediğim 100 dosya var.

    
sordu Michael 06.08.2012 17:14

8 cevap

232

Bir terminal açın ve şu komutu çalıştırın:

mv  -v ~/Downloads/* ~/Videos/

Tüm dosya ve klasörleri İndirilenler klasöründen Videolar klasörüne taşır.

Tüm dosyaları taşımak için değil, klasörleri taşımak için:

Tüm dosyaları (klasörleri değil) İndirilenler klasöründen Videolar klasörüne taşımak istiyorsanız, bu komutu kullanın

find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos

Dosyaları yalnızca İndirme klasörlerinden taşımak, ancak alt klasörlerden değil:

Tüm dosyaları İndirilenler klasöründen taşımak, ancak İndirme klasöründeki klasörlerdeki herhangi bir dosyayı taşımak istemiyorsanız, şu komutu kullanın:

find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos

Burada, -maxdepth seçeneği, bulmanın ne kadar denemesi gerektiğini belirtir; 1 , yalnızca find komutunda belirtilen dizini belirtir. Test etmek için ayrıca 2 , 3 kullanmayı deneyebilirsiniz.

Detaylı bir açıklama için Ubuntu manpage bulabilirsiniz

    
verilen cevap Anwar 06.08.2012 17:18
17
mv ~/Downloads/* ~/Videos

Alt klasörleri de dahil olmak üzere tüm dosyaları mv dizinine taşımak ister. % Co_de% (copy) ya da cp (remove) değerini kullanmak isterseniz, alt klasörleri dahil etmek için rm (recursive) seçeneğine ihtiyacınız olacaktır.

    
verilen cevap user223289 08.12.2013 04:24
5

rsync kullanılarak mümkündür, örneğin:

rsync -vau --remove-source-files src/ dst/

burada:

  

-v , --verbose : Ayrıntıları artırın.

     

-a , --archive : Arşiv modu; -rlptgoD ( -H , -A , -X yok) eşittir.

     

-u , --update : Alıcıda daha yeni olan dosyaları atla.

     

--remove-source-files Bu, rsync'e, aktarımın bir parçası olan ve alıcı tarafında başarıyla kopyalanmış olan dosyaları (dizin olmayanlar anlamına gelir) gönderen tarafından kaldırılmasını söyler.

Kök ayrıcalıklarınız varsa, potansiyel izin sorunlarını geçersiz kılmak için sudo öneki bulunur.

    
verilen cevap kenorb 06.06.2015 17:08
2

Kullan

mv -v ~/rootfolder/branch/* ~/rootfolder

Umarım bu yardımcı olur. Çünkü aynı acıyı yaşadım ve hatayı düzeltmek için çok zaman harcadım.

    
verilen cevap Udit Chugh 26.01.2015 00:06
1
  1. Komut satırına gidin ve cd folderNamehere ile taşımak istediğiniz dizine girin.
  2. pwd yazın. Bu, taşımak istediğiniz dizini de yazdıracaktır.
  3. Ardından, tüm dosyaların cd folderNamehere ile bulunduğu dizine geçin.
  4. Artık tüm dosya türlerini taşımak için mv *.* typeAnswerFromStep2here

Bu, tüm dosyaları bu dizinden diğerine taşıyacak.

    
verilen cevap jrh 12.09.2013 14:07
1

Basit durum için:

mv ~/Downloads/* ~/Videos

Nokta dosyalarını da taşımak istiyorsanız, dotglob kabuk seçeneğini ayarlayın.

shopt -s dotglob
mv ~/Downloads/* ~/Videos

Bu, kabuk seçenek kümesini bırakır.

Bir kez dotglob kullanımı için, komutları bir alt kabukta çalıştırın:

(shopt -s dotglob; mv ~/Downloads/* ~/Videos)
    
verilen cevap Hontvári Levente 22.01.2018 11:16
0

Bir içeriği yeniden adlandırmak için mv komutunu nasıl kullandığınız gibi bir içeriğin olduğu veya olmayan bir dizini yeni adına taşımak için:

mv -T dir1 dir2

burada:

  • -T hedefi normal dosya olarak ele alıyor
  • dir1 dizinin orijinal adıdır
  • dir2 dizinin yeni adıdır

NB: dir2 öğesinin bulunması gerekmez.

Umarım bu bir kişiye çok zaman kazandırır, bir noob olarak, bundan önce, yeni isimle bir dizin oluşturur ve daha sonra dizinin içeriğini daha önce oluşturulmuş dizine taşırdım.

Alt dizinler için kullan

Bu komut, birçok dosya hedef dizinin alt klasörüne kaydedildiğinde, yani Downloads/mp4 olduğunda kullanışlıdır. Bu örnekte, mv -T Downloads/mp4 Videos çalıştırıldığında, mp4 alt klasörünün kaldırıldı olması ve içerideki tüm dosyaların Videolar klasörüne taşınmasıyla sonuçlanır.

    
verilen cevap Feyisayo Sonubi 09.12.2015 08:33
0

dene

find ~/Desktop -type f -iname  "*.mp4" -exec mv {} ~/Videos \;

tipi argüman -type ile bu dosya tipini belirtebilirsiniz.

-iname: Bir dosya aramak için en yaygın ve açık yöntem -name argument.if kullanarak -iname argümanını kullanabileceğinden emin değilsiniz.

mv {} ve sonunda hedef dizini belirtmek ve daha sonra dosyaları mv {} argümanı

kullanarak taşımak     
verilen cevap pedram shabani 01.04.2018 18:54

Etiketlerdeki diğer soruları oku