Article tagué CLI
Les 100 commandes Vim indispensables à ta (sur)vie.
27/11/11

Vi (ou Vim, au choix), est incontestablement l’éditeur de texte le plus abouti et accessoirement le meilleur atout de tout programmeur (ou simplement de toute personne se voulant productive lorsqu’elle travaille avec du texte). Toutefois, force est de constater que la cheat sheet (ou feuille de triche) se révèle être une alliée de choix dans l’exercice quotidien.
En bon prince que je suis, je vais donc arrêter de troller (c’était juste pour faire râler les utilisateurs d’Emacs) et vous donner un petit lien qui vous montrera (si vous n’êtes pas convaincu) à quel point cette petite perle datant des seventies peut se révéler diablement efficace.
P.S : Inutile de fermer ton gEdit, t’es grillé. P’tit joueur va ! ![]()
Comment ne pas laisser de traces dans un shell…
28/10/11

Pour une raison ou une autre, il peut être intéressant de ne pas faire figurer certaines commandes dans l’historique d’un shell.
Plutôt que de favoriser la manière forte (en vidant .bash_history par exemple), je vous propose la méthode méticuleuse. Ouvrez une console et voyez plutôt…
Les touches fléchées Haut et Bas de votre clavier vous permettent de remonter dans l’historique des commandes exécutées. Admettons que vous souhaitez laisser sous silence certaines commandes futures, comment s’y prendre ?
Lancez votre éditeur de texte préféré (vim ? Excellent choix), et rajoutez cette ligne à votre .bashrc :
export HISTIGNORE="[ t]*"
HISTIGNORE vous permet de ne pas enregistrer certaines commandes. Ici, ne seront pas enregistrées les commandes précédées d'un espace. Après avoir enregistré les modifications apportées à .bashrc, essayez n'importe quelle commande. Elles apparaîtront dans l'historique.
Essayez à nouveau en laissant un espace juste avant votre commande. Elles ne seront pas enregistrées !
Maintenant, ouvrez votre .bash_history en mode "Stealth", puis supprimez la commande d'édition du .bashrc.
Toujours en mode "Stealth", ouvrez .bashrc, puis supprimez le HISTIGNORE.
Aucune trace... c'est pas beau ça ? (enfin, aucune trace dans le shell, entendons-nous bien...
)
Désactiver les bips système sous Linux/BSD.
2/03/11

Les bips système, c’est geek, c’est chouette, mais ça peut vite devenir importunant lorsque l’on est pas seul. Pour le désactiver :
- GNU/Linux
# modprobe -r pcspkr# echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist.conf/!\ N.B : Ne pas inscrire rmmod pcspkr dans /etc/rc.local comme l’indiquent certains sites. C’est un peu crade…
- BSD
# sysctl hw.syscons.bell=0# echo "hw.syscons.bell=0" >> /etc/sysctl.conf
System bell is geek, nice, but it may be quite disturbing when you’re not alone. To turn it off :
- GNU/Linux
# modprobe -r pcspkr# echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist.conf/!\ N.B : Do not write rmmod pcspkr into /etc/rc.local as are advising some websites. It’s a bit dirty…
- BSD
# sysctl hw.syscons.bell=0# echo "hw.syscons.bell=0" >> /etc/sysctl.conf
Awesome WM et xset
4/12/10
Quand on utilise un WM autre que Gnome ou KDE, on dit au revoir aux GUI (pas souvent intuitives, ou alors vraiment inutiles) pour commencer à utiliser son terminal à bon escient.
Dans mon cas, je suis devenu utilisateur de awesome WM, un tiling WM vraiment sympathique. (il sera l’objet d’un article)
Sa configuration, écrite en LUA, permet d’exécuter des commandes systèmes lors de son démarrage. (un peu à la façon de .Xinitrc, .Xsession, ou du fichier startup de Fluxbox)
Le problème que j’ai rencontré, c’est la mise en veille de mon écran…lors de la lecture d’une vidéo. La solution, c’est d’utiliser xset. Comme je suis méchant, je désactive tout.
xset s off dpms 0 0 0
Second problème (cf. xset q), c’est que lorsque vous vous déconnectez, la configuration d’xset se réinitialise. Dans mon cas, il suffit d’ajouter une ligne au rc.lua d’awesome WM.
-- {{{ Désactiver l'écran de veille
os.execute("xset s off dpms 0 0 0 &")
-- }}}
When we’re using a WM other than Gnome or KDE, we say « bye » to GUI (not often intuitive, or really useless) to start using our terminal wisely.
In my case, I became a user of awesome WM, a tiling WM really nice. (It’ll be the subject of an article) Its configuration, written in LUA, permits to execute system commands when it starts. (like .Xinitrc, .Xsession, or the startup file of Fluxbox)
I met a problem : my screen turned off when I was playing a video. The solution is using xset. And as I’m a bad guy, I turned off all that stuff !
xset s off dpms 0 0 0
Problem #2 (cf. xset q). When you log out, you lose out. (and « When you buy more, you save more »)
xset configuration is reset. In my case, you just have to add a line into rc.lua of awesome WM.
-- {{{ Turn off standby.
os.execute("xset s off dpms 0 0 0 &")
-- }}}
La commande « at » | The « at » command
10/05/10

