Saya mencoba menyalin isi folder ke folder lain di direktori yang berbeda menggunakan terminal.
Apakah seseorang dapat memberi saya contoh sintaks baris perintah yang diperlukan untuk mencapai ini?
Saya mencoba menyalin isi folder ke folder lain di direktori yang berbeda menggunakan terminal.
Apakah seseorang dapat memberi saya contoh sintaks baris perintah yang diperlukan untuk mencapai ini?
Jawaban:
Anda dapat menyalin konten folder /source
ke folder lain yang ada /dest
dengan perintah
cp -a /source/. /dest/
The -a
pilihan adalah pilihan rekursif ditingkatkan, yang melestarikan semua atribut file, dan juga melestarikan symlink.
Di .
akhir jalur sumber adalah cp
sintaksis khusus yang memungkinkan untuk menyalin semua file dan folder, termasuk yang tersembunyi.
cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
-p
bendera sebagai untuk mempertahankan izin file dan cap waktu. cp -ap /var/www/original.com/images/. /var/www/new.com/images/
-a
sudah tersirat --preserve=all
, itu lebih luas dari -p = --preserve=mode,ownership,timestamps
.
scp
digunakan untuk menyalin melalui jaringan (melalui ssh
) dan hanya mengenkripsi saluran komunikasi, bukan file pada sistem file tujuan.
Alternatif adalah rsync
rsync -r source/ destination
Keuntungan dari rsync adalah:
Setelah sinkronisasi awal, itu hanya akan menyalin file yang telah berubah.
Anda dapat menggunakannya melalui jaringan, nyaman untuk file dalam $ HOME, terutama file konfigurasi.
rsync -r source/ destination
harus cukup, bukan?
rync source/ dest
jelas orang akan perlu menyesuaikan perintah rsync agar berfungsi sesuai keinginan.
Katakanlah Anda memiliki folder bernama folder1 di Anda ~
, di dalam folder1 adalah 1 file bernama file1 dan 2 folder disebut Sub1 dan Sub2 masing-masing dengan file lainnya dan folder di dalamnya.
Untuk menyalin semua isi ~/folder1
untuk ~/new_folder1
Anda akan menggunakan
cp -r ~/folder1/. ~/new_folder1
new_folder1
kemudian akan berisi semua file dan folder dari folder1
.
cp
adalah perintah untuk menyalin menggunakan terminal, -r
membuatnya secara rekursif (jadi, direktori saat ini + direktori lebih lanjut di dalam saat ini) ~/folder1
adalah folder asal, ~/new_folder1
adalah folder tujuan untuk file / folder di dalam asal.
~/new_folder1/folder1
alih-alih menyalin konten.
cp -r ~/folder1/* ~/new_folder1
[root@ home]# mkdir food [root@ home]# cd food/ [root@ food]# mkdir .fruit [root@ food]# mkdir veggies [root@ food]# touch veggies/carrots [root@ food]# touch .fruit/apple [root@ food]# ls * carrots [root@ food]#
Periksa http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ ini untuk informasi lebih lanjut tentang menyalin folder. Semoga ini membantu.
cp Command
cp
adalah perintah Linux untuk menyalin file dan direktori. Sintaksnya adalah sebagai berikut:
cp source destination
cp dir1 dir2
cp -option source destination
cp -option1 -option2 source destination
Dalam contoh ini salin /home/vivek/letters
folder dan semua file-nya ke /usb/backup
direktori:
cp -avr /home/vivek/letters /usb/backup
Dimana,
-a
: Pertahankan atribut yang ditentukan seperti direktori mode file, kepemilikan, cap waktu, jika mungkin, atribut tambahan: konteks, tautan, xattr, semua.
-v
: Jelaskan apa yang sedang dilakukan.
-r
: Salin direktori secara rekursif. Contoh
Salin folder bernama / tmp / conf ke / tmp / backup:
$ cp -avr /tmp/conf/ /tmp/backup
Salin direktori dir_1 dan isinya (_files_) ke direktori dir_2 :
cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_
Salin konten (_files_) hanya dari dir_1 ke direktori dir_2 :
cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*
_files_
adalah pengganti untuk file aktual yang terletak di direktori.
Jika ada dua folder: (dengan izin menulis)
drwxr-xr-x 4 vimal vimal 4096 Sep 9 12:17 .
drwxr-xr-x 3 root root 4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal 4096 Sep 9 12:15 DATA
drwxrwxrwx 7 vimal vimal 4096 Sep 9 12:15 PORTAL
Jika Anda berada di dalam folder bernama PORTAL di mana Anda ingin menyalin semua konten folder lain mengatakan DATA pada tingkat yang sama maka Anda akan melakukan
vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .
Anda harus memperhatikan 2 titik. Titik terakhir mengatakan salin di sini di folder ini
dan
satu mengikuti / DATA /. mengatakan bahwa semua ISI di dalam folder DATA yang akan disalin, dan bukan folder DATA itu sendiri.
Jika Anda menghapus jejak ini "." dari / DATA /
maka seluruh folder DATA akan disalin di dalam PORTAL (dari tempat Anda mengatasinya).