informatica:linux:script
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
informatica:linux:script [2019/08/31 16:19] – jose | informatica:linux:script [2023/02/22 15:03] – jose | ||
---|---|---|---|
Line 194: | Line 194: | ||
====== Comprobar si un puerto está abierto o levantado: ====== | ====== Comprobar si un puerto está abierto o levantado: ====== | ||
+ | |||
===== En local: ===== | ===== En local: ===== | ||
< | < | ||
Line 210: | Line 211: | ||
</ | </ | ||
==== Servidor externo ==== | ==== Servidor externo ==== | ||
- | Con estos comandos | + | Como alternativa a telnet se pueden usar estos comandos. A veces hay que poner el nombre del servicio, por ejemplo una VIP de oracle |
cat < /dev/null > / | cat < /dev/null > / | ||
+ | | ||
Conexión correcta, no da error: | Conexión correcta, no da error: | ||
# cat < /dev/null > / | # cat < /dev/null > / | ||
Line 236: | Line 238: | ||
Con netcat, la respuesta es parecida al telnet: | Con netcat, la respuesta es parecida al telnet: | ||
nc oracle-scan 1521 | nc oracle-scan 1521 | ||
+ | Con curl: | ||
+ | curl -v telnet://< | ||
====== Demonio ====== | ====== Demonio ====== | ||
Se crea un fichero kkfichero que mientras este creado se ejecuta el script. \\ | Se crea un fichero kkfichero que mientras este creado se ejecuta el script. \\ | ||
Line 354: | Line 358: | ||
i=$(($i + 1)) | i=$(($i + 1)) | ||
+ | Con decimales: | ||
+ | awk ' | ||
+ | 1.33 | ||
====== Búcles ====== | ====== Búcles ====== | ||
Line 386: | Line 392: | ||
</ | </ | ||
+ | |||
+ | ====== ECHO ====== | ||
+ | Referencia: https:// | ||
+ | |||
+ | Mostrar una parte de una cadena con echo: | ||
+ | palabra=murcielago | ||
+ | |||
+ | echo ${palabra: | ||
+ | rcielago | ||
+ | |||
+ | echo ${palabra: | ||
+ | ur | ||
+ | |||
+ | echo ${palabra: | ||
+ | go | ||
+ | |||
+ | echo ${palabra: | ||
+ | rci | ||
====== SED ====== | ====== SED ====== | ||
+ | Muestra las coincidencias en un fichero | ||
+ | sed -n '/ | ||
+ | Borra una línea. La número 5 | ||
+ | sed ' | ||
+ | Borra líneas con coincidencias | ||
+ | sed -i '/ | ||
+ | |||
+ | |||
+ | |||
+ | Elmina caracteres duplicados en un fichero | ||
+ | < | ||
+ | molon | ||
+ | remar | ||
+ | adios | ||
+ | |||
+ | sed -f <(printf ' | ||
+ | |||
+ | moln | ||
+ | rema | ||
+ | adios | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | No es sed, pero para reemplazar dentro de una variable | ||
+ | var=" | ||
+ | echo $var | ||
+ | hola que tal | ||
+ | Solo cambia el primero: | ||
+ | echo ${var/ /%20} | ||
+ | hola%20que tal | ||
+ | Los cambia todos: | ||
+ | echo ${var// /%20} | ||
+ | hola%20que%20tal | ||
+ | |||
===== Mostrar un parámetro ===== | ===== Mostrar un parámetro ===== | ||
echo " | echo " | ||
Line 404: | Line 465: | ||
Mostrar la segunda línea | Mostrar la segunda línea | ||
sed -n ' | sed -n ' | ||
+ | Mostrar a partir de la segunda línea | ||
+ | sed 2p file.txt | ||
Mostrar hasta la línea 20: | Mostrar hasta la línea 20: | ||
Line 518: | Line 581: | ||
====== AWK ====== | ====== AWK ====== | ||
+ | - Entre 2 delimitadores (-F): | ||
+ | echo " | ||
+ | |||
+ | |||
-Muestra la última columna | -Muestra la última columna | ||
cat fichero.txt | awk {' | cat fichero.txt | awk {' | ||
Line 571: | Line 638: | ||
| | ||
====== GREP ====== | ====== GREP ====== | ||
+ | Cuenta número de letras de un fichero: | ||
+ | < | ||
+ | grep -Eo ' | ||
+ | 4073 a | ||
+ | 711 b | ||
+ | 1297 c | ||
+ | 612 d | ||
+ | 2027 e | ||
+ | 386 f | ||
+ | 565 g | ||
+ | 412 h | ||
+ | 1714 i | ||
+ | 340 j | ||
+ | </ | ||
+ | |||
+ | Cuenta número de palabras: | ||
+ | < | ||
+ | grep -Eo ' | ||
+ | 2 line | ||
+ | 3 this | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Texto entre dos cadenas: | ||
+ | <span class=" | ||
+ | |||
+ | grep -oP ' | ||
+ | |||
+ | |||
+ | |||
Varias coincidencias | Varias coincidencias | ||
# grep -E ' | # grep -E ' | ||
Line 576: | Line 674: | ||
Buscar por nombre de proceso, para evitar grep -v grep | Buscar por nombre de proceso, para evitar grep -v grep | ||
# ps -fc java | # ps -fc java | ||
+ | |||
+ | Posicion de un caracter en una cadena. La letra o en la cadena bolo. Empieza por 0 | ||
+ | echo " | ||
+ | 1:o | ||
+ | 3:o | ||
Line 790: | Line 893: | ||
20190420_225307 | 20190420_225307 | ||
- | ====== Poner fecha en historial history | + | Pasar una fecha a unixtime: |
+ | date " | ||
+ | |||
+ | Coge formato americano MM/DD/YYY. Si probamos esto falla: | ||
+ | date " | ||
+ | Convertir unixtime a formato texto: | ||
+ | date -d @1448488800000 | ||
+ | Thu Oct 13 06:00:00 PM CEST 47870 | ||
+ | |||
+ | Reordenamos las fechas: | ||
+ | echo 31/01/2021 14:12:30 | awk ' | ||
+ | |||
+ | ====== History ====== | ||
+ | |||
+ | ===== Poner fecha en historial history ===== | ||
export HISTTIMEFORMAT=' | export HISTTIMEFORMAT=' | ||
- | ====== Salir terminal sin grabar history | + | ===== Salir terminal sin grabar history ===== |
kill -9 $$ | kill -9 $$ | ||
+ | |||
+ | ===== Historial infinito ===== | ||
+ | export HISTSIZE="" | ||
+ | |||
+ | |||
====== Unixtime ====== | ====== Unixtime ====== | ||
Line 925: | Line 1047: | ||
===== Formatear xml ===== | ===== Formatear xml ===== | ||
:%!xmllint --encode UTF-8 --format - | :%!xmllint --encode UTF-8 --format - | ||
+ | ===== Carácteres especiales ===== | ||
+ | Para ver los carácteres especiales: | ||
+ | :set list | ||
+ | Vi añade newline al final de fichero. Si obtenemos el error **No newline at end of file** al hacer un diff por ejemplo, podemos hacer esto para verlo, aparecerà un \n en uno de los ficheros al final: | ||
+ | od -c fichero | ||
====== Buscar paquete debian ====== | ====== Buscar paquete debian ====== | ||
+ | Instalamos apt-file y hacemos apt-file update. Buscamos: | ||
+ | apt-file search --regexp '/ | ||
+ | Que lo que hace es esta búsqueda: | ||
# apt-file search / | # apt-file search / | ||
graphicsmagick-imagemagick-compat: | graphicsmagick-imagemagick-compat: | ||
O desde la web:\\ | O desde la web:\\ | ||
https:// | https:// | ||
+ | |||
+ | ====== Fecha certificado ====== | ||
+ | < | ||
+ | SITE_URL=" | ||
+ | SITE_SSL_PORT=" | ||
+ | |||
+ | openssl s_client -connect ${SITE_URL}: | ||
+ | -servername ${SITE_URL} 2> /dev/null | openssl x509 -noout | ||
+ | </ | ||
informatica/linux/script.txt · Last modified: 2024/04/19 07:00 by jose