Estoy tratando de cambiar la propiedad y los permisos de algunos archivos (y directorios) en el directorio actual. Intenté esto:
chown username:groupname .
... esperando que afectaría a todos los archivos en el directorio actual, pero en cambio solo afectó el directorio en el que estoy (que es lo contrario de lo que quiero hacer). Quiero cambiarlo en todos los archivos sin afectar el directorio actual en el que estoy.
¿Cómo puedo chown y chmod todos los archivos en el directorio actual?
man chown
yman chmod
responde fácilmente tu pregunta.chmod
. Está incorporado al caparazón. Además, leer la documentación sobre globbing te quita la vida (pasé mucho tiempo descubriendo todas las características de zsh).chown -R user:group .
Respuestas:
Desea utilizar
chown username:groupname *
y dejar que el shell expanda*
los contenidos del directorio actual. Esto cambiará los permisos para todos los archivos / carpetas en el directorio actual, pero no el contenido de las carpetas.También podría hacerlo
chown -R username:groupname .
, lo que cambiaría los permisos en el directorio actual y luego volvería a aparecer dentro de él y en todas las subcarpetas para cambiar los permisos.chown -R username:groupname *
cambiará los permisos en todos los archivos y carpetas de forma recursiva, dejando solo el directorio actual. Este estilo y el primer estilo son los que uso más a menudo.fuente
chown -R username:groupname .
enchown -R username:groupname /
. Hacer una tarea de 2 segundos una pesadilla de 2 días.-v
todos mis comandos recursivos, pero demasiado vagochown -R username:groupname directoryname
Creo que quieres esto:
chown username:groupname *
Si también desea cambiar los subdirectorios de forma recursiva, necesitará el modificador
-R
(-r
está en desuso):chown -R username:groupname *
fuente
chown
es genial si eres un superusuario. Tuve un problema en el que alguien más se había ejecutadomake
en mi directorio y ahora poseía algunos archivos que no podía modificar. Aquí está mi solución alternativa que maneja archivos y directorios, aunque deja los directorios con sufijo.mkmeowner
si no puede eliminarlos.Ejemplos:
mkmeownerone
esté en su camino.mkmeowner:
mkmeownerone:
fuente
mkmeownerone
en la RUTA de búsqueda.mkmeowner
explotará si eso no se hace. (3) Aprenda cómo (es decir, cuándo y dónde) usar comillas en comandos y scripts de shell. Decir${f}
no es una alternativa útil; ver esto . … (Continúa)expr
es anticuado. Es más eficiente hacer una simple coincidencia de cadenas en el shell; bash también admite la coincidencia de expresiones regulares. Para el caso, puede hacer la prueba de nombre de archivo enfind.
(6) Suexpr match
comando prueba si${f}
termina conmkmeowner
, no si termina con.mkmeowner
. Por lo tanto, el script no funcionará en sí mismo. … (Continúa)dirorfile
es difícil de leer y comprender (comparar condir_or_file
), y cuando lo vimkmeowner
, mi primer pensamiento fue un gato (mk
+meow
+ner
).