0% encontró este documento útil (0 votos)
54 vistas11 páginas

Repaso Comandos Linux

Este documento describe varios comandos de Linux para obtener y manipular información de ficheros. Explica el uso de comandos como cat, grep, cut, sort, uniq, tr, tail, head y wc para visualizar, buscar, ordenar y contar información en ficheros. También describe el comando find para realizar búsquedas de ficheros y directorios con criterios como nombre, tamaño, fecha y usuario. El documento proporciona ejemplos detallados del uso de cada comando.

Cargado por

Leidy J. MG
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
54 vistas11 páginas

Repaso Comandos Linux

Este documento describe varios comandos de Linux para obtener y manipular información de ficheros. Explica el uso de comandos como cat, grep, cut, sort, uniq, tr, tail, head y wc para visualizar, buscar, ordenar y contar información en ficheros. También describe el comando find para realizar búsquedas de ficheros y directorios con criterios como nombre, tamaño, fecha y usuario. El documento proporciona ejemplos detallados del uso de cada comando.

Cargado por

Leidy J. MG
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

V.1.

0 Rubén Bautista – IES Clara del Rey


V.1.1 Conchi Fdez.

Índice de contenidos

1. Obtener Información De Ficheros Con Comandos .......................................................................... 2


1.Comando cat ................................................................................................................................. 2
2.Comando grep ............................................................................................................................... 2
3.Comando cut ................................................................................................................................. 3
4.Encadenar comandos con | ............................................................................................................ 3
2. Comando Para Manipular Información............................................................................................ 3
1.Comando sort ................................................................................................................................ 3
2.Comando uniq ............................................................................................................................... 4
3.Comando tr.................................................................................................................................... 4
4.Comando tail y head ..................................................................................................................... 5
5.Comando wc ................................................................................................................................. 5
3. Búsqueda De Información Linux Con Find ..................................................................................... 5
1.Búsquedas básicas opción -name y -iname ................................................................................... 6
2.Búsquedas básicas opción -user -group ........................................................................................ 6
3.Búsquedas a través del tiempo, opciones -mmin(minutos) -mtime(dias) ..................................... 6
4.Opciones de tiempo ....................................................................................................................... 7
5.Comparaciones con -and, -or y -not .............................................................................................. 7
6.Búsqueda de ficheros por tamaño. Opción -size ........................................................................... 8
7.Parámetro -exec............................................................................................................................. 8
4. Uso De SED Para Manipular Texto En Linux ................................................................................. 9
1.Modos básicos: .............................................................................................................................. 9
2.Eliminando texto ........................................................................................................................... 9
3.Conociendo la opción -i .............................................................................................................. 10
4.Sustitución de texto ..................................................................................................................... 10
5. Comando Wget Para Bajar Información ........................................................................................ 11
1. Obtener Información De Ficheros Con Comandos
Linux proporciona varios comandos que me permiten manipular y obtener información de ficheros planos

1. Comando cat

Permite visualizar el contenido completo de uno fichero o varios ficheros

# muestra el contenido de passwd y group

cat passwd group

Por defecto manda el resultado a la salida estándar del sistema, pero también se puede mandar la salida a otro
fichero.

# Manda el contenido de passwd y group a otro fichero

cat passwd group > unionficheros.txt

2. Comando grep

El comando grep busca patrones (cadena de texto) en ficheros. Por defecto devuelve todas las líneas que
contienen un patrón determinado en uno o varios ficheros.

# Muestra todas las líneas del fichero passwd que contienen sistemas

grep sistemas passwd

El comando grep así como todos los comando de linux admiten opciones, y en función de la opción el comando
se comporta de una manera u otra, veamos dos opciones muy utilizadas:

# Muestra todas las líneas excepto las que contienen el patrón sistemas

grep -v sistemas passwd

# -i no distingue entre mayúsculas y minúscula. Mostraría todas las


líneas que ponga sistemas o SISTEMAS

