Vous avez beaucoup de données (des fichiers logs par exemple), et vous souhaiteriez connaître les lignes qui reviennent le plus fréquemment. `Unix Power Tools' http://www.oreilly.com/catalog/upt/ vous recommande d'utiliser la séquence sort-uniq-c-sort-n qui comptera les différents éléments. Conjuguez ceci avec des 'cut', 'sed' ou 'tr' adéquats qui simplifieront l'entrée standard. - La distribution des mots dans le dico: $ cat french.dict | cut -c-1 | sort | uniq -c | sort -n - Les messages d\'erreurs du serveur web: # cat
(…)
vous connaissez
:!
pour executer une commande shell, avec
:r!
le resultat de la commande s'insère dans votre texte
exemple :
:r!ls
vous donne la liste des fichiers
Lorsque votre curseur est sur un mot ( en mode normal ), taper * pour rechercher le mot plus bas ou # pour chercher plus haut. C'est respectivement equivalent a / et ?
Pour passer un texte en minuscules il suffit de faire gu{deplacement} et en majuscule gU{deplacement}, ainsi pour passer un mot en miniscule, utilisez la commande guw
pour inverser la casse d'une lettre entrez ~,
cela permet donc de passer de minuscule a majuscule et inversement
cdpath est une variable qui permet d\'éviter de taper des chemins complets pour la commande cd.
En effet, quand on tape cd chemin, cd va chercher le chemin à partir du dit cdpath, s\'il ne trouve rien dans le répertoire courant.
Ainsi, si j\'ai :
export CDPATH=~:/usr/local/src
/usr/src/linux/ $ cd mozilla
Je me retrouve bien dans les sources de mozilla.
Par contre, la complétion ne marche pas :-(
la commande :set list permet d'afficher ^I a la place des tabulations et un $ a la fin des lignes, très pratique pour les Makefiles ou les fichiers entetes en langage C. pour faire disparaitre tout ca, :set nolist
Faire une sauvegarde c'est important, on en prend conscience surtout après un crash ! ;o) Pour faire un backup et pouvoir le restaurer dans toutes conditions, y compris avec un Linux très minimal (comme un Linux sur disquette) vous n'avez besoin que de tar et gzip. Pour faire votre backup, faites un "cd" là où vous avez un peu de place (environ 2/3 de la place totale prise par votre système devrait suffire) et tapez: tar -czpvf foo.tgz /foo/ où
(…)
Vous êtes coincés, votre MBR est tout cassé et donc vous n'avez plus de lilo pour démarrer ? Procurez-vous une disquette de démarrage de Linux (ou un des micro-Linux), ou bien tout simplement demolinux ou encore le cd d'install des dernières distrib et dès que vous pouvez vous logger, montez votre partion root: mnt /dev/hda1 /mnt/disk/ -t ext2 (ou hda1 est la partion root) puis tapez: lilo -t -v -C /mnt/disk/etc/lilo.conf si tout va bien tapez la meme chose sans
(…)
Placez le curseur sur un nombre, Ctrl-A et hop il est incrémenté de un, Ctrl-X et il est décrémenté de un. Bien pratique lors de copier-coller sauvages.
T'as un répertoire avec pleins d'images, et tu
veux les renommer du genre 1.jpg, 2.jpg, etc. Ben
voilà la solution :
> cd ton_répertoire
> ls -A | awk 'BEGIN{n=1}
{system("mv "$1" "n".jpg");n=n+1}'
On peut faire du hot plug avec un rack ide sous Linux, à condition de ne pas avoir peur de griller son matos. De nombreux disques IDE modernes sont hot-plug, mais les controlleurs le sont très rarement. Mais normalement avec cette astuce le disque étant en veille (=presque éteint) vous ne devriez pas risquer sa vie. Le controlleur par contre je ne le garantie pas ! L'OS le fait, et même si cela n'est pas conseillé (par les gars du
(…)
Pour supprimer tous les "frozen e-mails" de la file d'attente d'Exim, une simple ligne de commande suffit:
gawk --posix 'BEGIN{foo=("exim -bp");while((foo|getline)>0)if(/[[:digit:]]+(m|h|d)\ +[[:digit:]]+(\.[[:digit:]])?(K|M) .{6}-.{6}-.{2} <.> \*{3} frozen \*{3}$/){system("exim -Mrm "$3)}close(foo)}'
On ouvre souvent une fenêtre par fichier dans une même session.
Pour pourvoir travailler dans un répertoire différent dans chaque fenêtre:
:lcd %:p:h
Pour recompiler un paquet debian, il suffit de faire :
apt-get -b source
puis
dpkg -i
Si la construction du paquet échoue du fait du manque de certains fichiers include voir de bibliothèque, il suffit de faire :
apt-get build-deps
pour que les paquets manquants soit installé.
Ceci permet notamment de faire des backports.
Quelque chose de très pratique si votre machine se freeze pour une raison ou pour une autre.
Lors de la compilation du noyau, activez l'option "Magic SysRq Key". Lorsque le système sera bloqué il vous suffira de faire
Alt+Syst+S (Sync des disques)
Alt+Syst+I (Kill processus)
Alt+Syst+U (Remontage partitions en read-only)
Alt+Syst+B (Reboot)
La touche "Syst" est la sur la touche "Impr. Ecran" (sur les claviers AT du moins)
Vous voudriez bien vous loguer à distance en mode graphique sur votre machine ? Pour ce faire, installez un merveilleux logiciel nommé vnc et lancez sur celle-ci vncserver. Cela crée un serveur X bidon sur lequel est lancée votre session. Puis, sur la machine distante, lancez xvncviewer monserveur:1 et vous serez comme chez vous. Si vous fermez la fenêtre sans vous déloguer, il est possible de retrouver la session en l'état plus tard. Il est également possible de l'utiliser avec
(…)
Pour vous loguer facilement et en toute sécurité sur une machine distante, deux étapes suffisent : - Sur votre machine, faites ssh-keygen. Si vous avez confiance dans la machine (et dans root), vous pouvez laisser la passphrase vide. - Copiez le contenu du fichier ~/.ssh/identity.pub dans un fichier nommé ~/.ssh/authorized_keys sur la machine distante. Si vous avez opté pour une passphrase, il vous faudra lancer ssh-agent à chaque login (je vous recommande la lecture de la page de man). Sinon,
(…)
Changer un terme apparaissant fréquemment dans un fichier texte en un autre, c'est très simple avec sed, il suffit de lancer la commande cat fichier | sed s/"mot_ancien"/"mot_nouveau"/g > fichier De meme il est simple de supprimer certains termes assez rapidement en lançant, cette fois, cat fichier | sed /"mot_a_virer"/d > fichier. Mieux, on peut se servir des expression regulières, par exemple, en lançant cat fichier | sed /^$/d > fichier pour supprimer dans le fichier les lignes blanches.
Avec Emacs, rien de plus simple que de faire ce type de recherche : il suffit de lancer la commande de recherche (C-g), de modifier la ligne pour avoir quelque chose comme ceci
grep -n -r "expression" *; cette commande recherchera "expression" dans tout les fichiers contenu dans le dossier (et de manière récursive dans les sous dossiers) en proposant dans une nouvelle frame les résultats, qui, lorsqu'on passe la souris et on appuye sur la touche entrée sur
(…)
Il suffit de lancer la commande find /dossier \( -name "type_de_fichier" -or -name "autre_type" \) -exec rm -rfv {} \; En utilisant crond, on peut ainsi nettoyer régulièrement son disque en otant des core ou backups obsolètes.
Pour que l'éditions de choses diverses comme le changelog de CVS, édition de crontab et joyeusetés du genre se fassent dans votre éditeur favori, il faut définir la variable de session EDITOR. De manière temporaire en tapant
export EDITOR="emacs" ou de manière plus définitive en ajoutant la variable
EDITOR="emacs" dans votre .bash_profile et en n'oubliant pas de rajouter dans la ligne
exportla variable EDITOR. Il existe une multitude d'autres variables du type qui ne demande qu'à être définies pour
(…)
Si vous bidouillez un peu trop votre Linux et qu'à un moment il "freeze" et que même CTRL-ALT-SUPPR ne le ranime pas, n'appuyez surtout pas le bouton reset de votre ordi car ça implique un fsck au prochain démarrage.
Essayer d'abord les contrôles systèmes dans l'ordre suivant :
Alt-SysRq-S (met le swap sur disque)
Alt-SysRq-U (remonte tout en readonly)
Alt-SysRq-B (reboot)
Et adieu le check forced :)
Plus d'infos dans /usr/src/linux/Documentation/sysrq.txt
Le format d'un paquet Debian peut se lire depuis n'importe quel *nix même sans avoir dpkg ou avoir à l'installer. Le paquet est lisible avec « ar », l'archiveur historique d'Unix.
On peut extraire ainsi facilement le tarball d'un paquet Debian sans difficulté
man ar pour en savoir plus bien sûr.
Pour copier la sélection dans la fenêtre active, il suffit de taper :
Shift+Insert