Use find
:
find ./ -type f -maxdepth 1 -exec chmod 644 {} \;
find ./ -type d -maxdepth 1 -exec chmod 755 {} \;
-
-type f
: arquivos -
-type d
: diretórios -
-maxdepth 1
: primeiro nível (para evitar comportamento recursivo padrão) -
-exec
: execute o comando com argumento do resultado -
{}
será substituído por uma linha dos resultados. tente:find ./ -type d -maxdepth 1 -exec echo hi{}low \;
Isso é útil para comandos que têm ordem de argumentos diferentes, como
ln
:ln -s {} ./otherfolder/{}
ou
cp
cp {} ./otherfolder/
-
\;
para informar-exec
é o fim do comando porque você pode adicionar outras opçõesfind
depois de-exec
(para que elas não se misturem). tente:find ./ -type d -maxdepth 1 -exec echo
Referência: man find