La commande at est très pratique pour exécuter une commande ou un script une fois, à un moment donné. (On utilisera crontab pour les commandes répétées)
Voyons comment elle peut être utilisée. (même dans une situation comique o()o)
Script simple :
at 12:30
at> mon_script.sh
at> [Ctrl-D] <EOT>
Le script sera exécuté à 12h30. (Lisez le man pour les différentes indications horaires possibles)
Affichage graphique :
Si votre script requiert votre écran (application graphique, conky, etc…), il y a une commande à ajouter :
at now + 1 minute
at> export DISPLAY=:0.0
at> zenity --info --text "N'oublie pas ton RDV ! "
at> [Ctrl-D] <EOT>

Eh oui ! C’est un pense-bête !
@+ ![]()
The at command is very practical to execute a command or a script, at a determined moment. (We’ll use crontab for repetitve commands)
Let’s look how can it be used : (even in a comical situation o()o)
Simple script :
at 12:30
at> mon_script.sh
at> [Ctrl-D] <EOT>
The script will be executed at 12h30. (Read the manfor various indications hours available )
If your script require your screen (graphical application, conky, etc…), there’s a command to add :
Graphical display :
at> export DISPLAY=:0.0
at> zenity --info --text "Don't forget your appointment ! "
at> [Ctrl-D] <EOT>

Yes ! It’s a reminder !
See you later ! ![]()
Régler la date et l’heure en ligne de commande
1/05/10
![]()
Pour certaines raisons, régler la date et l’heure du système en ligne de commande peut être utile. (c’est rapide, facile, c’est mieux mec !)
En effet j’ai été surpris de voir en allumant mon laptop que l’heure était erronée. La commande date m’a sauvé.
# date MMJJhhmmAAAA
- MM : Mois
- JJ : Jour
- hh : Heures
- mm : Minutes
- AAAA : Année
Pour ensuite enregistrer la date :
/etc/init.d/hwclock.sh reload
Et pour vérifier si tout est ok :
/etc/init.d/hwclock.sh show
Fini ! ![]()
For some reasons, set up date et time of the system with CLI can be useful. (it's quick, easy, it's better man !)
Indeed, I was been surprised to see by turning on my laptop the time was wrong. The date command saved me.
# date MMDDhhmmAAAA
- MM : Month
- DD : Day
- hh : Hours
- mm : Minutes
- YYYY : Year
Now, to save the system clock :
/etc/init.d/hwclock.sh reload
To finish, to check if all is ok :
/etc/init.d/hwclock.sh show
Done ! ![]()
Cnetworkmanager : NetworkManager en ligne de commande | CLI for NetworkManager
13/03/10
Si vous utilisez le Wi-Fi, il peut être utile de se connecter à un réseau sans fil facilement en ligne de commande. (par exemple dans un tty) Il est possible de le faire avec cnetworkmanager, qui permet d’utiliser NetworkManager en ligne de commande.
Pour l’installer, rien de plus simple (apt sur une Debian/Debian-like) :
# yum install cnetworkmanager
Installé, vous pouvez l’utiliser. (Attention. Pour se connecter à un réseau, l’applet GNOME NetworkManager doit être désactivé.) Il n’y a pas de manuel pour ce programme, mais vous pouvez retrouver toutes les options avec cette commande.
$ cnetworkmanager -h
Vous pouvez afficher tous les réseaux disponibles avec cette commande :
$ cnetworkmanager --ap-list
Active | HwAddress | Ssid
-------+-------------------+--------------------
| 00:17:33:A9:B5:E9 | NEUF_B5E8
| 00:16:38:84:28:F8 | TECOM-AH4222-8428ED
| 00:19:7D:AD:84:00 | Livebox-22D8
| 00:25:15:2D:CA:8D | NEUF_CA8C
| 00:19:7D:AD:84:00 | Livebox-22D8
* | 00:1D:19:CE:AF:BA | DartyBox_9B57
| 00:17:33:A9:B5:F0 | Neuf WiFi
| 00:17:33:A9:B5:E9 | NEUF_B5E8
| 00:1D:6A:5A:7B:62 | Livebox-3d58
| 00:25:15:2D:CA:94 | Neuf WiFi
| 00:25:15:2D:CA:8D | NEUF_CA8C
| 00:13:10:27:E8:76 | zatinet
| 00:03:C9:71:50:B7 | Wanadoo_de49
| 00:16:41:F1
2:8D | Livebox-ec8c
| 00:1E:37:AD:7A:C8 | Livebox-736d
| 06:1D:19:CE:AF:BA | DartyBox_9B57_WEP
| 00:16:38:84:28:F8 | TECOM-AH4222-8428ED
Essayons de nous connecter à un réseau protégé par une clé WPA :
$ cnetworkmanager -C NetBox-WXYZ --wpa-pass=123456789
Si vous voyez affiché CONNECTED, vous êtes connecté au réseau sans fil. Faîtes Ctrl-Z pour passer cnetworkmanager en tâche de fond, et c’est terminé. 
Astuce :
Entrer votre clé WPA ou votre clé WEP (changez ça de suite) n’est pas souvent chose facile. Vous pouvez ajouter vos clés dans des variables à l’intérieur de votre .bashrc :
# Clésnetbox=123456789
Ainsi :
$ cnetworkmanager -C NetBox-WXYZ --wpa-pass=$netbox
Note :Vous pouvez aussi vous référer à la page de documentation de Fedora-fr concernant Cnetworkmanager.
If you’re using Wi-Fi, it can be useful to connect to a wireless network easily. (for instance in a tty). It is possible to do that with cnetworkmanager, which permits to use NetworkManager with a CLI.
To install (apt on a Debian/Debian-like) :
# yum install cnetworkmanager
You can display all wireless networks available with this command.
Let’s try to connect us to a wireless network protected by a WPA key :
$ cnetworkmanager -C NetBox-WXYZ --wpa-pass=123456789
If you see displayed CONNECTED, you’re connected to the wireless network. Do Ctrl-Z to put cnetworkmanager in background process, and it’s done. 
Tip : Entering your WPA key or your WEP key (change it now) is not always easy. You can add your keys into variables into your .bashrc :
# Keysnetbox=123456789
Then :
$ cnetworkmanager -C NetBox-WXYZ --wpa-pass=$netbox
Tweeter depuis la ligne de commande | Tweetering from CLI
7/01/10

Je suis de retour après une longue absence ! Tout d’abord, je vous souhaite une bonne année 2010 ! (Elle sera pleine de nouvelles technologies, c’est sûr !)
Maintenant, je vous propose une astuce sympa pour tweeter entre 2 lignes de codes.
Pour cela, il vous suffit de faire un script bash très court. Dans cet exemple, ce sera twit.sh.
#!/bin/sh
user="Kenshin__"pass="password"curl="/usr/bin/curl"
$curl --basic --user "$user:$pass" --data-ascii \ "status=`echo $@ | tr ' ' '+'`" \ "http://twitter.com/statuses/update.xml" >& /dev/null
exit 0
Ensuite, on définit un alias dans le .bashrc de l’utilisateur local.
alias twit='sh twit.sh'
Pour essayer :
twit Test de tweet depuis la CLI
@llez @+ les Tweeteurs !
Merci à Dave Taylor pour l’astuce.
I’m back after a long absence ! First, I wish you a happy new year 2010 ! (A year full of new technologies, for sure !)
Now, I purpose you a nice tip to tweet between 2 lines of code. 
To do that, just make a short bash script.
#!/bin/sh
user="Kenshin__"pass="password"curl="/usr/bin/curl"
$curl --basic --user "$user:$pass" --data-ascii \ "status=`echo $@ | tr ' ' '+'`" \ "http://twitter.com/statuses/update.xml" >& /dev/null
exit 0
Then, we define an alias in local user’s .bashrc.
alias twit='sh twit.sh'
To try :
twit Tweet test from CLI
Bye Tweeters !
Thanks to Dave Taylor for the tip.
Bash skills / Formater sa clé USB
26/01/09
Un problème avec votre Clé USB ? Vous souhaitez la formater ? Faîtes le comme un vrai Geek ! Let’s go, ouvrez un terminal et suivez les étapes 
# fdisk -l
# fdisk /dev/sdc (à adapter en fonction du nom de la clé. (sdb, sdc...)Commande : d (efface les partitions)Commande : n (nouvelle partition)Commande : p (partition primaire, n° 1)Commande : t (pour changer le files system)Commande : b (pour Fat 32)Commande : w (pour enregister)# mkfs.vfat /dev/sdc1
Fini ! C’est rapide, simple, quoi d’autre ? 
A problem with your USB Key ? You wish format it ? Do it like a true Geek ! Let’s go, open a shell (bash) and follow the steps. 
# fdisk -l
# fdisk /dev/sdc (or sdb, it depends. See in fdisk -l)Commande : d (delete partitions)Commande : n (new partition)Commande : p (primary partition, n° 1)Commande : t (to change the type of files system)Commande : b (for Fat 32)Commande : w (to write)# mkfs.vfat /dev/sdc1
Done ! It’s quick, easy, what else ? 
Correction de commande bash
18/07/08
Vous en avez assez des fautes de frappes qui font foirer vos commandes ? Bash a la solution. 
Par exemple, vous souhaitez voir le contenu de votre .conkyrc, vous faites malencontreusement :
cat .conkyrv
C’est ballot hein ? 
Il vous suffit de faire :
^v^c
Appuyez sur [Entrée] et voilà votre .conkyrc devant vos yeux ! La syntaxe à respecter est tout simplement :
^ancien^nouveau
C’est pas compliqué, c’est facile, utile. Que demander de plus ? 
Sur ce, @+, et que le Dieu Tux vous protège ! 






