У Joel Davis есть корректный ответ, всем большое спасибо за Вашу любезную помощь! "написало сценарий приложение POSIX ACL", который является!
И: https://stackoverflow.com/questions/869536/linux-directory-permissions-read-write-but-not-delete
Пример: (Создайте файлы, когда-то записанные, они только для чтения, но CAN быть удаленными владельцем, но не другими.)
setfacl --set u::rwxs,g::rwx /controlled
setfacl -d --set u::r-x,g::r-x,o::- /controlled
Это точно, что я должен сделать.
Всем большое спасибо за Вас помогает, я должен был задать этот вопрос по-другому.
Вы почти там.
find directory -type f -exec wc -lc {} +
получит имя файла, количество строки, и C COUNCH .
Строго говоря, -C
(A.k.a. - байты
) документируются как подсчет байтов ,
Это, вероятно, что вы хотите.
Существует также -M
(A.k.a. - Chars
) вариант для подсчета «символов».
От выбора опционного письма M
, я думаю, это имеет значение многобайтовых символов;
например, символы Unicode.
Существует также опция -W
для фактически подсчета слов.
for i in 'find \directory-name\ -type f'
do
echo "Printing line count and size of $i"
cat $i | wc -l
du -sh $i
done
Я думаю, что это поможет вам получить то, что вы хотите.
wc
может предоставлять и количество байтов, и количество строк:
find /directory/ -type f -exec wc -l -c {} +
Использование find
также предпочтительнее аргумента подстановочного знака (stat ... directory/*
), потому что последний будет неудачным, когда в каталоге слишком много файлов, чтобы имена могли поместиться в одну команду.