J’utilise une distribution Ubuntu avec Xfce comme environnement graphique
et bash
comme shell, mais ce n’a sans doute pas trop d’influence
sur ce qui suit.
Connaitre de nombre de CPU
$ cpus=$(getconf _NPROCESSORS_ONLN)
Connaitre son adresse IP (interne)
$ /sbin/ifconfig
et trouver inet adr:
dans la section eth0
.
Parallélisation
Voir GNUparallel
Convertir l’encodage
Pour passer de latin1
à utf8
on fait par exemple :
iconv -f latin1 -t utf8 fichier1 > fichier2
Ca peut aussi être utile de le faire dans l’autre sens,
pour utiliser a2ps
par exemple :
$ iconv -f utf8 -t latin1 f.t2t \
| a2ps -o f.pdf -1 --no-header --right-footer="%a" \
--left-title=%F --center-title="Mon titre" --right-title='$p./$p#'
Pour formater les titres, voir Meta sequences dans la doc.
Montage manuel d’une clé USB
Il arrive parfois que les clés USB ne se montent pas automatiquement. Dans ce cas :
$ ll /dev/sd*
permet avec la date de retrouver le bon.
Pour le monter :
$ sudo mount /dev/sdb1 /media/cleusb
ou parfois il demande le type :
$ sudo mount /dev/sdb1 /media/cleusb -t vfat
Attention, il faut que le point de montage existe. Eventuellement le créer :
$ sudo mkdir /media/cleusb
$ sudo chmod 777 /media/cleusb
Puis, pour terminer proprement :
$ sudo umount /media/cleusb/
Scripts pour extraire des lignes d’un fichier
On sait que head
permet de voir les premières lignes d’un fichier,
et tail
les dernières, mais il peut être pratique de voir :
- une ligne quelconque à partir de son numéro, et d’y ajouter un peu de contexte si besoin. C’est ce que fait ce script.
- un intervalle de lignes entre deux numéros. C’est ce que fait ce script.
Par exemple :
$ ctxline -b 3 -a 5 f.c 10
montre la ligne 10 de f.c avec 2 lignes avant et 5 lignes après.
Les options -b
(before) et ``-a (after) sont optionnelles.
Par défaut, seule la ligne spécifiée est montrée.
$ showlines f.c 10-20
montre les lignes 10 à 20 (comprises) de f.c
.
Notification
On lance parfois une commande qui prend beaucoup de temps… et on oublie
d’aller voir quand c’est fini. Avec zenity
, on peut par exemple faire :
$ ma_commande_qui_prend_longtemps ; zenity --notification --text "Commande terminée"
Ainsi, on peut aller faire autre chose dans un autre terminal et être prévenu quand c’est fini.
Voir aussi cette note au sujet de zenity
.
Xmodmap : changer une touche du clavier
Il y a des touches que je n’utilise vraiment jamais, sauf par mégarde… Autant les redéfinir ! Pour voir la configuration actuelle :
$ xmodmap -pke
Pour connaître le keycode
d’une touche, utiliser la commande xev
.
Pour connaître les keysyms
que l’on peut associer à une touche,
voir le fichier :
$ vim /usr/include/X11/keysymdef.h
(ôter le préfixe XK_ pour obtenir le nom à utiliser).
Pour redéfinir une touche,
éditer le fichier .xmodmap
(le créer s’il n’existe pas),
et ajouter une ligne pour associer un keysym à un keycode, comme par exemple :
keycode 49 = Escape
On peut aussi avoir plusieurs keysym pour un keycode, comme par exemple :
keycode 31 = i I icircumflex Icircumflex
Les keysym correspondent respectivement à
touche
, Shift+touche
, AltGr+touche
et Shift + AltGr+touche
.
Pour charger le fichier :
$ xmodmap .xmodmaprc
Pour avoir plus d’information :
$ man xmodmap
Et hop !
Màj 2019-07-04 : le fichier automatiquement chargé par Xfce est .Xmodmap
,
il faut donc renommer .xmodmap
en .Xmodmap
pour qu’il soit pris en compte.
Génération de mot de passe
J’ai bien cru que je ne (re)trouverais jamais une petite commande toute simple,
non intégrée dans une usine à gaz… Finalement, je ne sais plus si c’est
celle-là que je connaissais, mais c’est exactement ce que je cherchais :
pwgen
.
Il y a même une option (-y
ou --symbols
)
pour intégrer des caractères spéciaux.
rehash
sous bash
La commande rehash
n’existe pas sous bash
.
Mais il ne faut pas croire les gens qui disent
que c’est parce qu’elle ne sert à rien !
car voilà ce qui m’est arrivé l’autre jour :
$ which make
/usr/local/bin/make
$ make --version
GNU Make 3.80
$ /usr/local/bin/make --version
GNU Make 3.81
En fait, en cas de besoin, on peut utiliser hash -r
,
et on peut aussi utiliser cette commande pour faire plus de choses :
hash [-r] [-p fichier] [nom]
Pour chaque nom fourni, le chemin d'accès complet de la commande
est déterminé, en examinant les répertoires de $PATH et mémorisé.
Si l'option -p est fournie, aucune recherche de chemin d'accès n'a lieu,
et le fichier est utilisé comme chemin complet pour la commande.
L'option -r force le shell à oublier tous les emplacements mémorisés.
Sans arguments, hash affiche des informations sur les commandes mémorisées.
Voir aussi :
- Disque dur externe
- Emoticônes et autre binettes
- Garder son PATH dans une commande sudo
- Scripts en ocaml
- Vérifier l'intégrité d'un fichier téléchargé
- Bash : faire un menu
- Problème de boot
- Zenity : des fenêtres pour les scripts
- (X)ubuntu : mise à niveau vers la 14.04
- Xubuntu: connexion automatique
- Perl pour faire des scripts efficaces
- Apt-get et autres pour la gestion de paquets Debian
- Bash sur la ligne de commande
- Bash : pour écrire des scripts
- Vim : le meilleur éditeur du monde
- Filtrage de texte : sed, awk, etc.
- Les couleurs dans un terminal
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit