Cómo crear directorios en Linux con el comando’mkdir

Cómo crear directorios en Linux con el comando’mkdir

Cómo crear directorios en Linux con el comando’mkdir

VALORACIÓN DEL ARTÍCULO:
5/5


Esta guía le mostrará cómo crear nuevas carpetas o directorios dentro de Linux usando la línea de comandos.

El comando que utiliza para crear directorios es mkdir. Esto le muestra la forma básica de crear directorios en Linux, además de cubrir todos los switches disponibles.

Índice de contenidos

Cómo crear un nuevo directorio

La forma más sencilla de crear un nuevo directorio es la siguiente:

mkdir>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Por ejemplo, si desea crear un directorio bajo su carpeta de inicio llamado test, abra una ventana de terminal y asegúrese de que está en su carpeta de inicio (use el comando cd ~).

mkdir test

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Cambio de los permisos del nuevo directorio

Después de crear una carpeta nueva, es posible que desee establecer los permisos para que sólo un usuario determinado pueda acceder a la carpeta o para que algunas personas puedan editar archivos en la carpeta, pero otras sólo hayan leído.

En la última sección, te mostré cómo crear un directorio llamado test. Ejecutando el comando ls le mostrará los permisos para ese directorio:

ls -lt

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Lo más probable es que usted tenga algo en este sentido:

drwxr-xr-xr-x 2 grupo de propietarios 4096 Mar 9 19:34 test

Los bits que nos interesan son drwxr-xr-x propietario y grupo

La d nos dice que la prueba es un directorio.

Los tres primeros caracteres después de la d son los permisos de propietario para el directorio especificado por el nombre del propietario:

  • r significa read
  • w significa escribir
  • x significa ejecutar (lo que en este caso significa que puede acceder a la carpeta)

Los siguientes tres caracteres son los permisos de grupo para el archivo especificado por el nombre del grupo. De nuevo las opciones son r,w, y x. El – significa que falta un permiso. En el ejemplo anterior, cualquier persona que pertenezca al grupo puede acceder a la carpeta y leer los archivos, pero no puede escribir en la carpeta.

Los tres últimos caracteres son los permisos que tienen todos los usuarios y como puedes ver en el ejemplo anterior son los mismos que los permisos de grupo.

Para cambiar los permisos de un archivo o carpeta puede utilizar el comando chmod . El comando chmod le permite especificar 3 números que establecen los permisos:

  • permisos de lectura = 4
  • permisos de escritura = 2
  • ejecutar permisos = 1

Para obtener una mezcla de permisos se suman los números. Por ejemplo para obtener permisos de lectura y ejecución el número que necesita es 5, para obtener permisos de lectura y escritura el número es 6 y para obtener permisos de escritura y ejecución el número es 3.

Recuerde que necesita especificar 3 números como parte del comando chmod. El primer número es para los permisos de propietario, el segundo número es para los permisos de grupo y el último número es para todos los demás.

Por ejemplo, para obtener los permisos completos del propietario, lea y ejecute los permisos del grupo y no permita que nadie más escriba lo siguiente:

chmod 750 test

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Si desea cambiar el nombre del grupo que posee una carpeta, utilice el comando chgrp.

Por ejemplo, imagine que desea crear un directorio al que puedan acceder todos los contables de su empresa.

En primer lugar, cree las cuentas del grupo escribiendo lo siguiente:

cuentas de agrupación 

Si no tiene el permiso correcto para crear un grupo, es posible que necesite usar sudo para obtener privilegios adicionales o cambiar a una cuenta con permisos válidos utilizando el comando su.

Ahora puede cambiar el grupo para una carpeta escribiendo lo siguiente:

cuentas de chgrp>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Por ejemplo:

cuentas de chgrp test

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Para dar acceso a cualquier persona del grupo de cuentas de lectura, escritura y ejecución, así como al propietario, pero sólo de lectura para todos los demás, puede utilizar el siguiente comando:

chmod 770 test

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Para añadir un usuario al grupo de cuentas, es probable que desee utilizar el siguiente comando:

