Pertanyaan Bagaimana cara memindahkan semua file dari satu folder ke yang lain menggunakan baris perintah?


Saya ingin tahu bagaimana saya bisa memindahkan semua file dari folder ke folder lain dengan baris perintah.

Katakanlah saya ada di folder Downloads saya dan ada 100 file yang ingin saya pindahkan ke folder Video saya, tanpa harus menulis semua nama file.


167
2017-08-06 15:14


asal


Anda bertanya tentang pindah files tetapi orang-orang menunjukkan cara untuk tidak hanya bergerak files tapi foldersdemikian juga. Apakah itu baik? - Askar


Jawaban:


Buka terminal dan jalankan perintah ini:

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

Ini akan memindahkan semua file dan folder dari folder Downloads ke folder Video.


Untuk memindahkan semua file, tetapi tidak folder: 

Jika Anda tertarik untuk memindahkan semua file (tetapi tidak folder) dari folder Downloads ke folder Video, gunakan perintah ini

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

Untuk memindahkan hanya file dari folder Unduh, tetapi tidak dari sub-folder:

Jika Anda ingin memindahkan semua file dari folder Unduhan, tetapi tidak semua file di dalam folder di folder Unduh, gunakan perintah ini:

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

sini, -maxdepth menentukan seberapa dalam menemukan harus mencoba, 1 berarti, hanya direktori yang ditentukan dalam perintah find. Anda dapat mencoba menggunakan 2, 3 juga untuk menguji.

Lihat Ubuntu temukan halaman manual untuk penjelasan rinci


234
2017-08-06 15:18



Anda dapat menggunakan mv sendiri untuk memindahkan seluruh direktori ke folder lain: folder mv ~ / Documents - JohnMerlino
FYI Saya percaya perintah pertama Anda ("mv -v ~ / Downloads / * ~ / Videos /") tidak akan memindahkan file dot. - Mark Doliner
Ya, itu tidak akan memindahkan file - Anwar
Nb. anda -print0 | xargs -0 mv -t ~/Videos dapat dilakukan dengan lebih efisien -exec mv -t ~/Videos \{\} \+ :-) - artfulrobot
ya itu benar. Saya pemula saat itu ketika saya menjawab pertanyaan itu - Anwar


mv ~/Downloads/* ~/Videos

Ini akan memindahkan semua file termasuk subfolder dalam direktori yang Anda inginkan mv. Jika Anda menghendaki cp (salin) atau rm (hapus) Anda akan membutuhkan -r (rekursif) pilihan untuk menyertakan subfolder.


17
2017-12-08 03:24



Perintah mv saya tidak memiliki opsi -R (Ubuntu 14.04). - Mark Doliner
@MarkDoliner, ya, mv tidak perlu opsi rekursif untuk menyertakan subfolder. Satu dapat menggunakannya juga untuk mengganti nama. - AliNâ
Saya tidak butuh *. Hal yang sama terjadi tanpa menggunakan bintang. - MycrofD
The ~ / dalam awalan nama folder tidak selalu berfungsi (tidak bekerja pada bash dan git atleast) - Krish Munot
Solusi ini akan memberikan kesalahan jika direktori sumber kosong. - Pierre Thibault


Itu mungkin dengan menggunakan rsync, sebagai contoh:

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

dimana:

-v, --verbose: Tingkatkan verbositas.

-a, --archive: Mode arsip; sama -rlptgoD (tidak -H, -A, -X).

-u, --update: Lompati file yang lebih baru pada penerima.

--remove-source-files        Ini memberitahu rsync untuk menghapus dari sisi pengiriman file-file (yang berarti non-direktori) yang merupakan bagian dari transfer dan telah berhasil diduplikasi di sisi penerima.

Jika Anda memiliki hak akses root, awali dengan sudo untuk mengesampingkan masalah izin potensial.


5
2018-06-06 15:08



PERINGATAN! opsi -delete-after seperti yang disebutkan tidak bekerja seperti yang Anda harapkan. Itu tidak menghapus sumber file setelah berhasil menyalin ... IT DELETES SEMUA TUTUP / FILES LAINNYA DI TUJUAN. (seperti @kenorb dicatat ... tapi saya tidak membaca cukup hati-hati! DOH) - Jay Marm


Menggunakan

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

Saya harap ini membantu. Karena saya memiliki rasa sakit yang sama dan membuang banyak waktu untuk memperbaiki kesalahan saya.


2
2018-01-25 23:06





Untuk kasus sederhana:

mv ~/Downloads/* ~/Videos

Jika Anda ingin memindahkan file dot juga, maka atur dotglob pilihan shell.

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

Ini meninggalkan set opsi shell.

Untuk satu kali menggunakan dotglob, jalankan perintah dalam subkulit:

(shopt -s dotglob; mv ~/Downloads/* ~/Videos)

2
2018-01-22 10:16





  1. Pergi ke baris perintah dan masuk ke direktori tempat Anda ingin memindahkannya cd folderNamehere
  2. Mengetik pwd. Ini akan mencetak direktori yang Anda inginkan untuk memindahkannya juga.
  3. Kemudian ubah ke direktori tempat semua file bersamanya cd folderNamehere
  4. Sekarang untuk memindahkan semua jenis file mv *.* typeAnswerFromStep2here

Itu akan memindahkan semua file dari direktori itu ke yang lain.


1
2017-09-12 12:07



Ini tidak akan cocok dengan file tanpa ekstensi apa pun. misalnya jika folder memiliki file: foo.txt, bar. dan bar kedua bar. dan bar tidak akan dipindahkan. Menggunakan * dari pada *.* mengurus itu. Namun dalam kedua kasus, file yang tersembunyi seperti: .foobar tidak akan dipindahkan. - Dan


Untuk memindahkan direktori dengan atau tanpa konten ke nama barunya seperti bagaimana Anda akan menggunakan mv perintah untuk mengganti nama file:

mv -T dir1 dir2

dimana:

  • -T memperlakukan tujuan sebagai file normal
  • dir1 adalah nama asli dari direktori
  • dir2 adalah nama baru dari direktori

NB: dir2 tidak harus ada.

Saya harap ini menghemat banyak waktu, sebagai noob, sebelum ini, saya akan membuat direktori dengan nama baru dan kemudian memindahkan isi direktori ke direktori yang dibuat sebelumnya.

Gunakan untuk subdirektori

Perintah ini berguna ketika banyak file telah disimpan dalam subfolder dari direktori target yaitu. Downloads/mp4. Dalam contoh ini, berlari mv -T Downloads/mp4 Videos akan menghasilkan mp4 subfolder menjadi dihapus dan semua file yang ada di dalamnya dipindahkan ke folder Video.


0
2017-12-09 07:33



+1 karena teruji bekerja di Xubuntu 14.04. Saya telah menambahkan contoh dalam jawaban ini untuk menunjukkan bahwa perintah ini akan menyebabkan dir1 untuk dihapus. Selain dari tindakan pencegahan ini, jawaban ini telah mencatat sesuatu yang baik untuk penggunaan sehari-hari. - clearkimura
"Untuk memindahkan direktori dengan atau tanpa konten ke nama barunya" Bagaimana Anda memindahkan direktori ... ke nama? Itu tidak masuk akal. "-T memperlakukan tujuan sebagai file normal" Bagaimana tujuan menjadi file? Maksud Anda direktori? - Monica Heddneck
Ini seperti mengganti nama file menjadi nama barunya seperti yang akan Anda lakukan dengan sesuatu seperti mv fileA fileB tetapi -T flag dalam hal ini memperlakukan direktori tujuan / sebagai file dan mengganti nama itu. - Feyisayo Sonubi