පුනරාවර්තන මාදිලිය ක්රියාත්මක වන්නේ ගොනු මත නොව නාමාවලි මත පමණි. '* .Pdf' ග්ලෝබ් භාවිතා කිරීමෙන් කවචය ගොනු ලැයිස්තුව චව්න් වෙත යවන අතර ඒවා ගොනු බව දකින අතර එය දකින ලිපිගොනු වල අවසරයන් වෙනස් කරයි, එපමණයි.
මතක තබා ගන්න, ෂෙල් වෙඩි වලදී, ගෝලය තක්සේරු කරනු ලබන්නේ කවචය මිස විධානය නොවේ. ග්ලෝබ් ලිපිගොනු සමඟ ගැලපෙන්නේ නම්, ඒවා විධානය වෙත යවනු ලබන අතර විධානය කිසි විටෙකත් ග්ලෝබ් පවතින බව නොදනී. (මෙය වින්ඩෝස් විධාන විමසුමේදී දේවල් කිරීමට වඩා වෙනස් වේ). ඔබට ඩර් එකක් තිබේ නම්, අන්තර්ගතය සමඟ:
machine:$ ls -F
file1.pdf file2.pdf other.txt subdir/
ඔබ ටයිප් කළේ:
chown -R someuser:somegroup *.pdf
කවචය මුලින්ම ලැයිස්තුව සාදනු ඇත: file1.pdf file2.pdf
ඉන්පසු ඔබේ විධානය ක්රියාත්මක කරන්න:
chown -R someuser:somegroup file1.pdf file2.pdf
බලන්න, -R ක්රියාත්මක වීමට නාමාවලියක් නොමැත. එය ඔබ ඉල්ලූ දේ කරයි - විධාන රේඛාවේ ඇති ගොනු දෙකෙහි හිමිකාරිත්වය වෙනස් කරන්න, එම විචක්ෂණ -R ධජය නොසලකා හරින්න.
ඔබට අවශ්ය දේ කිරීමට, මෙම නාමාවලිය සහ උප බහලුම් සඳහා රටාවක් ලෙස '* .pdf' භාවිතා කිරීමට find
, ඔබට භාවිතා කළ හැකිය , එමඟින් ගොනු නාම රටාවකට (හෝ වෙනත් බොහෝ ක්රිටීරියා) ගැලපෙන ගොනු සොයා ගත හැකි අතර උප කමාන්ඩ් වෙත යන්න
find . -type f -name '*.pdf' | xargs chown someuser:somegroup
මෙය ආරම්භ වන්නේ වත්මන් ඩිර් වලින්. ' නාම රටාවේ ගොනු (ගොනු වර්ගය f) '*.pdf'
සෙවීම සඳහා xargs වෙත ගමන් කරයි, එය chmod වෙත විධාන රේඛාවක් සාදයි. රටාව වටා ඇති උපුටා දැක්වීම් '*.pdf'
සැලකිල්ලට ගන්න, කවචයට හැකි නම් එය ග්ලෝබ් එකක් නිර්මාණය කරන බව මතක තබා ගන්න, නමුත් ඔබට රටාව සම්මත කර ගැනීමට find
අවශ්ය බැවින් එය උපුටා දැක්විය යුතුය.
ගොනු නාමවල අවකාශයන් තිබිය හැකි බැවින්, අවකාශයක් සහිත ගොනු නාමයක් ආරක්ෂිත කිරීමට උපක්රමයක් භාවිතා කිරීමට ඔබට අවශ්යය:
find . -type f -name '*.pdf' -print0 | xargs -0 chown someuser:somegroup
බාෂ් 3 සහ පහළින්, ඔබ එය කළ යුතු ආකාරය මෙයයි. බාෂ් 4 (සමග shopt -s globstar
) සහ අනෙකුත් ෂෙල් වෙඩි වලින් වඩාත් ප්රබල ග්ලෝබිං ලබා ගත හැකිය . පුනරාවර්තන ග්ලෝබ් භාවිතා කරමින් zsh හි සමාන වේ **
:
chown -R someuser:somegroup ./**/*.pdf
shopt -s globstar
පුනරාවර්තන ග්ලෝබින් සමඟ එම බැෂ් 4 පිළිබිඹු කිරීම සඳහා සංස්කරණය කරන ලදි .