En ambientes Linux durante las tareas de gestión y control es común que ejecutemos diversos comandos para ejecutar tareas de control, actualización, soporte u obtención de determinada información. Es ideal que la información desplegada en la terminal podamos exportarla a un archivo de texto para su mejor comprensión o para llevar un control detallado de los resultados. En ambientes Linux durante las tareas de gestión y control es común que ejecutemos diversos comandos para ejecutar tareas de control, actualización, soporte u obtención de determinada información. Podemos entonces enviar salida de comando a archivo Linux y tener un archivo nuevo con esa información al guardar en terminal Ubuntu,
Es ideal que la información desplegada en la terminal podamos exportarla a un archivo de texto para su mejor comprensión o para llevar un control detallado de los resultados. El uso de comandos en Linux es útil para poder gestionar nuestro sistema usando únicamente la terminal y saltándonos la parte gráfica. En esta ocasión ver cómo podemos guardar la información que nos muestra un comando nos facilita el trabajo pues no se queda ahí en pantalla y ya está, sino que tendremos un documento con toda esa información. Si, por ejemplo, mostramos con un comando todos los archivos que tenemos en un directorio pues podremos guardar toda es información en un único archivo al saber cómo guardar en terminal Ubuntu.
En esta oportunidad este tutorial analizará cómo exportar el resultado de un comando en Linux a un archivo de texto. Para esto usaremos Ubuntu 17.04 y estos comandos podrán ser usados tanto en ambientes Linux como en macOS.
- El pip representado por el símbolo | el cual nos permite alternar entre comandos.
- El operador & el cual omite la salida de errores y procede al siguiente comando.
A continuación vamos a ver diferentes alternativas para poder guardar la información que arroja un comando en Linux.
1. Guardar salida de un comando en un archivo Linux sin errores
En primer lugar para realizar las respectivas pruebas crearemos unas carpetas determinadas y asignaremos los respectivos permisos, para esto ejecutaremos los siguientes comandos en su orden:
sudo mkdir Solvetic1 sudo mkdir Solvetic2 sudo chmod 000 Solvetic1 sudo chmod 000 Solvetic2
Para redireccionar la salida de la información de un comando en Linux es haciendo los operadores > y >> y estos redireccionan la salida a un archivo de texto definido, pero omitirán los errores, para esto podremos ejecutar lo siguiente.
du -h ./* > tamaño_archivo.txt
Podremos ver el resultado en formato de texto:
Si usamos el operador >> el resultado será el mismo, pero será agregada la salida al final del archivo:
du -h ./* >> tamaño_archivo.txt
2. Guardar salida de un comando en un archivo Linux con errores
Con los comandos anteriores generamos la salida de la información sin errores, ahora para desplegar los resultados mostrando los errores usaremos el parámetro 2> de la siguiente forma:
du -h ./* 2> errores.log
El resultado será desplegado en la terminal de siguiente manera:
Si deseamos obtener este resultado sin sobre escribir la información ejecutaremos el siguiente comando:
du -h ./* 2>> errores.log
3. Guardar salida de un comando en un archivo Linux sin desplegar info
Esta opción es practica por temas de seguridad ya que nos permite guardar el resultado pero sin que este sea visible en la pantalla de la terminal.
Para lograr esto haremos uso del operador &> de la siguiente manera en este caso desplegando el uso del disco:
du -h ./* &> Uso_disco.log
Podemos ver que en la terminal no se despliega ningún resultado:
Pero en nuestro sistema se ha creado el respectivo archivo con la información registrada:
4. Ver y enviar salida de comando a archivo Linux
Si deseamos que los resultados sean desplegados en la terminal y almacenados en un documento de texto haremos uso el parámetro Tee el cual direcciona los resultados en dos fases, ejecutaremos lo siguiente:
du -h ./* | tee resultados.txt
Y de forma simultánea se ha creado el archivo de texto:
De forma predeterminada el parámetro Tee sobrescribe los cambios en cada consulta, si deseamos conservar los resultados originales y que sea creado un nuevo archivo agregaremos el valor -a en la línea a ejecutar:
du -h ./* | tee -a resultados.txt
5. Ver y enviar salida completa de comando a archivo Linux
Si deseamos desplegar toda la información a consultar y del mismo modo almacenarla haremos uso de los parámetros |& y del comando tee ejecutando lo siguiente:
du -h ./* |& tee resultados.txt
Para evitar que este archivo sea sobrescrito ejecutaremos lo siguiente:
du -h ./* |& tee -a resultados.txt
6. Ver y enviar salida e comando a archivo Linux con df
Vamos a usar el comando df como ejemplo para poder ver el almacenamiento y espacio de nuestro sistema en el disco duro.
Ejecutamos el comando df para ver la información.
Podemos usar el comando df con el complemento -h para ver la información de forma más clara para nosotros y hacerlo así más legible.
Si ahora queremos que la información que nos ha arrojado el comando df quede almacenado en un archivo a la vez que lo vemos en pantalla ejecutaremos lo siguiente definiendo un archivo de salida. El comando cat lo usaremos para abrir el archivo una vez se ha creado.
df -h | tee df.log cat df.log
Ahora usaremos el comando tee puedes a través de él se leerán desde la entrada estándar y se escribe en la salida. Si ya existe un archivo podemos añadir la nueva información con los parámetros -a o -append.
df -h | tee -a df.log
Si necesitas ayuda sobre estos comandos puedes usar estos comandos:
man df man tee
7. Cómo guardar un archivo en Linux
Vamos a guardar un archivo después de crearlo en la terminal de Linux desde UBuntu.
Lo primero que haremos será usar el siguiente comando para dar paso a la creación de un nuevo archivo_
cat > archivo.txt
Veremos que el cursor pasa a la siguiente línea y podremos comenzar a poner el texto dentro del archivo creado:
Escribiremos el contenido de texto que queramos dentro del nuevo archivo pudiendo cambiar de línea pulsando la tecla Enter. Cuando quieras salir del archivo usaremos la siguiente combinación:
Ctrl + D
Vamos a verificar que nuestro archivo se ha creado y guardado correctamente desplegando el directorio con este comando. Podrás ver información como los datos de creación o permisos.
ls -l archivo.txt
Para ver el contenido del archivo guardado podremos usar este comando:
cat archivo.txt
Usando estos comandos podremos llevar un control mucho más preciso sobre la información desplegada en ambientes Linux al ejecutar comandos en la terminal. Tras ello puedes encriptar estos archivos de texto para que estén fuera de manos ajenas.