Ver fichero en linux sin comentarios

A veces nos encontramos con que queremos editar un fichero y esta lleno de comentarios y se hace dificil de leer, pues voy a explciar una manera muy sencilla de mostrar el fichero sin los famosos comentarios.

Para ver el fichero sin comentarios utilzaremos el comando grep.

Partimos del comando grep “#” comentarios.txt que lo que lo que haces es mostarnos las lineas con comentarios (caracter #):

grep "#" comentarios.txt
#Comentario 1
#Comentario 2

Lo siguiente es lanzar el comando grep -v “#” comentarios.txt para que nos muestra el resultado inverso.

grep -v "#" comentarios.txt
Texto 1
Texto 2

Y si lo que queremos es guardarlo en un fichero a parte redirigimos las salida con grep -v “#” comentarios.txt > sincomentarios.txt:

grep -v "#" comentarios.txt > sincomentarios.txt

cat sincomentarios.txt
Texto 1
Texto 2

Con estos sencillos comandos podemos servirnos para omitir comentarios en los ficheros

¿Como solucionar el error “curl: (60) SSL certificate problem: unable to get local issuer certificate “?

Estamos ante un error poco común, si has instalado curl desde repositorio con yum o con apt probablemente nunca encontraras un error de este tipo.

Este error suele aparecer en distros antiguas y esta relacionada con el cambio de versión de curl, si te ha salido este error es porque seguramente hayas actualizado curl compilándolo y no hayas incluido el certificado de confianza.

Tambien puede aparecer al intentar hacer un wget con las nuevas versiones de openssl:

OpenSSL: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
 Unable to establish SSL connection

Estos errores son debidos a que en versiones antiguas de curl o openssl no se establecía relación de confianza y no se necesitaba ningún certificado, pero las versiones actuales si lo requieren y al no encontrarlo el sistema devuelve este error.

La solución es bastante sencilla, basta con descargarse el certificado en la página oficial de  curl https://curl.haxx.se/ca/cacert.pem y guardarlo en la ubicación de los certificados de la versión de Linux en la que estés trabajando.

"/etc/ssl/certs/ca-certificates.crt",                // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt",                  // Fedora/RHEL 6
"/etc/ssl/ca-bundle.pem",                            // OpenSUSE
"/etc/pki/tls/cacert.pem",                           // OpenELEC
"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", // CentOS/RHEL 7

En el caso de que necesites utilizar curl con php bastaría con añadirlo al fichero de configuración php.ini

curl.cainfo = "/etc/ssl/certs/cacert.pem"
openssl.cafile  = "/etc/ssl/certs/cacert.pem"

Con estos pasos el error queda resuelto y podrás utilizar curl perfectamente.

Como añadir la variable MySQL al $PATH para resolver el error: “mysql: command not found”

En sistemas Linux nunca tiramos de rutas absolutas u utilizamos las variables del sistema como en el caso del cliente mysql.

Sera costumbre de instalar todo con apt o yum, etc.

Pero bueno siempre hay casoso especiales, como tener que compilar mysql porque lo pide tu jefe o que en un caso de muñonismo hayas borrado la variable del path.

En cualquier caso si lanzas el comando mysql y te muestra el error “mysql: command not found” no hay que preocuparse porque hay fácil solución.

Basta con añadir la ruta del mysql a la variable del sistema con:

export PATH=${PATH}/usr/local/mysql/bin/

en este caso probamos el comando mysql y si nos funciona lo siguente es añadirlo permanente en el fichero . bash_profile del usuario que queremos que ejecute el comando

echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.bash_profile

Nunca me acuerdo del barrabin barrabash #!/bin/bash

Bienvenidos a mi blog de autoayuda para administradores de sistemas, los más puristas no lo reconocerán pero a todo el mundo se le olvida el dichoso barrabin barrabash (#!/bin/bash) y que mejor que utilizar la primera entrada para la cabecera de los scripts en bash.

Dejo el código del archiconocido hola mundo:

#!/bin/bash

echo 'hola mundo';

Y ya sabeis no os olvides de dar permisos de ejecución al script (chmod +x)