====== 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]]