Crear un archivo en linux con comandos

Vamos a ver cómo crear un archivo desde la terminal de linux con comandos.

 

Normalmente creamos ficheros utilizando un editor de textos como por ejemplo el editor vi, nano, gedit

Pero es importante saber cómo crear un fichero con la terminal, con comandos.
 

Básicamente podemos crear ficheros desde la terminal con estos comandos:

 

 

Crear ficheros en la terminal con el comando “touch

 

El comando touch cambia las marcas de tiempo del archivo (timestamps).
 
¿Qué es un timestamp o marca de tiempo?

Lo podemos ver listando los permisos y atributos de un fichero, con ls -la :
que es el timestamp marca de tiempo

 

El comando touch lo que hace es actualizar los tiempos de acceso y modificación de cada ARCHIVO a la hora actual
 

También sirve entonces para crear un fichero vacío, con el “timestamp” del momento en que se crea:

crear fichero en terminal linux con touch
 

creamos un fichero con touch así:

touch fichero.txt

 

Si de nuevo utilizamos el comando “touch” sobre un fichero ya creado, le cambiaremos el “timestamp“:

touch cambia timestamp
 

 

Crear un archivo usando la redirección con los operadores de entrada/salida

 

  • El dispositivo standard de entrada (stdin) es el teclado, y la redirección de entrada se hace con el símbolo <
  • El dispositivo standard de salida(stdout) es la pantalla, y la redirección de salida se hace con el símbolo >

 

la redirección de salida sobreescribe el contenido del fichero

> archivo1

 

De esta forma hemos creado un archivo vacío.

si lo volvemos a ejecutar sobre el fichero, reescribe el contenido del ficheros
 

 

Utilizar la redirección con otros comandos

 
También podemos utilizar la redirección de salida con otros comandos.
 

Es decir, podemos redirigir la salida de un comando a un fichero.
 

Por ejemplo con ls

ls > fichero2.txt

esto redirige la salida del comando ls al fichero fichero2.txt:

Descargas
Documentos
Escritorio
fichero1.txt
fichero2.txt
Imágenes
Música
Plantillas
Público
Vídeos

 

crear fichero redirigiendo salida de un comando a fichero
 


 

Crear un fichero con el comando cat

 

el comando cat concatena ficheros y puede realizar varias acciones: concatenar, crear o mostrar el contenido de ficheros por pantalla.
 

 

Crear un fichero vacío en Linux con cat

 

cat > archivo.txt

 

Lo que estamos haciendo es redirigir la salida a un fichero

escribimos el contenido

y luego cerramos con control +D

eltallerdelbit@debian10:~$ cat > fichero3.txt
hola
este es el fichero 3
creado con el comando cat
( y aquí ya cerramos con control +D )

 

Mostramos el contenido del fichero creado:

eltallerdelbit@debian10:~$ cat fichero3.txt
 
hola
 
este es el fichero 3
 
creado con el comando cat


 

 

Concatenar varios ficheros con cat y redirigir el resultado a un fichero

 

cat fichero1.txt fichero2.txt fichero3.txt > fichero6.txt

esto concatenará los ficheros 1, 2 y 3, y redireccionará el contenido a un nuevo fichero que se llamará fichero6.txt

concatenar varios ficheros con cat y redirigir el resultado a un fichero
 

 

Crear ficheros con el comando “echo

 

El comando “echo” muestra texto
 


si mostramos un texto, y luego usamos el operador de redirección de salida, podemos introducir ese texto en un fichero, y crearlo a la vez.
 

creamos el fichero 4 con el comando echo y redirigiendo a fichero:

echo 'creamos el fichero 4 con el comando echo y redirigiendo a fichero' > fichero4.txt

 

crear fichero con echo y redireccion a fichero
 


 

Crear ficheros con el comando “printf

 

Printf formatea e imprime datos. Podemos utilizar printf para crear un fichero.

Printf permite utilizar opciones para darle formato a los datos introducidos.
 

eltallerdelbit@debian10:~$ printf "%s\n" "Utilizamos printf para crear un fichero \n" "Y además usando el salto de línea! \n" > fichero7.txt

 

crear fichero linux con printf

 

Y este sería un pequeño resumen de Cómo crear archivo de texto con comandos en Linux. Siempre podemos contar con los editores de texto, pero es importante cónocer otras formas de trabajar desde la terminal.