Bagaimana saya bisa menyalin file secara rekursif tanpa menimpa izin yang ada?


9

Ketika saya menyalin file dari satu direktori ke direktori lain, izin direktori akan diatur ulang (misalnya: dari 0755 hingga 0775), dan ini menyebabkan masalah, memaksa saya untuk kembali dan secara manual mengatur ulang izin direktori. Saya sedang melakukancp -r /source/directory /destination/directory

Saya ingin menyalin semua file dan direktori baru, tetapi tidak menimpa izin direktori yang ada.

Jawaban:


5

Untuk mempertahankan tautan, Anda dapat menggunakan cp( manpage untuk cp ) dengan -dbendera, yang setara dengan--no-dereference --preserve=links .

Untuk menggabungkan ini dengan -pdan -Rbendera Anda dapat menggunakan bendera arsip -a.


7

Tambahkan flag -p

cp -pR /source/dir /dest/dir

Dari man cp:

-p     same as --preserve=mode,ownership,timestamps

2

Saya ~/.bashrctelah dimodifikasi untuk mengandung

alias cp='cp -i --preserve=all'

Ini berarti ketika saya menggunakan cp, itu juga akan meminta sebelum menimpa (-i ), dan mempertahankan semua (yaitu mode, kepemilikan, cap waktu, dan jika mungkin atribut tambahan: konteks, tautan, xattr).

Anda selalu dapat mengubahnya ke hanya modealih-alih alljika Anda suka, tapi saya suka memiliki alias ini untuk mengubah default cp.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.