====== Quelques exemples en ligne de commande ======
== Capture d'écran en ligne de commande sur un ordinateur distant ==
ssh utilisateur@nom-d-hote.com
sudo aptitude install imagemagick
export DISPLAY=":0.0"
import -window root copie-ecran.jpg
== Convertir un texte UTF-8 en ISO 8859-15 (Latin-9) ==
iconv -c -f utf8 -t latin-9 source.txt > destination.txt
[[http://www.gnu.org/software/libiconv/documentation/libiconv/iconv.1.html|Le manuel de la commande iconv sur le site de GNU]]
== Tester si un site web supporte le protocole HTTP/2 ==
curl -sI https://www.tlkgames.com/ -o/dev/null -w '%{http_version}\n'
== Nettoyer les noms des fichiers ==
L'utilitaire //detox// renomme les fichiers afin de les rendre plus facile à manier. Il supprime les espaces et tout autres nuisances.
sudo aptitude install detox
# Nettoie tous les noms des fichiers et force les caractères en minuscules
detox -s lower *
== Convertir un timestamp en date et vice versa ==
$ date -d "1970-01-01 UTC + 1238975700 seconds"
lundi 6 avril 2009, 01:55:00 (UTC+0200)
$ date -d 2009-01-01 +"%s"
1230764400
== Formater un disque du en système de fichiers ext4 ==
# pour trouver le disque utiliser la commande lshw
lshw -short
# Création du système de fichiers ext4 sur le disque
mkfs.ext4 /dev/sdc
# Lecture du UUID du disque nouvellement créé
ls -l /dev/disk/by-uuid/| grep sdc
lrwxrwxrwx 1 root root 10 2011-11-06 16:43 28d5b145-e34d-47cc-bb0a-68f1c5043b6a -> ../../sdc
vim /etc/fstab
# Reporter une ligne comme suit :
UUID=28d5b145-e34d-47cc-bb0a-68f1c5043b6a /mondisque ext4 relatime,extents 0 2
# monter le volume
mount -a
== Rechercher et remplacer une chaîne dans des fichiers avec les commandes find et sed ==
find . -iname "*.txt" -exec sed -i 's/motif1/motif2/g' {} \;
find . -regextype posix-extended -iregex ".*(\.tpl|\.php|\.xml)$" -exec sed -i 's/motif/motif2/g' {} \;
== Rechercher tous les fichiers modifiés dans les N derniers jours contenant une chaîne explicite dans leurs noms ==
find DIR -mtime -N -name "*TEXT*"
Par exemple :
find ~ -mtime -5 -name "*log*"
== Supprimer les premières lignes d'un fichier ==
Supprime les quarante première lignes d'un fichier :
sed -i '1,40d' fichier.txt
== Envoyer un message dans une fenêtre graphique ==
ssh utilisateur@nom-d-hote.com
export DISPLAY=":0.0"
notify-send -t 0 "J'ai quelque chose à te dire"
== Synchroniser des fichiers sur un ordinateur distant avec la commande rsync sur un port différent ==
La commande //rsync// utilise habituellement le protocole SSH sur port 22 pour une synchronisation distance.
Le numéro de port à utiliser peut être changé avec l'option //-rsh// qui spécifie l'interpréteur de commande distant à utiliser.
rsync -av --progress --inplace --rsh='ssh -p443' sourceDir/ utilisateur@hote:destDir
== Tester un serveur STMP en ligne de commande ==
[[http://www.logix.cz/|Michal Ludvig]] a écrit un [[http://www.logix.cz/michal/devel/smtp-cli/|script « smtp-cli »]] en langage Perl.
Le script n'est pas disponible en paquet Debian.
sudo aptitude install libio-socket-ssl-perl libio-socket-inet6-perl libmime-lite-perl libfile-type-perl libterm-readkey-perl libdigest-hmac-perl libfile-libmagic-perl
wget http://www.logix.cz/michal/devel/smtp-cli/smtp-cli
chmod +x smtp-cli
./smtp-cli --verbose --host=smtp.test.com --port=465 --enable-auth --user=testuser@test.com --pass=toto --auth-plain
== Tester un port UDP en ligne de commande ==
# nmap -p [port] -sU -P0 [nom d'hôte | adresse IP]
# Exemple test le port du serveur DNS de Google
sudo nmap -p 53 -sU -P0 8.8.8.8
Starting Nmap 5.00 ( http://nmap.org ) at 2010-06-16 16:26 CEST
Interesting ports on google-public-dns-a.google.com (8.8.8.8):
PORT STATE SERVICE
53/udp open|filtered domain
Nmap done: 1 IP address (1 host up) scanned in 2.57 seconds
== Cherche l'espace gâché sur le disque dur ==
sudo aptitude install git scons python3-sphinx python3-nose gettext build-essential libelf-dev libglib2.0-dev libblkid-dev libjson-glib-dev
git clone -b develop https://github.com/sahib/rmlint.git
cd rmlint
scons config
scons DEBUG=1 -j4
sudo scons DEBUG=1 --prefix=/opt/rmlint-2.1.0
== Récupérer et interpréter les spécifications du moniteur en utilisant le protocole VESA VBE DDC ==
sudo apt install read-edid
sudo get-edid | parse-edid
* [[http://tuxarena.blogspot.com/2009/12/10-useful-linux-commands.html|Dix commandes Linux utiles]]