Archives de catégorie : Trucs et astuces

[Linux] : rsync – entre deux machines en définissant le port à utiliser

Rsync est un super outil qui permet comme son nom le laisse deviner, de synchroniser des fichiers ou des répertoires. Il permet notamment de gagner du temps pour ne synchroniser que le nécessaire si une modification intervient. Bref une brave bête ce rsync.

Comment synchroniser un fichier ou un répertoire entre 2 machines en fixant un port particulier ?

rsync -avz -e "ssh -p $portutilise" utilisateur@serveur2:/chemin/source/ /chemin/destination/

Donc :

  • rsync -avz : mode archive (a), mode compressé (z) et verbose
  • -e pour lancer une commande en l’occurence la connexion ssh

TCL #11 : mkfs, sed, openssl, pdfjam, sed

Hello la team !

J’espère que vous allez bien. Moi ça va pas mal. Ent erme d’évolution je pense que les articles de récapitulatif de commandes comme celui-ci seront désormais publiés toues les 2 semaines ou une fois par mois. En effet, j’ai un peu moins de temps pour cela et je préfère passer du temps pour vous partager des choses plus techniques (par exemple sur ansible).

  • Vim

Splitter verticalement votre vim pour afficher un second fichier

:vsp file1
  • sed

Comment grepper un pattern avec sed ?

sed -n « /PATTERN/p » file

  • mkfs

Comment formater enfat 32 et renommer sa clef usb ?

mkfs.vfat -F 32 -n ma_clef_usb /dev/sda7
  • pdfjam

Fusionner des pdf en un seul

pdfjam 1.pdf 2.pdf 3.pdf
  • Sed

Afficher les caractères invisibles d’un fichier

sed -n "l" file
  • Openssl

Comment réaliser une connexion ssl manuellement en ligne de commande

openssl s_client -connect <server>:443

Article de la semaine :

La vidéo de la semaine : la liste et la vulnérabilité des réseaux wifi à proximité de chez vous et dans le monde avec le site https://wigle.net/

