es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo usar chmod -R en una tubería en el shell

Estoy escribiendo un script de shell en el que necesito cambiar los permisos de los archivos y carpetas extraídos de un tarball doblemente comprimido.

Mi línea de código es:

gzip -dc <file.tar.gz> | tar -tvzf - | cut -d"/" -f3 | uniq | xargs chmod -R 755

pero la extracción del tarball está en otra carpeta. ¿Cómo puedo agregar la ruta a la carpeta extraída desde uniq y cambiar los permisos?</file.tar.gz>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para añadir la ruta a la carpeta extraída, puedes modificar el comando xargs para incluir la ruta utilizando la opción -I. La línea de código actualizada se vería así:

    gzip -dc <archivo.tar.gz> | tar -tvzf - | cut -d"/" -f3 | uniq | xargs -I {} chmod -R 755 /ruta/hasta/la/carpeta/extraída/{}
    

    Reemplaza “/ruta/hasta/la/carpeta/extraída/” con la ruta real a la carpeta donde se extrajeron los archivos y las carpetas. Esto aplicará el comando chmod de forma recursiva a todos los archivos y carpetas en la carpeta extraída.</archivo.tar.gz>

Comments are closed.