linux:ligne_de_commande
Ceci est une ancienne révision du document !
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
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" </code-bash> == 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. <code bash> rsync -av --progress --inplace --rsh='ssh -p443' sourceDir/ utilisateur@hote:destDir
Tester un serveur STMP en ligne de commande
Michal Ludvig a écrit un 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
linux/ligne_de_commande.1413884525.txt.gz · Dernière modification : 2014/10/21 09:42 de bruno