sed, vi, nc ou netcat, infos système (32 ou 64b, uname, xargs...)

sed   vi   nc    32ou64b  info systeme (info tools sum)  -    liens

sed

permet de faire des transformations de texte (d'un fichier ou d'une var) sans ouvrir d’éditeur.
syntaxe: s/[occurrence_cherchée]/[occurrence_de_substitution]/[comportement]

sed pour maj sql
sed -i  ‘s/val_old/val_new/g’  save.sql Ex

-i que le résultat soit pris dans le fichier

sans -i ds console

s substitue val_old par val_new

g sur tout fichier

fichier modifié  
sed  ‘s/old_val/new_val/g’  <  save.sql  >  bdd_substitution.sql ne pas envoyer le nouveau résultat dans le fichier

cat save.sql | drush –uri=[nom-du-site] sqlc
puis   drush –uri=[nom-du-site] cc all

réinstaller ancienne version de la base (et vide cache)

Voir aussi http://doc.ubuntu-fr.org/sed

sed   vi   nc    32ou64b  info systeme (info tools sum)  -    liens

vi

copier ligne yy   couper ligne dd   coller p     -  x efface caractère à la place du curseur
y$ copie jusqu'à la fin de la ligne, yw copie le mot...
w nom-fichier  enregistre sous nom-fichier

buffers

Le presse papier vim n'est pas unique, mais a plusieurs buffers. Le buffer principal est " (les autres: lettre de l'alphabet). En copiant, sélectionner le buffer  avec "x où x est le buffer choisi. Nous pouvons donc copier "ayy une ligne, et ensuite la coller avec "ap, sans impacter notre buffer principal.

au lieu de remplacer le contenu du buffer, ajouter ce que l'on veux: en majuscule. "Ayy  ajoute une ligne au buffer a.

clipboard global: +

"+yy copie une ligne pour le clipboard global, et "+p colle le clipboard global.

poubelle: _ (en les envoyant dans "null")

"_d$ supprime donc réellement la fin de la ligne, sans l'envoyer dans un buffer.

Voir aussi http://www.linux-france.org/prj/support/outils/vi.html
VI  image avec plein de raccourcis utiles: http://naleid.com/blog/2010/10/04/vim-movement-shortcuts-wallpaper/
http://www.fprintf.net/vimCheatSheet.html

 

sed   vi   nc    32ou64b  info systeme (info tools sum)  -    liens

 

nc (netcat)

sun tcp/udp util. options -4 force ipv4 seul et -6 ipv6 -w timeout par défaut, no time out... -z peut-etre utilisé pour scanner les ports (sans connex), savoir quelle version tourne par ex: nc -z -w2 192.168.1.3 22-80 > nc.txt

Vers mes notes "commandes réseau" linux

sed   vi   nc    32ou64b  info systeme (info tools sum)  -    liens

 

info systeme (kernel, cpu...)

cat /proc/version  ou plus court(ver kernel) uname -r
liste des kernel installés:   dpkg -l | grep -Ei "linux-headers|linux-image"

lsb_release -r   donne par ex: 14.04 (ou 15.04, 15.10...)  avec -a on a le codename (trusty pour 14.04, Vivid 15.04 et Wily 15.10)

nettoyage old kernel (en garder 2)

désinstaller le noyau 3.5.0-17 : 
sudo apt-get remove linux-headers-3.5.0-17 linux-headers-3.5.0-17-generic linux-image-3.5.0-17-generic linux-image-extra-3.5.0-17-generic --purge

sed   vi   nc    32ou64b  info système (info tools sum)  -    liens

En 32 ou 64 bits ?

lscpu | grep bit   Retourne "32-bit, 64-bit" ou "64 bits" => votre processeur est 64bits
uname -m 
  • retourne x86_64: système d'exploitation est en 64 bits.
  • i686: Ubuntu est en 32 bits

uname -a           retourne plus d'info (kernel...)

Ou via la GUI d'Unity, en haut à droite : 

menudrt.png

Menu d'Unity, en haut à droite "A propos de cet ordi"
Menu d'Unity, en haut à droite "A propos de cet ordi"

sed   vi   nc    32ou64b  info systeme (info tools sum)  -    liens

info system (de GNU-Linux-Tools-Summary)

Voir ma page "info hard et systeme" - qui a un script utile.

cat /proc/cpuinfo  donne info processeurs car les fichiers sous /proc (process information pseudo file-system) montrent plein d'info sur le systeme.
less /proc/modules info sur les modules du kernel chagés.

dmesg affiche et controle le "kernel ring buffer" utile pour voir messages du boot.

df donne info sur les fs montés. -h pour lisibilité. Ex: df -h /dev/hdb

who montre qui est logué sur ce system (et depuis combien de temps). w donne en plus ce qu'ils font. users proche de who mais ne montre que les noms users.
last info sur users qui se sont logués/délogués (ou ont rebooté). lastlog liste des users et qd ils se sont logués.
whoami sous quel user je suis loguée (changé par su).

free stats mémoire. -t pour total et -m en MégaBytes. free -tm

uptime depuis quand machine tourne, nb users et charge moyenne des processeurs. Voir aussi w

uname info systeme. -a tout  -m machine elle-meme (ex de réponse: x86_64)  -n montre hostname  -r donne release du kernel (3.8.0-31-generic)  -s os (Linux)  -p type processeur (x86_64)

xargs commande complexe utile pour lancer d'autres commandes autant de fois que nécessaire.
ls | xargs commande2 la sortie du ls est passée à commande2 "ligne par ligne". 
ls | xargs grep work  pour chaque fichier du répertoire courrant, grep cherche le mot work
    -nx regroupe les x 1eres commandes
    -lx xargs lancera la commande pour chaque nombre de ligne x input
    -p demande si on execute ou pas cette string
    -t verbose= affiche la commande avant exe
    -i utiliser la substitution de type find
Ex: ls dir1 | xargs -i mv dir1/'{}' dir2/'{}'  Le {} est remplacé par input courrant (ici fichier ou rep courrant) dans le dossier. Ca déplace donc tous les fichiers dans dir1 vers dossier dir2. Idem: cd dir1 puis mv * ../dir2
\ls *.wav | xargs -i lame -h '{}' '{}'.mp3 trouve les .wav du rep courrant et les convertit en mp3 (lame) avec extension .mp3

 

 

sed   vi   nc    32ou64b  info systeme (info tools sum)  -    liens

 

Version de linux: cat /etc/motd  ou  cat /etc/issue
Version de unity: unity --version  (  listes des indicateurs dpkg -l | egrep ^ii | egrep -o indicator-\\S*  )

sed   vi   nc    32ou64b  info systeme (info tools sum)  -    liens

Liens