grep -i SISTEMAS passwd

Las búsqueda de patrones se puede afinar mucho, veamos algunos ejemplos:

# Muestra todas las lineas que contienen una p y a continuación una


letra entre la a y la f

grep p[a-f] passwd

# Muestra todas las líneas que contienen una p y a continuación una


letra entre la a y la f, y a continuación una m o una o

grep p[a-f][m,o] passwd

3. Comando cut
Este comando corta caracteres o campos de la información sobre la que actúa. Para que corte caracteres se
utiliza las opción -c. Veamos ejemplos:

# De todas las lineas del fichero passwd sólo mostraría el primer


caracter

cut -c1 passwd

# De todas las lineas del fichero passwd sólo mostraría del primer
carácter al quinto

cut -c1-5 passwd

# De todas las lineas del fichero passwd sólo mostraría EL primer


carácter y EL quinto

cut -c1,5 passwd

Para que corte campos se utiliza las opción -d para definir el saparador de campo y -f para indicar el campo que
queremos. Veamos ejemplos:

#Si el separador es : cogería el primer campo del fichero passwd

cut -d “:” -f1 passwd

#Si el separador es : cogería el primer campo y el quinto del fichero


passwd

cut -d “:” -f1,5 passwd

#Si el separador es : cogería del primer campo al quinto del fichero


passwd

cut -d “:” -f1-5 passwd

4. Encadenar comandos con |

El carácter | permite enviar el resultado de un comando a otro:

# cat manda el contenido del fichero passwd al comando grep y este solo
muestra las lineas que tienen sistemas

cat passwd | grep sistemas

# cat manda el contenido del fichero passwd al comando grep y manda solo
las líneas que contienen sistemas al comando cut quien coge solo el
campo 3 de esas líneas

cat passwd | grep sistemas | cut -d “:” -f 3

2. Comando Para Manipular Información


1. Comando sort

El comando sort ordena la información que se pase mostrándolas por la salida estándar.
#Muestra por salida el contenido de passwd pero ordenado alfabeticamente

sort /etc/passwd

#Muestra por salida el contenido de passwd pero ordenado alfabeticamente


descendente

sort -r /etc/passwd

#Ordena numericamente la información pasada

#En este ejemplo ordena los id de usuario del fichero /etc/passwd

cat /etc/passwd | cut -d “:” -f2 |sort -n

2. Comando uniq

El comando uniq elimina las líneas repetidas de un fichero ordenado, imprimiéndolo por la salida estándar o en
otro fichero argumento. De no especificarse un fichero toma la entrada estándar.

#Si el fichero lista.txt está ordenado y tiene líneas duplicadas,


entonces las duplicadas solo las mostraría una vez

uniq lista.txt

#Si el fichero no está ordenado previamente se tendría que ordenar

sort lista.txt | uniq

El comando uniq tiene muchas opciones, veamos las mas comunes

-c Muestra las líneas y por delante el número de veces que se repite cada una

-d Solo muestra las líneas duplicadas

-i Ignora mayúsculas de minúsculas

3. Comando tr

Permite modificar la información de un fichero, la salida se envía a pantalla o otro fichero.

#Cambia las a por un 1 y muestra la información por pantalla

cat fichero.txt | tr a 1

#Cambia cualquier letra de la A a la z por la letra

tr A-z a fichero.txt

#Elimina la a en todo el fichero

cat fichero.txt | tr -d a

#Si existe caracteres repetidos seguidos solo deja uno. Esta opción se
utiliza mucho para eliminar espacios en blanco.

cat fichero.txt | tr -s

4. Comando tail y head


Los comandos tail y head muestran respectivamente el final y el comienzo (10 líneas por defecto) de uno o varios
ficheros.

-q no coloca los encabezamientos con el nombre de los ficheros cuando se indican varios ficheros.

-<n> imprime las n últimas (tail) o primeras (head) líneas en lugar de las diez establecidas por defecto.

