oriolrius.cat

Des del 2000 compartiendo sobre…

Tag: cli

Convert JSON file to YAML file using CLI

Reading time: < 1 minute

Just a cookbook about how to get a YAML file when you have a JSON one.

python -c 'import sys, yaml, json; yaml.safe_dump(json.load(sys.stdin), sys.stdout, default_flow_style=False)' < file.json > file.yaml

Turn on virtual machines in VMWare ESXi

Reading time: < 1 minute Next commands are very useful when you don't have access to the vSphere UI and you have to access to VMWare Hypervisor using SSH or console:

# get the list of virtual machines
vim-cmd vmsvc/getallvms

# get the state of a VM with #id: VM_ID
vim-cmd vmsvc/power.getstate VM_ID

# turn on the virtual machine with #id: VM_ID
vim-cmd vmsvc/power.on VM_ID

Another option to turn on the virtual machine using an Ansible playbook:

- hosts: vmware
  gather_facts: false
  tasks:
    - vsphere_guest:
        vcenter_hostname: "X.X.X.X"
        username: "{{ hostvars[inventory_hostname].ansible_ssh_user|quote }}"
        password: "{{ hostvars[inventory_hostname].ansible_ssh_pass|quote }}"
        guest: "NAME_OF_THE_VM"
        state: "powered_on"
      delegate_to: localhost

Changing Ubuntu CLI language

Reading time: < 1 minute My mother tongue is Catalan and of course I speak and understand Spanish very well, but when I'm using a Linux CLI it's impossible to be agile if the interface is not in English. Then when I need to change Ubuntu interface to English I modify the file /etc/default/locale: 

LANG=en_US.UTF-8
LANGUAGE="en_US:en"

tcpflow: mirant streams tcp en un moment

Reading time: 1 – 2 minutes

Fins ara per poder seguir un protocol dins del enllaç TCP, o sigui els missatges de la capa 5, sempre acabava capturant-lo amb el wireshark o en el seu defecte amb el tcpdump generava un fitxer .cap que després obria al wireshark i a través d’una funció tan simple com el Follow TCP stream em montava la sessió de capa d’aplciació que podia seguir de forma ben còmode. El gran descobriment que vaig fer l’altre dia és el tcpflow una eina la mar de simple i lleugera que com no podia ser d’altre forma usa les llibreries libpcap, le mateixes que el tcpdump i el wireshark per mostrar-nos de forma completament visual i simple a través de la consola o contra un fitxer el contingut de la sessió TCP. Espero que li tregueu tan profit com jo a l’eina.

equivalent de la comanda “grep” en windows: “find”

Reading time: < 1 minute

Si te hubiera conocido antes… m’he passat mitja vida usant el grep en linux i fins avui no he descobert que en windows existeix el find que serveix pel mateix. Per fi ja puc fer:

# netstat -an | grep ESTABLISHED

C:\>netstat -an | find "ESTABLISHED"

python: Abyss Webserver start and stop host from CLI

Reading time: 1 – 2 minutes

Petit script en python per iniciar/parar el Abyss Webserver des de la línia de comandes. Només hem de posar la URL d’on es troba la web de la consola de l’Abyss i l’ususari i el password per entrar-hi. Com que esta fet ràpid i corrents, no es suporta el pas de paràmetres per indicar si s’ha d’engegar i/o parar el servei en cada moment. Així que si algú s’anima a afegir-hi les 4 línies de codi que hi falten que me les digui, que jo encara no domino prou el python com per fer-ho en 1s i avui ja estic cansat.

import urllib2

theurl = 'http://127.0.0.1:9999' username = 'theuser' password = 'thepass'
passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, theurl, username, password) authhandler = urllib2.HTTPBasicAuthHandler(passman) opener = urllib2.build_opener(authhandler)
data_start = "%2Fhosts%2Fhost%400%2Fstart=Start" data_stop = "%2Fhosts%2Fhost%400%2Fstop=Stop"
data = data_start
request = urllib2.Request(theurl,data) response = opener.open(request)
print response.readlines()

EveryGUI – creant GUI per linies de comandes

Reading time: 1 – 2 minutes

Gràcies a delicious fa un temps vaig veure que en pancake havia trobat una aplicació per GTK+ que no coneixia només que per QT (QSA). La idea és afegir una interficie gràfica d’usuari (GUI) a les aplicacions de línies de comandes que ens interessin. A través d’un designer podem modelar-los la GUI al nostre gust i després connectar els events dels components afegits a la GUI per llençar i capturar les sortides de les ordres del CLI.

everygui.png

A la pàgina de EveryGUI teniu més informació i captures de pantalla on es pot veure prou bé la qualitat de l’aplicació.