usermod -a -G cuentas

El comando anterior añade el grupo de cuentas a la lista de grupos secundarios a los que el usuario tiene acceso.

Cómo crear un directorio y establecer permisos al mismo tiempo

Puede crear un directorio y establecer los permisos para ese directorio al mismo tiempo utilizando el siguiente comando:

mkdir -m777

El comando anterior creará una carpeta a la que todo el mundo tiene acceso. Es muy raro que quieras crear algo con este tipo de permisos.

Crear una carpeta y cualquier padre que sea necesario

Imagina que quieres crear una estructura de directorios pero no quieres crear cada carpeta individual junto con el camino y trabajar a tu manera en un árbol.

Por ejemplo, puede estar creando carpetas para su música como se indica a continuación:

  • /home/music/rock/alicecooper
  • /home/music/rock/queen
  • /home/music/rap/drdre
  • /home/music/jazz/louisjordan

Sería molesto tener que crear la carpeta rock, luego la carpeta alice cooper y la carpeta queen y luego crear la carpeta rap y la carpeta dr dre y luego la carpeta jazz y luego la carpeta louisjordan.

Si especifica el siguiente parámetro, puede crear todas las carpetas padre sobre la marcha si aún no existen.

mkdir -p

Por ejemplo, para crear una de las carpetas listadas arriba, pruebe el siguiente comando:

mkdir -p ~/music/rock/alicecooper

Cómo obtener confirmación de que se creó un directorio

Por defecto, el comando mkdir no le indica si el directorio que está creando se ha creado correctamente. Si no aparece ningún error, entonces puede asumir que lo ha hecho.

Si desea obtener una salida más detallada para saber lo que se ha creado, utilice el siguiente conmutador.

mkdir -v

La salida será del tipo mkdir: created directory /path/to/directoryname .

Uso de "mkdir" en un script de Shell

A veces querrá usar el comando "mkdir" como parte de un script de shell. Por ejemplo, veamos un script que acepta una ruta. Cuando se ejecuta el script creará la carpeta y añadirá un único archivo de texto llamado "hello".

/bin/bashmkdir $@cd $@cd $@touch hello

La primera línea debe ser incluida en cada script que escribas y es usada para mostrar que este es realmente un script de BASH.

El comando "mkdir" se utiliza para crear una carpeta. El "$@" (también conocido como parámetros de entrada) al final de la 2ª y 3ª línea se sustituye por el valor que especifique al ejecutar el script.

El comando "cd" cambia al directorio especificado y finalmente el comando táctil crea un archivo vacío llamado "hello".

Puedes probar el guión por ti mismo. Para ello, siga estas instrucciones:

  1. Abra una ventana de terminal (pulse Alt y T debería hacerlo)
  2. Entrar nano createhellodirectory.sh
  3. Escriba los comandos anteriores en el editor
  4. Guarde el archivo presionando CTRL y O al mismo tiempo
  5. Salga del archivo pulsando CTRL y X al mismo tiempo
  6. Cambie los permisos escribiendo chmod +x createhellodirectory.sh
  7. Ejecute el script escribiendo ./createhellodirectory.sh test

Cuando ejecute el script se creará un directorio llamado "test" y si cambia a ese directorio ( cd test) y ejecuta un listado de directorios ( ls), verá un único archivo llamado "hello".

Hasta ahora todo bien, pero ahora intente ejecutar el paso 7 de nuevo.

  1. Aparecerá un error que indica que la carpeta ya existe.

Hay varias cosas que podemos hacer para mejorar el guión. Por ejemplo, si la carpeta ya existe, no nos importa especialmente mientras exista.

/bin/bashmkdir -p $@cd $@touch hello

Si especifica -p como parte del comando mkdir, no se producirá ningún error si la carpeta ya existe, pero si no existe, se creará.

Como sucede, el comando táctil creará un archivo si no existe, pero si existe simplemente modifica la última fecha y hora a la que se accedió.