Ejemplos:

# Muestra las últimas líneas del fichero messeges

tail -f /var/log/messages

#Muestra las 20 últimas líneas del fichero secure

tail -20 /var/log/secure

#Muestra las 50 primera líneas del fichero secure

head -50 /var/spool/mail/pepe

5. Comando wc

El comando wc (Word Count) imprime el número de líneas, palabras y bytes de uno o varios ficheros. Si son
varios ficheros hace también un resumen de los totales.

Las principales opciones son:

-l Cuenta líneas

-m Cuenta caracteres

-w Cuenta palabras

#Cuenta el número de lineas de passwd

wc -l /etc/passwd

#Cuenta el número de caracteres de las frase “hola mundo”

echo “hola mundo” | wc -m

3. Búsqueda De Información Linux Con Find


(https://www.linuxtotal.com.mx Autor: Sergio González - Adaptado: Rubén Bautista)

El comando find sirve para buscar archivos y directorios que cumplas unos criterios.

Sintaxis de find

find [ruta] [expresión_decriterios_de_búsqueda] [acción]

La [ruta] es cualquier directorio o path que se quiera indicar y desde donde inicia la búsqueda, ejemplos pueden
ser "/etc", "/home/sergio", "/", "." es posible indicar más de un directorio de búsqueda.
Los tres argumentos anterior son enteramente opcionales. La diferencia entre find sin más opciones y ls es que
find incluye por defecto ficheros ocultos y la búsqueda es recursiva, es decir busca en los subdirectorios.

1. Búsquedas básicas por nombre: -name y -iname

El siguiente ejemplo busca todos los archivos cuyo nombre sea "reporte" desde la raíz:

find / -name reporte

find / -iname Reporte (lo mismo, pero sin tomar en cuenta mayúsculas y
minúsculas)

Podemos usar caracteres comodines para crear expresiones como:

find / -name "[0-9]*" (todo lo que empieze con un dígito)

find / -name "[Mm]*" (todo lo que empieze con un la letra M o m)

find / -name "[a-m]*.txt" (todo lo que empieze entre a y m y termine en


".txt")

Búsqueda desde la raíz del sistema de todos los ficheros y directorios con el nombre "linux", con formato ls:

find / -name "linux" -ls

2. Búsquedas básicas por pertenencia: -user -group

Busca bajo /home todos los archivos que pertenezcan al usuario mario

find /home -user mario

(lo mismo y que contengan con "enero" como en reporte_enero2011)

find /home -user mario -name "*enero*"

No estás limitado a un solo directorio, indica más de uno a buscar antes de las expresiones:

find /etc /usr /var -group admin

(busca en tres directorios todos los archivos o subdirectorios que pertenezcan al grupo 'admin')

3. Búsquedas a través de tiempo de modificación: -mmin(minutos) -mtime(dias)

La sintaxis es:

find [ruta] [opcion] n(numero minutos o dias) -type [f | d]

n son argumentos numéricos, estos pueden ser indicados de tres maneras posibles:

+n busca valores mayor que n

-n busca valores menor que n

n busca exactamente el valor n


La opción type permite filtrar por tipo de archivo, f para ficheros y de para directorios.

Buscar todos los archivos que hayan cambiado en los últimos 30 minutos:

find / -mmin -30 -type f

los modificados exactamente hace 30 minutos:3

find / -mmin 30 -type f

O si deseas buscar en un rango específico de minutos, con este ejemplo buscarías todos los directorios que hayan
cambiado hace más de 10 minutos (+10) y menos de 30 (-30)

find / -mmin +10 -mmin -30 -type d

4. Opciones de tiempo

find ofrece varias opciones de búsqueda por tiempo:

-time busca periodos de 24 horas

-min busca periodos de minutos

Estas opciones tienen variantes usando las siguientes letras:

-m – Busca ficheros que se han modificado(escrito)

-a – Busca ficheros que se han accedidos(leído)

-c – Busca ficheros que se han modificado el estado del fichero (por ejemplos sus permisos)

find . -mtime 0 (busca archivos modificados entre ahora y hace un día)

find . -mtime -1 (busca archivos modificados hace menos de un día)

find . -atime 1 (busca archivos accedidos entre hace 24 y 48 horas)

find . -ctime +1 (busca archivos cuyo status haya cambiado hace más de
48 horas)

5. Comparaciones con -and, -or y -not

find también incluye operadores booleanos que la hace una herramienta aún más útil:

find /home -name 'ventas*' -and -mmin 120

Busca todos los archivos que comiencen con 'ventas' Y que hayan sido modificados o cambiados en las últimas
dos horas (120 minutos).

find /home -name 'reporte[_-]*' -not -user sergio

Busca todos los archivos que comiencen con 'reporte' y después siga un _ o un - y que NO pertenezcan al usuario
sergio.
find /home -iname '*enero*' -or -group gerentes

Busca todos los archivos que contengan la palabra enero, Enero, ENERO, etc. (sin importar si lleva mayúsculas o
minúsculas) O cualquier otro archivo que encuentre que pertenezca al grupo 'gerentes'.

Estas opciones de booleanos tienen su correspondiente abreviatura:

-and se puede indicar también como -a

-or se puede indicar también como -o

-not se puede indicar también como !

6. Búsqueda de ficheros por tamaño. Opción -size

Una de las actividades básicas de un administrador de sistemas Linux es monitorear el tamaño de archivos,
sobre todo de usuarios. Con find es muy fácil realizar búsquedas por tamaño, se indica con la opción -size, se
aplican las mismas reglas para argumentos numéricos (+n -n n).

find /var/log -size +15000k -name "*.jpg"

Busca archivos mayores a 15 megas del tipo jpg

find $HOME -800c

Busca en tu home todos los archivos menores a 800 bytes (799 realmente)

find . -size +1000k -and -size -10000k

Busca archivos de tamaño comprendidos entre 1mb y 10mb

Se admiten cuatro parámetros después del número en -size:

c = bytes

w = 2 byte words

k = kilobytes

b = 512-byte bloques

Para buscar archivos vacíos puedes entonces hacer lo siguiente:

find . -size 0c ; find -type f -empty

7. Nivel de recursividad
Find por defecto es recursivo, busca en los directorios indicados, en los subdirectorios de estos… así hasta
recorrer todo el árbol.

Este comportamiento se puede cambiar por el parámetro – maxdepth

find -maxdepth 0

8. Parámetro -exec

-exec permite ejecutar acciones sobre el resultado de cada línea o archivo devuelto por find, o en otras palabras
permite incorporar comandos externos para ejecutar sobre cada resultado devuelto. Muy interesante. Así por
ejemplo, si queremos buscar todos los archivos mayores a 3 megas en /var y además mostrar su salida en
formato ls, podemos hacer lo siguiente:

find /var -size +3000k -exec ls -lh {} \;

Después de ls -lh que nos devuelve una salida formateada de ls se indica la cadena '{}' que se sustituye por cada
salida de find.

No hay límite para lo que se puede lograr, a si por ejemplo, borrar todo lo mayor a un mega en /tmp.

find /tmp -size +1024k -exec rm -f {} \;

4. Uso De SED Para Manipular Texto En Linux


(https://www.linuxtotal.com.mx Autor: Justin Ellingwood. Adaptado: Rubén Bautista)

El editor en línea (stream editor) sed es un editor de texto en línea que realiza operaciones de edición sobre
datos provenientes desde un archivo o desde el "standard input". sed edita línea por línea en un modo no
interactivo.

El resultado o salida de sed es enviado por defecto a la pantalla. O si es redireccionado será enviado a la archivo
que indiques.

1. Modos básicos:

$ sed [opciones] comandos [archivo_a_editar]

$ sed [opciones] comandos archivo > archivo_de_salida

$ otro_comado | sed [opciones] comandos

$ otro_comado | sed [opciones] comandos > archivo_de_salida

Ya que sabemos que sed envía su resultado a la pantalla por defecto, podemos usarlo como un visor (o lector)
de archivos :

$ sed '' archivo.txt


Para mostrar un rango de líneas, por ejemplo las primeras 5 líneas, podemos fácilmente indicarlo de la siguiente
manera (no olvides la opción -n) :

$ sed -n '1,5p' archivo.txt

El comando solo tendrá efecto en las líneas del 1 al 5.

2. Eliminando texto

Se puede fácilmente realizar operaciones de borrado o eliminación de texto tan solo cambiando el comando p
por el comando d (delete, borrar en inglés).

Cuando se trabaja con el comando d ya no es necesario indicar la opción -n porque al utilizar el comando
"delete" sed mostrará en pantalla todo lo que NO ha sido eliminado, que ayuda a darse cuenta que esta
sucediendo.

$ sed '1,2d' archivo.txt

Elimina las filas 1 y 2 del archivo.txt

$ sed '4d' BSD

Elimina la línea 4, pero resultado en pantalla es que se mostrará las líneas 1 a 3 y de la 5 en delante

3. Conociendo la opción -i

En los dos ejemplos previos, es muy IMPORTANTE hacer notar que el archivo original no está siendo afectado
en lo absoluto, continua intacto, nada se eliminó en el original. Las ediciones o eliminaciones de línea en este
caso son el resultado enviado a pantalla

Si ponemos la opción -i los cambios se hace sobre el documento original.

Editemos el archivo "archivo.txt" con sed para eliminar la líneas 1 y 2

$ sed -i '1,2d' archivo.txt

El uso de la opción -i puede ser peligrosa. Afortunadamente, sed nos da la opción de crear un respaldo del
archivo antes de editar el mismo.

$ sed -i.bkp '1,2d' archivo.txt

Esto creará un archivo de respaldo (backup) con la extensión ".bkp" y solo después editará el archivo indicado.
Por supuesto que puedes indicar lo que gustes como extensión.

4. Sustitución de texto

El uso más conocido de sed es la sustitución de texto. sed tiene la habilidad de buscar por patrones de texto
usando expresiones regulares y sustituir o reemplazar el text encontrado.
En su forma más simple, es posible sustituir una palabra por otra usando la siguiente sintaxis:

sed 's/una_palabra/otra_palabra/' archivo.txt

s es el comando que indica "sustituir" o reemplazar. Las 3 diagonales / son usadas para separas los distintos
campos. Es posible cualquier otro carácter para delimitar los campos (el que siga del comando s) si eso es más
conveniente según el caso.

Por ejemplo, si estamos cambiando el nombre de un ditio web, entonces utilizar otro delimitador será más
conveniente ya que los URLs contienen diagonales. En este ejemplo utilizaremos _ en vez de / como delimitador.
Y también usaremos el comando echo para canalizar | (pipe) su salida a sed

$ echo "http://www.example.com/index.html" | sed 's_com/index_org/home_'

http://www.example.org/home.html

No hay que olvidar el último delimitador o sed se quejará:

Cuando en una línea hay más de una ocurrencia de la palabra que queremos sustituir hay que poner g al final

$ sed 's/on/forward/g' archivo.txt

Sustituir en una serie de líneas:

sed '6,7s/on/forward/’ archivo.txt

Para ver un archivo con sus líneas numeradas:

cat -n archivo.txt

5. Comando Wget Para Bajar Información


El comando wget es un potente gestor de descargas que soporta http, https y ftp.

Por ejemplo, para descargar Opencart de la página web de descarga en el directorio /tmp/pruebas

mkdir /tmp/pruebas

wget -c http://opencart.googlecode.com/files/opencart_v1.4.9.5.zip

También podría gustarte