Linux

Linux-logo

Linux es un núcleo libre de sistema operativo (también suele referirse al núcleo como kernel) basado en Unix. El Kernel de Linux es uno de los principales ejemplos de software libre y de código abierto. Linux está licenciado bajo la GPL v2 y está desarrollado por colaboradores de todo el mundo.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El gestor de escritorio (entorno de escritorio) es la interfaz grafica de usuario que nos permite tener acceso aplicaciones y hacer configuraciones en nuestro equipo de una forma gráfica, consiguiendo una interacción amigable con un sistema operativo y aplicaciones.

En mayor o menor medida los entornos de escritorio son configurables por el usuario, algo que ayuda mucho al usuario a poder adaptarse a sus necesidades.

Existe una gran cantidad de entornos de escritorio en linux, aqui pongo una tabla de wikipedia de algunos de ellos.

 GNU/LinuxBSD
KDE
GNOME
Xfce
LXDE
Unity No
MATE
Cinnamon
Pantheon No

¿ Saber que gestor de ventanas estoy usando ?

Seguramente en algún lado del escritorio o menú, podrás encontrar un Acerca de, que sería lo normal, pero bueno, si quiere saberlo desde terminal pongo un par instrucciones que encontré:

ls /usr/bin/*session

Lista los paquete que estas usando en la sesion del usuario.. :-)

echo $GDMSESSION  

Constante de sistema que nos indica...

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Lo normal lo mas sencillo seria:

echo " " > fichero.log

Con la instrucción anteriro lo que hacer escribir un espacio en fichero.log que le indiquemos...

¿No soy el propietario del fichero y tengo que ejecutarlo como sudo ?

Los problemas puede surgir si no eres el propietario del fichero y necesitas ejecutarlo como sudo

sudo echo  " " > fichero.log

Te va indicar un error de permisos, porque el sudo, solo es para echo, no para la apertura de fichero.

Una forma sencilla es utilizando comando tee y cambiando sudo de sitio.

echo ' ' | sudo tee fichero.log

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a través de una red, usando el protocolo SSH. Es una alternativa libre y abierta al programa Secure Shell (SSH) que es software propietario.

El protocolos SSH es un servicio que trabaja de forma similar a como se hace con telnet. La diferencia principal es que SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible, en caso de ser interceptada por un tercero, no la pueda leer.

Comando SSH

Los comandos de suite OpenSSH sustituye a los comandos SSH privativo en las distribuciones linux.

ssh: Permite desde terminal acceder  a otro equipo.

spc: Permite transferir ficheros por ssh a otros equipos.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Existen muchos tipos de formatos para comprimir archivos en linux, por ello para poder comprimir o descomprimir archivos desde terminal , lo primero es saber si tienes instalados los compresores para el tipo fichero que vas utilizar.

Los distinto formatos de compresión que conozco:

  • TAR: Realmente no es formato compresión, sino mas bien formato de empaquetado.
  • Zip:  Utilizado windows, linus y OS. Seguramente uno de los mas conocidos, eso no implica que sea el que mejor comprima. Extensión .zip
  • Gzip: Es un sistema de GNU y muy utilizado en plataformas linus y unix, en windows se puede utilizar pero necesitas de software adicional (7-zip, WinRAR).El ratio de compresión es mucho mayor que zip. Extensión .gz
  • BZip: Superior al anterior y con licencia BSD. Tanto este formato como el anterior solo permite comprimir un solo fichero, por lo que si queremos empaquetar varios ficheros , debemos utilizar el formato Tar. La extensión sería .bzip y paquete seria .tar.bz2
  • RAR: Formato de compresión propietario, super conocida  por su aplicación WinRar, pero nosotros aquí lo descartamos , precisamente por ser un software privado. Extensión .rar
  • 7-Zip: Formato de compresion que trae el software 7-Zip, que es libre y multiplataforma. Extensión .7z ( Nuestra recomendación para aquellos que utiliza windows.)

Si quiere saber mas y ver mas sobre ellos puedes verlo en https://www.emezeta.com/articulos/la-guia-definitiva-de-formatos-de-compresion

Desde terminal como los utilizo

El comprimir /descomprimir ficheros desde terminal es la forma que recomendamos hacerlo ya que piensamos  que mucho mas rápido que utilizando un programa visual. Si trabajas con servidores y por terminal se convierte en imprescindible  ya que sino sabes no puedes realizarlo.

Instrucciones básicas de compresión/descomprimir para linux

De momento empezamos con linux, ya es el que utilizamos normalmente.

Fichero Tar ( Empaquetado y desempaquetar)

Recuerda que este no es un sistema de compresión.

Empaquetar:

tar -cvf archivo.tar /dir/a/comprimir/

Desempaquetar:

tar -xvf archivo.tar

Ver contenido:

tar -tf archivo.tar

 

Fichero Zip

Este no viene por defecto en instalaciones de linux, es el mas conocido, pero es el que mejor resultado consigues.

Comprimir:

zip archivo.zip ficheros

Descomprimir:

unzip archivo.zip

Ver contenido:

unzip -v archivo.zip

 

Fichero GZip

Es un sistema de GNU y muy utilizado en plataformas linus y unix, en windows se puede utilizar pero necesitas de software adicional (7-zip, WinRAR).El ratio de compresión es mucho mayor que zip. Extensión .gz

Comprimir:

gzip -9 fichero

Descomprimir:

gzip -d fichero.gz

Recuerda de este sistema compresión solo permite comprimir un solo fichero, por ello si quieres comprimir varios tienes que utilizar tar para empaquetar.

Comprimir y empaquetar :

tar -czf archivo.tar.gz ficheros

Descomprimir ficheros empaquetados y comprimidos con tar/gzip:

tar -xzvf archivo.tar.gz

Ver contenido empaquetado:

 tar -tzf archivo.tar.gz

 

 

 

Comprimir con Git

Todos sabéis que nosotros adoramos git, que es nuestro controlador de versiones favorito, por ello también pongo como comprimir con git

git archive --format=targz --prefix=miDirectoriox/ -o ~/nombrefichero.tar.gz rama

 Explicacion de por parte la  instrucción :

--format=targz  -> Formato de fichero que vamos a crear.

-o ~/nombrefichero.tar.gz -> es la ruta y nombre de fichero comprimido que vamos crear

--prefix=miDirectoriox/ -> es el directorios donde esta nuestro repositorios. ( No entiendo muy bien para que vale , si estamos situado en el)

 rama  ->  la rama queremos copiar sin el .git

 

Otras fuentes:

https://sololinux.wordpress.com/2008/07/27/comprimir-y-descomprimir-desde-la-terminal-de-linux/

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Eliminar el contenido de la papelera desde cualquier entorno gráfico, es una tarea bastante intuitiva y sencilla, el problema surge cuando hace tiempo que no la vacias y tienes tal cantidad de "basura" que nuestra aplicación de "vaciar papelera"  tarda muchísimo...

Algo que me sucede muy a menudo por lo que suelo optar por eliminarlo desde terminal, para que no me quede bloqueado el navegador de archivos.

¿ Donde se encuentar la papelera ?

Se encuentra en nuestro home/usuario pero como un directorio oculto.

.local/share/Trash/files

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

La correcta administración de los procesos en las distribuciones Linux es muy importante, ya que son los que consumirán recursos hardware tan preciados en tu CPU. Teniendo en cuenta que el  90% son distribuciones Linux, es muy conveniente saber administrar y gestionar correctamente los procesos. Para está faceta linux cuenta con incontables herramientas, nosotros aquí vamos poniendo las que vamos utilizando dia a dia.

Comando  "ps"

Un comando que lista los procesos en el momento de ejecutar.

ps [opciones]

Podemos consultar el manual  (man ps) que nos facilita linux y la ayuda con ps --help.

 

Listamos procesos:

ps -e
ps aux

 

Listamos con ps procesos en forma arbol

ps -ejH
ps axjf

 

Filtrar procesos con ps

ps aux | grep apache

Con esta instrucción anterior filtramos los procesos que pertenezca a apache.

 

 Otro gestor procesos "Top"

Este gestor normalmente viene por defecto en la mayoría de las distribuciones de linux. La diferencia entre ps y top, es que ps es estático, ya que nos da la información que hay en el momento de la petición y top es interactivo, ya que nos informa en todo momento que procesos están o se van abriendo.

 Al ejecutar el programa TOP podemos interactuar con las siguiente opciones (pulsando):

  • q -> Sales del TOP
  • T-> Ordenas por tiempo, que se  lleva ejecutando.
  • A-> Orderna por orden aparición, poniendo de primero los nuevos.
  • P-> Ordena por orde CPU, es la opción que esta por defecto.
  • 1-> Ver la información de todos los CORES
  • M-> Ordena por Memoria usada.
  • ...

A parte de las opciones anteriores, tenemos las opciones al ejecutar que son interesantes:

Mostrar los procesos que estan corriendo de ese usuario.

top -u usuario

 

Mostrar el proceso seleccionado.

top -p PID

 

Le indicamos el tiempo que espera para refrescar.

top -d numero

 

Ideal para interactuar con otros programas de batch

top -b

 

Fuentes:

Este blog (Castellano)

Otro en ingles.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Buscar diferencias entre dos directorios, nos será util muchas veces.

diff -rq directorio1 directorio2

No indica que ficheros son distintos entre esos directorios y que ficheros hay a más en uno u otro.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Conoce el funcionamiento del comando "rm" que sirve para eliminar, ojo un comando bastante peligroso, por que elimina de verdad. :-)

De una forma técnica:

Es un proceso que desvincula un nombre de archivo en el sistema de archivos de sus datos asociados y marcando ese espacio como utilizable en futuras escrituras de ese espacio.

Eliminar ficheros o directorios desde Shell con comando rm

Recuerda que los comandos de linux suelen tener opciones (modificadores) que se pueden combinar.

Eliminar un fichero, por ejemplo queremos eliminar fichero "leeme.txt" en el directorio actual

rm leeme.txt

Eliminar un directorio. Por ejemplo eliminar el director "nombreDirectorio" y contiene ficheros

rm -r nombreDirectorio

Si el directorio estuviera vacío, también podríamos con:

rm -d nombreDirectorio

Si quisiéramos eliminar solo los ficheros y subdirectorios que estén dentro de un directorios, sin eliminar este.

 rm -r nombreDirectorio/*

Si en la instrucción anterior combinamos la opcion -i nos pedirá confirmación antes de eliminar el fichero o directorio..

 rm -ri nombreDirectorio/*

 

Fuentes del post

https://ayudalinux.com/como-usar-el-comando-rm/

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

 Unos de los paquetes que consideramos indespensable en nuestros equipos es pdftk, que es codigo abierto y es multiplataforma. ver wiki

En debian es muy sencillo instalarlo:

sudo apt-get install pdftk 

¿Como creamos un pdf con varios pdf ?

Ejecutando la siguiente instruccion, podríamos adjuntar los ficheros pdf que queramos:

pdftk archivo1.pdf  archivo2.pdf  ... output final.pdf 

¿ Como separamos todas paginas de un pdf ?

pdftk archivo_grande.pdf burst

Nos genera un fichero por cada pagina, el con el nombre "pg" añadiendo sufijo que el numero de la página, ademas de un fichero doc_data.txt, que contiene informacion del fichero.