Imagine que la declaración táctil fue reemplazada por una declaración de eco que escribe texto en un archivo de la siguiente manera:

#!/bin/bashmkdir -p $@cd $@echo "hello">; hello

Si ejecuta el comando "./createhellodirectory.sh test" una y otra vez el efecto será que el archivo llamado "hello" en el directorio de prueba crecerá más y más con más y más líneas con la palabra "hello" en él.

Ahora, esto puede o no ser como se pretende, pero digamos que por ahora no es la acción deseada. Puede escribir una prueba para asegurarse de que el directorio no existe antes de ejecutar el comando echo de la siguiente manera.

#!/bin/bashmkdir $@ 2>/dev/null;if [ $? -eq 0 ; thencd $@echo "hello">>helloexitfi

El script anterior es mi método preferido para manejar la creación de carpetas. El comando mkdir crea la carpeta que se pasa como parámetro de entrada pero cualquier salida de error se envía a /dev/null (que esencialmente no significa nada).

La tercera línea comprueba el estado de salida del comando anterior que es la sentencia "mkdir" y si tiene éxito realizará las sentencias hasta que se alcance la sentencia "fi".

Esto significa que puede crear la carpeta y realizar todas las operaciones que desee si el comando tiene éxito. Si desea hacer otra cosa si el comando no se ha ejecutado correctamente, puede introducir una declaración else de la siguiente manera:

#!/bin/bashmkdir $@ 2>/dev/null;if [ $? -eq 0 ; thencd $@echo "hello">> helloexitelsecd $@echo "hello">; helloexitfi

>.

En el script anterior, si la sentencia mkdir funciona, entonces la sentencia echo envía la palabra "hello" al final del fichero llamado "hello" mientras que si no existe se creará un nuevo fichero llamado "hello" con la palabra "hello" en él.

Este ejemplo no es particularmente práctico porque se pueden obtener los mismos resultados simplemente ejecutando siempre la línea eco "hello"> hello line . El punto del ejemplo es mostrar que puede ejecutar el comando "mkdir", ocultar la salida de error, comprobar el estado del comando para ver si fue exitoso o no y luego ejecutar un conjunto de comandos si el comando "mkdir" fue exitoso y otro conjunto de comandos si no lo fue.

TAMBIÉN TE INTERESA

estafas-vacacionales

¡Ojo con las estafas vacacionales en vísperas de Semana Santa!

Cada puente o periodo de vacaciones, surgen todo tipo de estafas vacacionales. Al margen de una enfermedad, lo peor que le puede pasar a una persona es que le arruinen sus vacaciones. Fraudes siempre ha habido, de todo tipo, pero ahora que todo lo gestionamos de manera digital, las trampas se han multiplicado. Cabe recordar

Zenfone-11-Ultra

Zenfone 11 Ultra, que siga la fiesta de la IA en los smartphones

Todos los últimos lanzamientos de smartphones están marcados por la inteligencia artificial. Este hecho, que ocupa los titulares de hoy, se está convirtiendo en un estándar y pronto dejará de ser noticia. Pero no estos momentos es la novedad y la transformación hacia la que caminan todas las marcas del mercado. Así lo ha hecho

Enco-Buds2-Pro

Enco Buds2 Pro: unos auriculares buenos, bonitos, baratos e inteligentes

Por menos de 50 euros, los auriculares OPPO Enco Buds2 Pro pueden darnos todo lo que necesitamos para nuestro día a día. ¿Por qué? Porque son una combinación excepcional de calidad de sonido, duración de batería extendida y un diseño moderno y funcional. Además cuentan con funciones inteligentes y dan a los usuarios la libertad

Xiaomi-14-Series

Xiaomi 14 Series se suma a la puja por ser el móvil del año

Xiaomi 14 Series llega al mercado para colarse en la eterna batalla que mantienen los flagships de Apple y Samsung. Al igual que sus rivales, los nuevos móviles de la marca china llegan con la IA bajo el brazo y una gran cantidad de razones para aspirar a ser uno de los móviles del 2024.