Cara Menyalin File ke Banyak Direktori Dengan Satu Perintah di Linux

Cara Menyalin File ke Banyak Direktori Dengan Satu Perintah di Linux
Cara Menyalin File ke Banyak Direktori Dengan Satu Perintah di Linux

Video: Cara Menyalin File ke Banyak Direktori Dengan Satu Perintah di Linux

Video: Cara Menyalin File ke Banyak Direktori Dengan Satu Perintah di Linux
Video: How To Fix Disk Cleanup Stuck at Windows Update Cleanup - YouTube 2024, April
Anonim
Menyalin file dengan baris perintah Linux itu mudah. Namun, bagaimana jika Anda ingin menyalin file yang sama ke beberapa lokasi berbeda? Itu juga mudah, dan kami akan menunjukkan cara melakukannya dengan satu perintah.
Menyalin file dengan baris perintah Linux itu mudah. Namun, bagaimana jika Anda ingin menyalin file yang sama ke beberapa lokasi berbeda? Itu juga mudah, dan kami akan menunjukkan cara melakukannya dengan satu perintah.

Biasanya, untuk menyalin satu file, Anda akan menggunakan

cp

perintah, menautkan ke file sumber dan direktori tujuan:

cp ~/Documents/FileToBeCopied.txt ~/TextFiles/

Untuk menyalinnya ke dua direktori lagi, banyak orang hanya akan menjalankan perintah dua kali lagi, dengan tujuan yang berbeda:

cp ~/Documents/FileToBeCopied.txt ~/Dropbox/

cp ~/Documents/FileToBeCopied.txt /media/lori/MYUSBDRIVE/

Namun, kita dapat melakukan tugas yang sama dengan satu perintah:
Namun, kita dapat melakukan tugas yang sama dengan satu perintah:

echo dir1 dir2 dir3 | xargs -n 1 cp file1

Beginilah cara kerja perintah ini. Itu

echo

perintah biasanya menulis ke layar. Namun, dalam hal ini, kami ingin memberi makan output dari

echo

perintah sebagai masukan ke

xargs

perintah. Untuk melakukan ini, kami menggunakan simbol pipa (

|

) yang memberi makan output dari satu perintah sebagai input ke yang lain. Itu

xargs

perintah akan menjalankan

cp

perintah tiga kali, setiap kali menambahkan jalur direktori berikutnya disalurkan ke dari

echo

perintah ke ujung

cp

perintah. Ada tiga argumen yang diteruskan ke

xargs

tetapi

-n 1

opsi pada

xargs

perintah memberitahukannya untuk hanya menambahkan salah satu dari argumen tersebut pada satu waktu ke

cp

perintah setiap kali ini dijalankan.

Jadi, untuk tetap dengan contoh kita dari sebelumnya, tiga terpisah

cp

perintah di atas dapat digabungkan menjadi satu perintah seperti ini:

echo ~/TextFiles/ ~/Dropbox /media/lori/MYUSBDRIVE | xargs -n 1 cp ~/Documents/FileToBeCopied.txt

Perhatikan bahwa jika file yang disalin ada di salah satu direktori tujuan yang ditentukan, file di tujuan itu akan diganti secara otomatis. Anda tidak akan ditanya apakah Anda ingin mengganti file. (Biasanya, saat Anda menggunakan
Perhatikan bahwa jika file yang disalin ada di salah satu direktori tujuan yang ditentukan, file di tujuan itu akan diganti secara otomatis. Anda tidak akan ditanya apakah Anda ingin mengganti file. (Biasanya, saat Anda menggunakan

cp

perintah untuk menyalin file ke satu lokasi, Anda dapat menambahkan

-i

opsi untuk menanyakan apakah Anda ingin mengganti file yang sudah ada. Namun, itu

-i

pilihan adalah opsi interaktif (itu menyebabkan

cp

perintah untuk meminta masukan dari pengguna) dan Anda tidak dapat menggunakan opsi interaktif dengan

cp

perintah saat menggunakannya bersama

xargs

.)

Satu hal lain yang perlu dipertimbangkan, adalah jika Anda menyalin file yang sangat besar, Anda mungkin ingin menambahkan no-clobber (

-n

) pilihan untuk

cp

perintah dalam satu perintah di atas. Opsi ini secara otomatis mencegah file dari yang ditimpa di tujuan jika sudah ada di sana. Jika Anda menyalin file yang sangat besar melalui jaringan, itu mungkin lambat dan Anda mungkin ingin menghindari penggunaan sumber daya yang diperlukan untuk menyalin dan mengganti file. Perintah berikut menambahkan

-n

pilihan, dan tidak akan menyalin file ke tujuan apa pun yang tercantum dalam argumen ke pernyataan gema, jika file sudah ada di tujuan itu.

echo ~/TextFiles/ ~/Dropbox /media/lori/MYUSBDRIVE | xargs -n 1 cp -n ~/Documents/FileToBeCopied.txt

Direkomendasikan: