Saya pikir saya cukup maju dalam menggunakan find tetapi SETIAP kali saya menggunakannya, saya tidak bisa seumur hidup saya mengingat metode untuk menutup opsi -exec. Saya menghabiskan banyak waktu membaca setiap kali saya menggunakannya. Apakah saya tidak cukup menggunakannya atau berharap terlalu banyak pada diri saya sendiri? Mari kita mulai dengan contoh khas yang membuat saya frustrasi.
Struktur direktori memiliki file dengan semua izin yang salah, file, tautan simbolis, dll. Saya ingin mengubah kepemilikan ke nilai yang wajar
find . -type f -exec chown username {} \;
find . -type d -exec chown username {} \;
find . -type d -exec chgrp usergroup {} \;
find . -type f -exec chgrp usergroup {} \;
(Maafkan saya jika endingnya terbalik ... Saya melihatnya satu jam yang lalu dan saya masih tidak yakin)
Tetapi saya takut untuk menjalankannya karena mount, tautan simbolik, dll. Saya telah membuat kesalahan besar chmod. * Dan membuatnya berulang pada saya sebelumnya. Saya tahu -xdev akan menghapus partisi tetapi saya tidak yakin apa yang akan terjadi pada file yang hidup di dalam direktori yang merupakan tautan simbolik.
Jadi bagaimana seseorang bisa menguasai makhluk buas ini yang bisa membunuh file-file penting?
Perbarui pemangkasan saran terbaik di bawah ini dan rangkum:
- Miliki direktori latihan yang ditautkan dan dipasang ke direktori latihan lainnya.
- Gunakan xargs daripada perintah exec non-intuitif.
- Gunakan -exec echo {} untuk kewarasan dan keamanan
- Semi usus besar adalah khusus dan Anda melarikan diri karena itu char melarikan diri adalah yang pertama
- Perintah -atau dapat membantu Anda menggabungkan kriteria seleksi.
Saya sedikit bingung tentang print0 tetapi xargs selalu sedikit pada tidak mudah dimengerti pada praktek pandangan pertama yang saya coba dan hindari.