Catégories
Open-source Systeme

Pense-bête: lignes de commandes

Voici un nouvel article que je vais faire évoluer dans le temps au fil de mes découvertes. Le but est d’y centraliser (avec un classement par thème) les lignes de commandes Unix utiles et que j’ai toujours beaucoup de mal à retenir (c’est l’âge mon bon monsieur).

Lecteurs, vous êtes libre d’enrichir cette base avec vos commentaires.

Fichiers & répertoires

Affiche la taille d’un répertoire en octets.

Syntaxe:

[shell]

du -sh /mon/path | awk ‘{print $1}’

[/shell]

Exemple:

[shell]

du -sh /usr/local/ |awk ‘{print $1}’

375M

[/shell]

Système

Ajoute un dépôt PPA sous Ubuntu (9.04 ou supérieur).

Syntaxe:

[shell]

sudo add-apt-repository ppa:nicolargo

[/shell]

Exemple:

[shell]
gpg: requête de la clé CEC06767 du serveur hkp keyserver.ubuntu.com
gpg: clé CEC06767: clé publique « Launchpad Nicolargo PPA » importée
gpg: Quantité totale traitée: 1
gpg:               importée: 1  (RSA: 1)
[/shell]

Réseau

Affiche les informations sur sa carte réseau.

Syntaxe:

[shell]

sudo mii-tool -v

[/shell]

Exemple:

[shell]

eth0: negotiated 100baseTx-FD flow-control, link ok
product info: vendor 00:50:43, model 11 rev 1
basic mode:   autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

[/shell]

Affiche son adresse IP publique.

Syntaxe:

[shell]

curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"

[/shell]

Exemple:

[shell]

89.122.166.229

[/shell]

Affiche les ports réseau en écoute sur sa machine.

Syntaxe:

[shell]

sudo lsof -Pni4 | grep LISTEN

[/shell]

Exemple:

[shell]

sshd        912  root    3u  IPv4    4255      0t0  TCP *:22 (LISTEN)
netserver  1355  root    4u  IPv4    5747      0t0  TCP *:12865 (LISTEN)
ntop       1456  ntop    1u  IPv4    6080      0t0  TCP *:3000 (LISTEN)
master     1549  root   12u  IPv4    6175      0t0  TCP *:25 (LISTEN)
cupsd      1644  root    6u  IPv4  649219      0t0  TCP 127.0.0.1:631 (LISTEN)
beam.smp   2256  labo   16u  IPv4   11238      0t0  TCP 127.0.0.1:44732 (LISTEN)
dropbox   15432  labo   19u  IPv4  227846      0t0  TCP *:17500 (LISTEN)

[/shell]

Tester sa connectivité réseau de bout en bout avec mtr (ping+traceroute).

Syntaxe:

[shell]

mtr www.google.fr

[/shell]

Exemple:

Audio/video

Encoder un VOB DVD vers un OGG Theora en qualité correcte.

Syntaxe:

[shell]
ffmpeg2theora -V 900 -x 540 –first-pass log input.vob -o output.ogv</code>  <code>; ffmpeg2theora -V 900 -x 540 –second-pass log input.vob -o output.ogv
[/shell]

Exemple:

A vous de sheller…

Catégories
Musique Reseau Systeme

Backup de sa bibliothéque musicale avec rsync

Voici un petit shell script permettant, depuis Mac OS X, de synchroniser votre bibliothèque musical iTunes vers un disque dur externe au format FAT32.

Si en plus ce disque est réseau (NAS), ce script sera une première étape dans le partager de votre bibliothéque iTunes entres les différents ordinateurs de votre réseau local (je parle ici d’un VRAI partage avec play-lists, notes, suppression, modification…). Mais j’y reviendrai dans un prochain article…

Script:

[shell]
#!/bin/sh
SRC="/Users/nicolargo/Music/iTunes/"
DST="/Volumes/DDEXT/MUSIC/iTunes"
RSYNC="/usr/bin/rsync -a -x -S -v –modify-window=1 –delete"
$RSYNC $SRC $DST
[/shell]

Détail des variables:

SRC: Emplacement de votre bibliothèque iTunes (à modifier selon votre configuration). A noter, le / en fin de ligne.

DST: Chemin d’accès vers votre disque dur externe ou réseau (à modifier selon votre configuration). A noter, l’absence de / en fin de ligne.

RSYNC: chemin et option vers rsync avec:

  • –modify-window=1: si vous faite une synchronisation vers un disque FAT32, cette option est obligatoire (sinon les fichiers seront recopiés intégralement à chaque synchronisation…)
    Remarque: si vous utilisez un disque externe formaté en HFS, il faut utiliser l’option -E en lieu et place de –modify-window=1
  • -a: synchronise l’ensemble des fichiers, répertoires et sous-répertoire
  • -x: ne pas écraser les fichiers systèmes
  • -S: gère de manière efficace les fichiers fragmentés.
  • -v: affiche ce que rsync fait
  • –delete: efface du disque dur externe les fichiers inexistants de votre bibliothèque iTunes.