Untuk melakukannya, Buka terminal dan jalankan perintah ini:
mv -v ~/Downloads/* ~/Videos/
Ini akan memindahkan semua file dan folder dari folder Downloads ke folder Videos.
Untuk Memindahkan semua file, tetapi bukan folder:
Tapi, Jika Anda tertarik untuk memindahkan semua file (tetapi bukan folder) dari folder Downloads ke folder Videos, gunakan perintah ini
find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos
Untuk hanya memindahkan file dari folder Unduh, tetapi tidak dari sub-folder:
Jika Anda ingin memindahkan semua file dari folder Unduhan, tetapi tidak ada file di dalam folder di folder Unduhan, gunakan perintah ini:
find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos
di sini, -maxdepth
opsi menentukan seberapa dalam find harus mencoba,
1
artinya, hanya direktori yang ditentukan dalam perintah find. Anda dapat mencoba menggunakan 2
, 3
juga untuk menguji.
Lihat manual menemukan Ubuntu untuk penjelasan terperinci.
Larutan
Perintah akan menemukan semua file biasa di bawah
/src/dir
(termasuk semua subdirektori) dan memindahkannya ke/dst/dir
dengan menggunakan perintahmv
. Cukup ganti direktori dengan milik Anda. File dengan nama yang sama akan diganti namanya secara otomatis.Memilih file untuk dipindahkan
Jika Anda ingin memindahkan file MP3 saja, tambahkan
-iname "*.mp3"
opsi kefind
perintah setelah-type f
.Perbandingan dengan balasan oleh c0dev
Hanya perintah kedua dalam jawaban c0dev yang menjawab pertanyaan. Di bawah ini adalah perbandingannya dengan jawaban ini. Poin 3. dan 4. dapat diselesaikan dengan cara yang sama seperti di sini.
mv
solusi dengan-exec +
tidak perlu memanggil perintah tambahan sepertixargs
atauparallel
dan menyerahkan nama file dua kali.--backup=numbered
. Sayangnya cadangan dengan suffix like~3~
ini akan disembunyikan di sebagian besar file yang dikelola secara default. Sayangnyamv
tidak memungkinkan perubahan akhiran tetapi bisa dengan mudah diproses pasca-perintah tambahan. Ini adalah ekstensi GNU.-print0
-exec command {} +
adalah bagian dari standar IEEE Std 1003.1 (POSIX), ISO / IEC 9945 dan Spesifikasi Tunggal UNIX. Karena itu harus lebih portabel. Lihat IEEE Std 1003.1, Edisi 2004 , IEEE Std 1003.1, Edisi 2013 dan 0000243: Tambahkan -print0 ke "find" . Tapi bagaimanapun,-t
saklar yang diperlukanmv
adalah ekstensi GNU sehingga seluruh perintah tidak portabel antara sistem POSIX.Catatan: Dalam kasus ini
find
akan mampu menghasilkan jalur dimulai dengan-
(saya tidak tahu dari setiap pelaksanaan sepertifind
pada saat ini.) Yang{}
harus didahului dengan indikator akhir-of-pilihan:--
.sumber
{}
harus menjadi argumen terakhir. Dikoreksi.Sayangnya, saya tidak memiliki reputasi yang cukup tinggi untuk mengomentari solusi yang ditandai. Namun, saya ingin memperingatkan orang lain tentang masalah yang saya hadapi. Itu sangat amatir; Namun, ketika Anda melakukan beberapa hal, mungkin tidak terlintas di pikiran Anda pada awalnya. Semoga ini bisa membantu orang lain.
Masalah
Variasi dari pesan berikut diberikan setelah memulai perintah. Perintah itu kemudian membuat banyak file.
Sebab
Ini
/src
adalah induk dari/dst
(misalnya/src/../dst/
).Larutan
Walaupun mungkin ada solusi yang lebih baik, saya cukup memindahkan file ke direktori sementara di luar saya
/src
dan kemudian menjalankan kembali perintah untuk menempatkannya kembali di dalam/src/../dst
direktori yang saya inginkan berakhir.sumber
One-liner saya - ini berfungsi pada Mac tetapi juga harus dilakukan pada * nix apa pun. Mulai dari direktori induk.
Bagian pertama memindahkan semuanya dari semua subfolder ke folder aktual dari tempat Anda mengosongkan perintah; bagian kedua memeriksa apakah subdir kosong (sekarang seharusnya :-) dan menghapusnya sehingga Anda mendapatkan semuanya di sini tanpa subdir.
sumber
-not
operatornya tidak standar, sehingga perintah Anda lebih mudah dibawa daripada yang lain.Buka terminal, cd ke folder folder Anda dengan file dan jalankan
find . -mindepth 2 -type f -print -exec mv {} . \;
untuk memindahkan semua file dari sub-direktori ini ke yang sekarang.sumber