La forma más fácil de hacerlo es utilizar el Terminal. Para ello, necesitas tener acceso sudo, que supongo que conoces, al menos conceptualmente, ya que has mencionado Linux.
TL;DR: find . \! -perm 666 -type f -exec sudo chmod 666 {} \;
es un programa de una sola línea que hará el truco, suponiendo que lo ejecute desde el exactamente carpeta que desee, por ejemplo $HOME/Desktop/files_are_in_this_folder
. Sin embargo, si se trata de un solo archivo, basta con ejecutar sudo chmod 666 /path/to/the/file
.
Permítanme explicar, en la medida de mis posibilidades, lo que sucede.
find(1)
es un extremadamente potente utilidad de búsqueda, mucho más que whereis
. La razón por la que es tan poderoso es que toma muchas opciones diferentes; como un ejemplo más simple, pruebe find $HOME -size +100M
esto encontrará todos los archivos, recursivamente, de más de 100 MB y le mostrará una lista de ellos. El mío produce lo siguiente:
/Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
/Users/jayands/.rvm/gems/ruby-1.9.3-p385/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
/Users/jayands/.rvm/gems/ruby-1.9.3-p385@rails-4.0/gems/libv8-3.11.8.3-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
/Users/jayands/.rvm/gems/ruby-2.0.0-rc2@rails-4.0/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/libv8_base.a
/Users/jayands/.rvm/gems/ruby-2.0.0-rc2@rails-4.0/gems/libv8-3.11.8.13-x86_64-darwin-10/vendor/v8/out/x64.release/obj.host/tools/gyp/libv8_base.a
/Users/jayands/Documents/2013-02-10.wav
/Users/jayands/Documents/2013-02-17.wav
/Users/jayands/Documents/2013-02-24.wav
/Users/jayands/Documents/2013-03-03.wav
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data0.sdb
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data1.sdb
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data2.sdb
/Users/jayands/Library/Application Support/Steam/SteamApps/common/regnum/data4.sdb
/Users/jayands/Library/Caches/com.apple.Safari/Cache.db
/Users/jayands/Music/iTunes/iTunes Media/Podcasts/Bronyville/93 Bronyville Episode 093 – Friendship Gives You Wings!.mp3
Como ves, lo encontrará todo, incluso lo que no quieras modificar. Si tienen una convención de nombres específica, digamos, *.wav
, puede especificar el comando find para buscar por nombre, también. find . -name '*.wav'
He dicho todo esto para que te familiarices con la más fácil parte de find
lo siguiente es la parte que tiende a confundir a la gente. find
tiene directivas que puede hacer a lo que encuentra. -print
es tan común que es el predeterminado y generalmente no tiene que ser especificado. -print0
sin embargo, es un poco más interesante: hace casi lo mismo que -print
pero el 0 es un carácter NUL que sustituye a los saltos de línea; esto hace que el piping sea xargs
más fácil. El somos Sin embargo, lo que le interesa es la -exec
que le permite ejecutar la mayoría de los comandos de shell simples en cada archivo, lo que nos lleva a {}
y \;
. El \;
es para escapar de un punto y coma para la terminación del comando exec y las llaves vienen de awk
si no recuerdo mal. Se sustituyen por lo que se encuentra.
chmod
sigue existiendo desde los días de Unix; de hecho, muchos de los comandos que se pueden ejecutar en Linux en xterm
tienen algún análogo en el terminal de Mac. chmod 666
le dará acceso de lectura-escritura para todo el mundo; sin embargo, si no lo recuerda, intente chmod a=rw
. Ambos comandos significan: "toma el archivo del que te voy a hablar y establece los permisos de acceso de Lectura-Escritura para todos".
Además, ya que estáis colaborando, podríais estudiar la posibilidad de llevar un git
, Perforce ( p4
) o Mercurial ( hg
), ya que estos sistemas de gestión también gestionar los permisos de los archivos.
Más información
find
man find
de la Terminal
- Este tutorial
chmod
man chmod
sudo
man sudo
git
: Desde la página de inicio de git
Si necesitas más ayuda, sólo tienes que pedirla.
Oh, antes de que lo olvide: sudo
le pide su contraseña de administrador para esa máquina.