Está en la página 1de 20

Comandos Linux

Parte 4

CAT CUT PASTE GREP


REDIRECCIONES
Operaciones con Comandos
• Continuaremos viendo algunos comandos que
nos serán muy útiles para trabajar en Linux y
crear Scripts

• Recuerda que para cada comando es posible


que necesites aplicar una o varias opciones y
expresar correctamente los argumentos
requeridos.
Tipos y contenidos de ficheros
Utilizar la extensión para determinar el tipo de un archivo no es un sistema
muy eficaz ya que cualquiera puede cambiarla y generar confusiones y
errores en el sistema.

Los archivos que tenemos en nuestro sistema pueden ser de muchos tipos
diferentes: ejecutables, de texto, de datos, etc. A diferencia de otros sistemas,
que utilizan la extensión del archivo para determinar de qué tipo son,
GNU/Linux utiliza un sistema denominado de magic numbers, determinando
con un número mágico el tipo de fichero según sus datos. El comando file nos
lo indica.

$/tmp/prueba$ file *
practica_1.txt: ASCII text
practica_2.txt: ASCII text
practica_3.txt: ASCII text
Si necesitamos ver el contenido de un fichero, uno de los comandos más básicos es el cat.
Pasándole el nombre/s del archivo/s que queramos ver, se muestra por pantalla.

cat practica_1.txt
Este es el contenido del archivo …1

Para ficheros muy extensos podemos usar less o more, que permiten desplazarnos por el fichero de
forma progresiva.

Otro tipo de comando muy útil son los que nos buscan un cierto patrón en el contenido de los ficheros.

Con el comando grep le podemos pasar como segundo parámetro el nombre del archivo y como
primero el pattern (patrón de búsqueda) que queramos buscar.

grep “printf” programa.c (Busca la palabra printf el archivo programa.c)

$ grep “archivo” practica_?.txt

• practica_1.txt:Este es el contenido del archivo …1


• practica_2.txt:Este es el contenido del archivo …2
• practica_3.txt:Este es el contenido del archivo …3
Con cut podemos separar en campos el contenido de cada línea del
fichero especificando, con un carácter separador, muy útil en tareas
de administración del sistema para su automatización.

De igual forma, con paste podemos concatenar la líneas de diferentes


ficheros.

Comandos: head y tail nos permiten tomar las primeras o las últimas
(10 por defecto) líneas de un archivo respectivamente.

Comando wc cuenta el número de líneas o palabras, la máxima


longitud de línea de un fichero.

Comandos diff, cmp y comm realizan comparaciones de diferentes


formas y métodos en los ficheros que les indiquemos. Comparar si dos
archivos son iguales.
Comando cat
El comando cat es uno de los comandos más utilizados cuando se trata de manejar archivos de
texto (en formato .txt) desde la terminal. Entre sus múltiples opciones, está la posibilidad de
crear un archivo, imprimir por pantalla su contenido, etc.

$ cat > nombrearchivo


contenido línea 1
contenido línea 2
CTRL+D>>

Este comando te creará un archivo de texto vacío, de nombre ‘nombrearchivo’, y te permitirá


teclear el contenido que desees introducirle. Una vez tecleado el contenido, puedes finalizar
mediante la combinación CTRL+D.

$ cat nombrearchivo

>> Esta orden te permitirá imprimir por pantalla todas las lineas de texto del archivo de texto de
nombre ‘nombrearchivo’. El archivo indicado debe encontrarse en el directorio de trabajo actual.
$ cat nombrearchivo1 nombrearchivo2

>> Esto te imprimirá por pantalla, de forma conjunta, el contenido de


los archivos indicados, en este caso ‘nombrearchivo1’ y
‘nombrearchivo2’.

$ cat -n nombrearchivo

>> Este comando te imprimirá por pantalla el contenido del archivo de


texto de nombre ‘nombrearchivo’, mostrándote, además, el número
de línea al principio de cada línea de texto.

$ cat -b nombrearchivo

>> Muy similar al anterior, con la diferencia de que a la hora de


numerar las líneas de ‘nombrearchivo’, solo se numeran aquellas que
contienen texto, y se descartan las lineas en blanco.
CAT y Opciones
Cut
paste
• Produce la Salida de varios archivos en columnas, una
columna por archivo. Si no se especifica un delimitador
(separador de campos) se asume tab.
Ejemplo de sintaxis: paste [-d] file1 file2 file3
Ejemplo: Se crean los 3 archivos cada uno con su contenido
Resultado de aplicar el comando paste. Se muestra en pantalla el
contenido de los 3 archivos , uno en cada columna.

Igual al anterior ejemplo pero se incorpora delimitador ( : ) para


separar campos.
Grep
Comandos a Revisar más adelante:

• Find
• Locate
• Whereis
• Head
• Tail
• Sort
Redirecciones

Todas las operaciones dentro de cualquier proceso tienen una entrada y una salida
(INPUT / OUTPUT) y en ocasiones error.

Si no hay un redireccionamiento previo la Entrada y Salida son las estandar (Teclado,


Terminal o Ventana), en caso de error, la salida estandar por error.

> Redirecciona la salida hacia un archivo


< Redirecciona la entrada para que un comando tome los datos de archivo
>> Redirecciona salida , pero sin sobrescribir (append) agrega al final del archivo
Dispositivos standard I/O o de redireccionamiento (FILE
DESCRIPTORS - FD)

• File Descriptor 0 STDIN


Dispositivo de entrada estandar, por defecto el teclado.
• File Descriptor 1 STDOUT
Dispositivo de salida estandar, por defecto la terminal o pantalla.
• File Descriptor 2 STDERR
Dispositivo de salida de mensajes de error estandar, por defecto la terminal o
pantalla.

stdin, stdout, y stderr, como todo en Linux no son más que dispositivos, o
realmente archivos (file descriptors en este caso) que se heredan en cada
terminal que se abre, donde un shell es invocado.

#> ls -l /dev/std*
lrwxrwxrwx. 1 root root 15 ago 11 12:30 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 ago 11 12:30 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 ago 11 12:30 /dev/stdout -> /proc/self/fd/1
• En linux cualquier comando que se teclea está utilizando la entrada
estándar [STDIN].

• La salida o resultado del comando se le conoce como la salida


estándar [STDOUT] y es generalmente la terminal.

• Asi mismo si hay errores en la ejecución estos se conocen como la


salida de error estándar [STDERR] y es también por defecto la
terminal.

• Es posible (y muy necesario, sobre todo en shell scripting)


redireccionar la entrada y la salida sobre archivos en vez de utilizar
la entrada y salida estándar.

• Es importante saber que al redireccionamiento también se le


conoce o se le llama Standard I/O o también I/O
Ejemplo:
#> date > archivo1
#> date > archivo2
#> date > archivo3
---- (Creamos 3 archivos)

#> cat archivo1


dom ago 11 15:29:53 CDT 2019

#> ls
archivo1 archivo2 archivo3
#> ls > listado.txt
- redireccionamos la salida de ls al archivo listado.txt

#> ls
archivo1 archivo2 archivo3 listado.txt
Finalmente tenemos 4 archivos en el directorio

También podría gustarte