[youtube https://www.youtube.com/watch?v=wBl7HM6a4Wo&w=560&h=315]

[Tips] : booster votre navigateur firefox

Firefox utilise le moteur de bases de données sqlite. Ces bases lui permetttent par profil de stocker des éléments de chacun d’eux (cookies, marques pages…). Et comme toutes les bases de données, il est parfois nécessaire de faire un peu de ménage au fur et à mesure des INSERT et des DELETE.

Sur sqlite, la commande magique qui fait le ménage pour vous c’est VACUUM. Elle optimise la base si vous voulez.

find ~ -name '*.sqlite' -exec sqlite3 '{}' 'VACUUM;' \;

Autre chose, saviez vous que vous pouviez manager les bases sqlite par un simple plugin Firefox ? découvrrez le plugin SQLite Manager.

Firefox-on-Fire-TV-announcement-1400x770

Top commandes linux #9 : git, mdk3, wifi over loading, hypertext, rpm

Comment ça va la team des xavki ? petit à petit l’oiseau fait son nid et vous êtes de plus en plus nombreux à vous abonner… MERCI !!! si ce n’est pas déjà fait vous pouvez le faire dans la colonne de droite je ne pollue personne avec des ventes de ebook gratuits lol et autres méthodes marketing.

Avant de commencer, l’article du blog qui a le mieux marché la semaine dernière est :

 

# git

comparer les deux derniers commits avec un diff

git diff $(git log --pretty=format:%h -2 --reverse | tr "\n" " ")

moins bien que :

git diff HEAD^ HEAD

# sed & HTML

Convertir une url en lien cliquable html (balise <a>)

cat url.txt | sed "s/\([a-zA-Z]*\:\/\/[^ ]*\)\(.*\)/\<a href=\"\">\<\/a\>/"

avec url.txt contenant des liens format : http://monlien.fr

# PS & sort

Lister le top 10 des processus en cours

ps -auxf | sort -nr -k 4 | head -10

# RedHat

Lister les 10 derniers paquets installés avec RPM

rpm -qa --last | head

Article de la semaine :

Vidéo de la semaine : brouiller un wifi avec mdk3 (démo)

https://www.youtube.com/watch?v=FF_tVKPOelY

Top commandes linux #8 : vim, git, od, sql, convert, aria2c

La routine du lundi c’est de découvrir rapidement quelques commandes et infos que j’ai récolté la semaine dernière. Retrouvez les versions des lundis précédents sur cette page.

Sur le blog l’article qui a le plus cartonné la semaine c’est celui avec la petite astuce pour imprimer la sortie d’une commande dans un png.

# aria2c

Utilisez aria2c pour télécharger plus vite avec de multiples connexions.

aria2c -s 4 https://xavki.blog

# convert

Compressez un pdf pour réduire sa taille avec la commande convert.

convert -density 200 -compress jpeg -quality 20 test.pdf out.pdf

# vim

insérer dans le fichier courant son nom

:put %

# od

Réalisez un dump en hexadécimale de vos fichiers avc la commande od option -x

od -x <file

# git

comparer les deux derniers commits avec un git diff

git diff HEAD^ HEAD

# SQL – Connor MacDonnald

créez une table de table create table as select mais avec des clauses particulières (partition, primary key…) – article complet

create table t (
...,
constraint pk primary key (id1), ...
) partition by range (id2) (...)
as
select...

Rappels git pour les retours arrières

Actualité :

La vidéo de la semaine : comment créer un script bash pour générer un password ?

[youtube https://www.youtube.com/watch?v=P5552IJp7tU&w=700&h=500]

Top commandes linux #7 : git, bgplot, pacvim, loop/useradd, ln -s à la volée

Je vous laisse découvrir ce nouveau tour des commandes du moment. Et n’oubliez pas que vous pouvez les retrouver sur cette page.

# Git

Supprimer les fichiers classés comme « deleted »

git rm $(git ls-files --deleted)

# Liens symboliques

Créer un mirroir d’un répertoire automatiquement avec des liens symboliques vers tous les fichiers

└─ $ ▶ find ~/source/ -type f -print0 | xargs -0 -n1 -I{} ln -s '{}' ~/mirroir/

# Find/xargs/du/sort

Lister un type de fichiers, déterminer leurs volumes et classer par ordre décroissant

find . -name '*.js' | xargs du -bc -h | sort -k1,1 -h

# stat

Connaître la taille d’un fichier en bytes. Stat permet plus globalement de connaitre les infos de la table inode d’un fichier.

stat -c %s filename

# useradd

Créer une liste d’utilisateurs à partir d’un fichier csv et sur une ligne

awk -F ";" '{print $1}' users.csv \
while read -r utilisteur ;\
do useradd -m -d /home/$utilisteur -G users $utilisteur;\
echo $utilisteur" créé";\
done

#  Pacvim

Apprendre à utiliser vim par le jeu avec pacvim

https://github.com/jmoon018/PacVim

# Python: faire des graphique

Découvrez bqplot à installer avec pip bien sûr 😉

# Python découvrir blender

Découvrez python dans le domaine de la modélisation 3D cette fois.

# Rappel : le modèle OSI

Actualité :

Les top articles du blog de la semaine dernière :

[Tips] : convertir le résultat d’une commande en image png

Petite astuce en une ligne une fois de plus. Comment récupérer le résultat d’une commande pour en faire une image ?

Convert répond à cette question sans difficulté.

Pour cela il faut installer le paquet imagemagick.

sudo apt-get install imagemagick

#exemple avec ifconfig
convert label:"$(ifconfig)" mesips.png

Ce qui est bien c’est que l’image est directement de la bonne taille. Si vous regardez dans le man de convert, vous pourrez trouver une multitude d’option qui permet de créer des images pour faire plein de choses. On y reviendra surement car j’ai deux trois idées dans la tête.

Top commandes linux #6 : bash framework, ffmpeg, column, Vim, PL/SQL

# column

Remplacer les points virgules par des tabulation en mode colonne

column -t -s ';' fichier.csv

# yes

Approuver toutes les question d’une commande

yes | rm toto.txt

# Vim

encryption symétrique avec Vim

:X

# tig

outil visuel pour suivre votre branche git

sudo apt-get install tig
tig

# ffmpeg

Splitter un mp3 pour ne conserver que de 1 minute à 2 minutes (une plage de temps)

ffmpeg -i fichier.mp3 -ss 00:01:00 -to 00:02:00 -c copy nouveau_fichier.mp3

# Bash : framework

Découvrez le framework bash nommé infinity.

# PLSQL : top recommandation

Quelques conseils Oracle sur le PLSQL en vidéo.

Top commandes linux #5 : vim, apropos, glances, gs, nl, sed /pattern/, timeout

Un rendez-vous que je vous donne chaque lundi pour découvrir des commandes. Pas de grandes formalités dans ces articles, juste des commandes souvent sur une ligne façon oneliner. Vous pouvez retrouver facilement les précédentes éditions des top commandes sur cette page.

# Vim : remplacement sur un range de lignes

:10,30s/";"/","/g

# Bash : apropos pour trouver les commandes similaires

:~$ apropos grep
grep-aptavail (1)    - Rechercher dans des fichiers de contrôle Debian
grep-available (1)   - Rechercher dans des fichiers de contrôle Debian
grep-dctrl (1)       - Rechercher dans des fichiers de contrôle Debian
grep-debtags (1)     - Rechercher dans des fichiers de contrôle Debian
grep-excuses (1)     - Rechercher les fichiers d'excuses pour testing d'un responsable
grep-status (1)      - Rechercher dans des fichiers de contrôle Debian
...

# Bash inverser un contenu

echo "salut" | rev
tulas

# GS : convertir un pdf en png

for f in *.pdf; do gs -dNOPAUSE -dBATCH -sDEVICE=png16m -sOutputFile="${f%.pdf}/${f%.pdf}%d.png" -r700x600 "$f" ;done

# Sed

Sélectionner des lignes à partir d’un pattern.

sed -n "/pattern/p" fichier

# NL

Afficher le numéro de ligne comme dans un cat option -n

nl fichier.txt

# Timeout

Lancer un timeout sur une commande au bout d’un certain laps de temps

timeout 30m ma_commande

# Glances
Découvrez Glances dans un bon article du blog geek mon petit nuage.

Et enfin les articles qui ont cartonnés sur le blog au cours de la semaine dernière :

Top commandes linux #4 : bash, factoriel, cut, md5sum, derniers arguments, dcfldd

Chaque semaine je vous propose de faire une liste de commandes qui peuvent sembler utiles. Ne manquez pas ce rendez-vous. Vous pouvez dans tous les cas consulter les précédents ici.

# Bash : me rappeler de quitter la session dans 15  min

leave +15

# Bash : calculer le factoriel de N (N! sur votre calculette

N=4;echo $(($(seq -s* $N)))

# DNS : trouvé l’ip externe d’une entrée DNS

dig +short url

#Cut : récupérer les X premiers caractères d’une ligne

 cut -c 1-X

#MD5 : générer rapidement un mot de passe

echo -n "password" | md5sum -

# Bash : récupérer les arguements de la commande précédente

!* : tous les arguments
!^ : le premier argument
!$ : le dernier argument

# Bash : lister votre ip primaire

ifconfig $(route -n |awk '/0[.]0[.]0[.]0/{print $NF;exit}') | awk '/inet/{print $2}'

#Linux : binaire dcfldd pour suivre un DD en live

Découvrez ce petit binaire qui permet de voir l’avancement d’un DD.

Enfin le top des articles de la semaine :

Top commandes linux #3 : vim, python, wireshark, docker, port finder, mysql

# Vim

utiliser la touche pourcentage % sur {,[ ou ( et votre flèche haut ou bas. Idem pour les ), ] ou }

# Python

comment faire l’équivalent de grep -R ?

# Wireshark

éplucher les log wireshark derrière un ssh

wireshark -k -i <(ssh -l root servername \
"dumpcap -P -w - -f 'not tcp port 22'")

# Docker

supprimer les images exited et leurs volumes

docker system prune --volumes -f

# Find

Trouver un texte dans un fichier sur une machine

find / -type f -exec grep -H "texte" {} \;

#Port finder

Trouver pour un port donné le process qui l’utilise et le binaire qui va avec. Avec ce script shell très simple. Pourquoi pas le mettre dans une fonction de votre .bashrc

# MySQL

Synthèse des principales commandes mysql et sql.

Top commandes linux #2 :lftp, sqlite/firefox, convert, liste ports/services, BMon

C’est lundi et c’est le jour de l’article des commandes linux un peu en vrac. N’hésitez à faire suivre et retweeter. Et vous quelles sont vos commandes du moment ?

# Calendrier commentés par des évènements

calendar

# Pour tout connaitre sur les wildcards linux
https://www.defensecode.com/public/DefenseCode_Unix_WildCards_Gone_Wild.txt
# tester votre débit internet

lftp -e 'pget https://google.com;exit;'

# Récupérer les cookies de Firefox sur la base sqlite

echo "
.mode tabs select host, case when host glob '.*' then
'TRUE' else 'FALSE' end,
path, case when isSecure then
'TRUE' else 'FALSE' end,
expiry, name, value from moz_cookies;
" | sqlite3 ~/.mozilla/firefox/*.default/cookies.sqlite

# Générer 100 images avec convert

for i in {1..100}; do \
convert -size 200x200 xc:#000000 -font Arial \
-pointsize 22 -fill white -gravity center \
-draw "text 0,0 '$i'" $i.png; \
done

# Liste des ports et services Linux

cat /etc/services

#consultatble aussi via
getent services ssh

# Supprimer les fichiers dupliqués dans un répertoire

 md5sum * | sort | rev | uniq -df1 | rev | cut -d" " -f3 | xargs rm

# Découverte de BMon
Et en bonus un article de mon petit nuage qui fait une belle présentation de l’outils BMon permettant la surveillance de bande passante : lien