Jawaban:
Saya cukup yakin bahwa -R
benderanya berfungsi dengan baik - bagaimanapun juga itu selalu berlaku untuk saya. Apa yang tidak akan berfungsi, dan apa yang membuat saya tersandung di awal penggunaan baris perintah saya, gunakan *
dalam direktori dengan file / direktori tersembunyi. Melakukan
$ chown -R /home/user/*
tidak akan melakukan file dan direktori tersembunyi. Namun jika Anda mengikutinya
$ chown -R /home/user/.[^.]*
maka Anda akan melakukan semua file yang tersembunyi, (tetapi tidak .
atau ..
seperti yang /home/user/.*
akan dilakukan). Setelah mengatakan semua itu, saya harapkan
$ chown -R /home/user
untuk mendapatkan semua file dan direktori tersembunyi di dalamnya /home/user
- meskipun itu tentu saja juga akan mengubah izin direktori itu sendiri, yang mungkin bukan yang Anda inginkan.
chown nginx:nginx -R /path/to/.[^.]*
dan itu hanya mengubah kepemilikan menjadi file .dot tersembunyi. tidak semua.
*
dan mengikutinya .[.^]*
untuk mendapatkan semua file.
Saya percaya perintah berikut harus bekerja untuk ini
chown -hR userid:usergroup /nameofdirectory/nameofsubdir/
"chown -R" bekerja, tetapi sebuah alternatif akan menggunakan find.
find /path/to/dir -exec chown USER {} \;
+
alih-alih ;
sebagai terminator ke -exec akan lebih efisien karena akan menggunakan jumlah garpu minimum yang diperlukan untuk dikunyah daripada satu garpu per file / direktori
Menggunakan untuk loop dengan ls -A
pilihan, kita dapat menemukan semua file tersembunyi dan direktori mengecualikan .
dan ..
kemudian mengubah kepemilikan untuk semua file tersembunyi dan direktori.
for i in `ls -A | grep "^\."`;do chown -R user:group $i;done
Gunakan xargs
opsi denganls -A
ls -A | grep "^\." | xargs chown user:group
Untuk lebih jelasnya Klik Di Sini dan Kunjungi Situs saya
Juga, jika Anda seperti saya, Anda mungkin akan menjalankan chown kebanyakan dari direktori saat ini. Saya terbiasa menjalankannya seperti ini: chown rails.rails -R *
. Cukup mengubah tanda bintang ke titik (kependekan dari direktori saat ini) seperti ini: chown rails.rails -R .
membawa semua direktori tersembunyi.
chown
akan bekerja dengan file dan direktori tersembunyi. Dalam contoh berikut, kami akan mengubah kepemilikan pengguna dan grup untuk semua file di ~/some/folder
. Semua file termasuk semua file yang tersembunyi (mis . .bashrc
, .profile
Dll.) Dan folder pada ~/some/folder
level dan di bawah. Perhatikan khususnya bahwa kami tidak ingin mengubah kepemilikan ~/some
, dan karenanya kami akan mengecualikan file ~/some/..
dari perubahan kepemilikan.
$ cd ~/some/folder
$ sudo chown -R usrname:grpname .
$
Anda bisa melakukan sesuatu seperti
for i in `ls -A`;do chown -R user:group $i;done
The -A
( capital A) adalah penting karena tidak termasuk '' dan '..'
chown
pada direktori memiliki efek samping bahwa Anda mengubah izin pada direktori itu sendiri serta semua isinya, yang mungkin atau mungkin tidak seperti yang Anda inginkan.