GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo abordar los nombres de archivo con espacios en Linux

Lo único que notará es que los archivos en Linux generalmente no contienen nombres. Tu maestro o colega usa guiones bajos en lugar de espacios en los nombres de archivos y directorios.

No es que no pueda usar espacios en los nombres de archivo en la terminal de Linux. Es solo que crea dolor adicional y es por eso que debes evitarlo siempre que sea posible.

¿Por qué? Permítanme mostrar eso con ejemplos. Conoce la sintaxis genérica de los comandos de Linux:

command [options] argument1 argument2

Aquí, los argumentos están separados por espacios. Si intenta usar nombres de archivo con espacios directamente, se tratará como argumentos separados en lugar de solo un argumento.

En la captura de pantalla anterior, cuando trato de usar cat agatha books comando, no entiende que agatha books es un solo argumento. Se trata de agatha y books como diferentes nombres de archivo.

Entonces, ¿cómo se manejan los espacios en el nombre de archivo? Hay dos formas:

Envuelva todo el nombre del archivo entre comillas:

"file name withn spaces"

Escape de cada espacio usando la tecla de barra invertida:

file\ name\ with\ spaces

Te lo mostraré en detalle.

La finalización de pestañas a menudo también funciona con espacios. Su terminal puede mostrar el nombre del archivo con un espacio escapado con una barra invertida si presiona la tecla de tabulación para el nombre del archivo.

Leer un archivo con espacios en nombre de archivo

Para usar un nombre de archivo con espacios, puede envolverlo entre comillas como esta:

cat "file name with spaces"

También puede escapar de cada espacio con una barra invertida, pero es más laborioso y más confuso que el método anterior:

cat file\ name\ with\ spaces

Básicamente, pones un \ antes de cada espacio en el nombre del archivo.

También puede usar comillas simples en lugar de comillas dobles.

cat 'file name with spaces'
Las comillas simples ignoran cualquier carácter especial. Las comillas dobles ignoran todo excepto $, comillas inversas y barras diagonales inversas. Más sobre esto en algún otro tutorial.

Crea un archivo con espacio en filename

Ahora, debe escribir espacio en la terminal para crear el nombre de archivo aquí. Use barra invertida o comillas nuevamente.

Al igual que en la sección anterior, puede crear nuevos archivos con espacios en el nombre del archivo usando comillas:

touch "file name with spaces"

O también la barra invertida:

touch file\ name\ with\ spaces

Lidiando con espacio en nombre de carpeta

Puede crear un directorio con espacio en su nombre de la misma manera que crea un archivo.

mkdir "new dir"

Ahora, si desea cambiar a este directorio, tendrá una ruta con espacios.

Pero eso ya no debería ser un problema para ti. Para cd en un directorio con espacio, utilice comillas o barra invertida de nuevo.

cd "new dir"
cd new\ dir

Básicamente, cada vez que tiene que lidiar con espacios en los nombres, usa comillas o teclas de barra invertida.

Supongamos que tiene que copiar un archivo my file desde este new dir . Esto es lo que puede hacer:

cp new\ dir/my\ file

Ahora empieza a ser un poco confuso, ¿verdad? Hay barras invertidas y barras diagonales. Podría intimidar a un nuevo usuario o incluso a uno experimentado si hay demasiadas barras.

Se complica aún más cuando hay barras invertidas en el nombre del archivo. Entonces verás placas para salpicaduras dobles.

Esta es la razón por la que debe tratar de evitar el uso de espacios u otros caracteres especiales en los nombres de los archivos. Para separar las palabras en un nombre de archivo, use guiones bajos.

touch a_very_long_file_name_with_too_many_words

Esto hace que los nombres de archivo sean más fáciles de leer y no tendrá que hacer un esfuerzo adicional para lidiar con esos espacios en los nombres de archivo.


Linux
  1. Cómo manipular nombres de archivos que tienen espacios y caracteres especiales en Linux

  2. Linux + ¿Cómo ignorar (filtrar) el archivo con espacio?

  3. ¿Cómo cambiar el nombre de un archivo en Linux?

  4. Cómo crear un sistema de archivos ZFS con compresión de archivos en Linux

  5. ¿Cómo escribir un archivo con C en Linux?

Cómo usar el comando rm de Linux con ejemplos

Cómo leer un archivo con espacios en Linux

Cómo reemplazar espacios en nombres de archivos con guiones bajos en el shell de Linux

Cómo vincular un archivo en Linux

Cómo quitar espacios de los nombres de archivo en Linux

Cómo programar trabajos con Cron en Linux