AIDE MEMOIRE POUR LINUX


INDEX

Principaux sujets traités
Disquette de boot
Nom de la machine
Commandes de base
Travaux sur les fichiers
grep
gawk
sed
Vos scripts
Compression des fichiers
Quelques utilitaires
Trucs et astuces
Aide et informations
Midnight Commander, le sauveur
MS-DOS
Internet et réseau
Supervision du système
X-Window
Mini distributions

DISQUETTE DE BOOT

Depuis le MSDOS, la création d'une disquette de boot peut se faire en relançant le programme d'installation et en choisissant "Mise à jour de Red Hat" par exemple.

Ou plus simplement depuis Linux (version Red Hat) :
mkbootdisk
Insérez une disquette dans le lecteur /dev/fd0 et lancez la commande :
mkbootdisk 2.2.5-15 ce chiffre étant la version de votre noyeau.

[début]


NOM DE LA MACHINE

Pour attribuer un nom à votre système, en étant superviseur, configurez les fichiers suivant.

etc/sysconfig/network mettez:
HOSTNAME=nommachine.ch

etc/hosts modifiez la ligne comme ci-dessous:
127.0.0.1 nommachine nommachine.ch

[début]


COMMANDES DE BASE

Arrêt du système

Ne pas arrêter votre système sans passer par les commandes suivantes, en étant l'utilisateur root

shutdown -h now arrêt du système
Ctrl Alt Del envoie un shutdown au système
halt arrêt du système

ATTENTION: Eteindre la machine après l'apparition du message :

The System is halted
Power down

shutdown -r now arrêt du système avec reboot
reboot relance le système


Session

login pour débuter une nouvelle session
logout ou exit ou Ctrl d pour terminer une session

passwd changement du mot de passe par l'utilisateur

Lancez vos programmes en tâche de fond en ajoutant & après le nom du prg.

pr xxx.txt formate la sortie du fichier avec la date, nom du fichier et no de page
pr -l 55 xxx.txt | lpr formate de sortie avec 55 lignes et imprime
lpr xxx.txt & cette impression se fait en tâche de fond et le système vous rend la main.


Les processus

ps affiche vos processus en cours ainsi que leurs PID (process id)
ps -a affiche tous les processus en cours.

kill 123 tue le processus 123(PID) selon ps. (seulement les vôtres)


Afficher le contenu des répertoires

dir affiche en ligne les noms des fichiers
ls affiche les fichiers du répertoire courant
ls /bin affiche les fichiers du répertoire /bin
ls .. affiche les fichiers du répertoire précédant
ls -l affiche le détail des fichiers
ls -s |more affiche le détail des fichiers avec arrêt par page
ls -l --color affiche le détail avec les noms en couleurs
ls -1 affiche un fichier par ligne. Seulement le nom.


Lancer des commandes (programmes)

commande lance une commande
commande & lance une commande en tâche de fond et redonne la main
cmd1; cmd2; cmd3 lance les commandes, l'une après l'autre
cmd1 && cmd2 lance cmd2 seulement si cmd1 réussi (AND)
cmd1 || cmd2 lance cmd2 seulement si cmd1 échoue (OR)


Définition des modes de protection d'un fichier

Lors d'un ls -l 10 caractères apparaissent au début de la ligne. Ils indiquent les droits d'accès du fichier ex: -rwxrw-r--

   - rwx rw- r-- définition des droits d'un fichier
   | |   |   +-- pour les autres     r=lecture w=écriture x=exécution -=aucun 
   | |   +------ pour le groupe      
   | +---------- pour l'utilisateur 
   +------------ type de fichier   

chmod changement du mode de protection
chmod ug+x xxx donne le droit d'exécution à l'utilisateur et groupe
chmod o-wx xxx supprime l'écriture et exécution aux autres
u = utilisateur g = groupe o = autres
Seul le propriétaire peut modifier les droits d'accès de ses fichiers ou le superviseur

Le changement des droits peut se faire avec une valeur octal. Chacun des groupes de trois caractères (utilisateur, groupe, autres) peut valoir de 0 à 7

chmod 766 xxx donne au fichier xxx la sécurité -rwxrw-rw-

Lors de la création d'un fichier, par exemple avec vi, les droits sont toujours identiques. Vous pouvez changez ces droits avec la commande chmod sur le fichier terminé.
Vous pouvez aussi utiliser la commande umask. Cette commande est un filtre qui sera placé pour votre session et chaque nouveau fichier aura les droits souhaités. Exemple :
umask affiche le filtre installé
umask 37 positionne le filtre avec 37 (en octal) exemple:

	normal		- rwx rw- r--
	umask 37	- --- -xx xxx
	résultat	- rwx r-- ---	
Une fois vos nouveaux fichiers créés, rien ne vous empêche de remettre une autre valeur de filtre avec umask pour continuer vos travaux.


Travail sur le contenu des fichiers

grep est un utilitaire de recherche d'une chaine de carcatères dans un ou plusieurs fichiers texte.
grep texte xxx affiche la ou les lignes qui contiennent le mot texte dans le fichier xxx

sort -t: +0 xxx trie le fichier xxx sur le 1er champs et affiche

cut -d: -f1,3 xxx extrait de xxx les champs 1 et 3 séparateur :

uniq xxx filtre les doublons dans le fichier xxx

split xxx -23 fich coupe le fichier xxx toute les 23 ème lignes

le résultat se trouvera dans plusieurs fichiers: fichaa, fichab, fichac...

gawk utilitaire très puissant pour extraire et traiter les données de vos bases de données.

Exemples :

gawk [options] 'script' var=val fichier
gawk -F" " '/BERN/ {print $2, $3, $4}' radio recherche dans le fichier radio les lignes contenant le mot BERN et affiche les champs 2,3 et 4. Le séparateur des champs est défini avec -F

gawk -F, 'BEGIN {print "LISTE"};{print substr $1,3,2}' radio
gawk '/abc/{print $2} /123/ {print $2}' fich recherche les chaînes 'abc' et '123' et imprime le 2eme champs'il y a un résultat.

De nombreuses options et la possibilité d'utiliser des fichiers scripts. Ne pas oublier de consulter le man gawk. On trouve d'excellentes documentations sur le Web.

wc xxx affiche le nbr de lignes, mots et caractères du fichier xxx
wc * affiche la même chose sur tout les fichiers du répertoire

cat xxx affiche le contenu du fichier xxx
tac xxx affiche le contenu du fichier xxx depuis la dernière ligne !
cat xxx | less affiche le contenu du fichier xxx avec arrêt par page
cat xxx yyy affiche le contenu des fichier xxx et yyy
cat www xxx yyy > zzz envoie le contenu de www, xxx et yyy dans zzz
cat > text tout ce que vous taperez maintenant sera dans text
Crtl d pour terminer la saisie et fermer le fichier text

tr convertion ou suppression de carcatères dans un fichier. Exemple :
cat fich | tr [A-Z] [a-z] > fich2 change le contenu de fich en majusule et le dépose dans fich2 en minuscule.
cat fich.txt | tr ";" " " > fich2.txt, change tous les ; en espace.
tr [A-Z] [a-z] < fich > fich2 deuxième possibilité

od -x fich affiche le contenu du fichier fich en hexa.

sed est un éditeur de texte non interactif, mais basé sur le sreaming.
sed -e "/ici/la/s" xxx.txt, commande substitution, cherche "ici" et le change par "la" dans le fichier xxx.txt


Les variables

utilisateur="Pierre" défini la variable "utilisateur"
echo $utilisateur affiche le contenu de la variable utilisateur
dir="/home/pierre/pomme" assigne à dir un répertoire
ls -s $dir affiche le contenu du répertoire /home/pierre/pomme
ls -l $HOME affiche votre réprertoir par défaut

Les variables du système PATH MAIL HOME PATH UID etc.
echo $PATH affiche les répertoires de recherche pour lancer un prg.
set affiche toutes les variables de votre session


Travail avec les répertoires

cd retour à votre répertoire par défaut
cd .. retour au répertoire supérieur
cd /bin/xx saute au répertoire /bin/xx, position absolue
cd images passe dans le répertoire immédiatement inférieur, images

mkdir xxx création du répertoire xxx dans le répertoire courant
mkdir xxx yyy xyz création de trois répertoires en même temps

rmdir xxx supprime un répertoire s'il est vide ...

mvdir xxx /tmp déplace le répertoire xxx dans /tmp


Recherche de fichiers

Voici une puissante commande de recherche de fichiers.

find . -name mot recherche les fichiers qui se nomment mot, depuis le répertoire courant et ses sous répertoires.
find / -name temp recherche les fichiers temp sur tout le disque.
find / -cmin -30 trouve les fichiers modifiés dans les 30 dernières minutes.
find $HOME -name essai.c -exec cat {} \; recherche le fichier essai.c et affiche son contenu.

N'oubliez pas de consulter man find

Travail avec les fichiers

cp xxx /bin copie le fichier xxx dans le répertoire /bin
cp xxx xxx.old copie le fichier sous le non xxx.old
cp xxx.* /home/jpp copie tous les fichiers xxx dans /home/jpp
cp aa bb cc /home/bin copie aa bb cc vers /home/bin

mv xxx /bin déplace le fichier xxx dans /bin
mv xxx yyy /bin déplace les fichiers xxx et yyy dans /bin
mv xxx yyy renomme le fichier xxx en yyy.

rm xxx efface le fichier xxx

ln crée un lien
ln xxx yyy permet de donner plusieurs noms au même fichier, xxx = yyy
ln xxx yyy /home/pierre donne un autre nom et place yyy chez pierre
Les deux fichiers sont visibles, mais un seul existe vraiment

touch xxx crée un fichier vide et lui donne la date et l'heure actuelles

nl xxx.c affiche le fichier xxx.c en donnant un numéro par ligne

which ll recherche une commande connue par le PATH et affiche son emplacement. On peut rechercher plusieurs noms de commande en une fois.


Divers

set | less affiche le setting de votre login
du disk usage - affiche l'espace occupé par l'utilisateur
du -a
du -s

df disk free - affiche l'espace libre du disque dur

who affiche qui est connecté sur le serveur
whoami affiche qui je suis !

clear efface le contenu de l'écran

pwd affiche le nom du répertoire courant

file * affiche le type des fichiers du répertoire courant

alt F1 .... alt F6 passage sur l'un des six terminaux virtuels.

more affiche les données par page écran
more fichier.txt
cat ficher.txt | more

less amélioration de "more", par page écran, Page Up et Page down
less fichier.txt
cat fichier.txt | less


Re-direction des sorties

> re-dirige le résultat d'une action dans un fichier
>> re-dirige le résultat d'une action à la suite d'un fichier existant
< l'entrée standard n'est plus le terminal, mais un fichier
| Le pipe, connecte la sortie d'un programme en entrée sur un autre

Quelques exemples :
cat xx.txt > xx.old re-dirige le contenu de xx.txt dans xx.old
dir a* b* > xx.dir re-dirige le listing des fichiers a* et b* dans xx.dir
dir *.txt >> xx re-dirige le listing dans la suite du fichier xx.dir
vi xxx < yyy le fichier de commande yyy envoie à vi les instructions de correction du fichier xxx
ls -l | more re-dirige le résultat de ls dans le programme more pour un affiche par page
gerp Berne marine.db | sort +0 recherche les lignes avec le mot Berne dans le fichier marine.db, trie ces lignes sur le champs 0 (le premier) et affiche sur l'écran (sortie par défaut)

[début]


VOS SCRIPTS

Si vous n'avez pas encore de répertoire /home/votrenom/bin, construisez le maintenant. Vous pouvez créer des fichiers scripts que vous déposerez dedans.

Au lieu d'écrire toujours la commande ls -l, vous pouvez la mettre dans un fichier qui pourrait s'appeler plus simplement l. Pour cela, utilisez l'éditeur vi. (Consultez la chapitre "Quelques utilitaires")

	
	remarque : entre crochets, les touches à presser
	
	vi l[return]		pour lancer l'éditeur vi et créer le fichier l
	[i]			passage en mode insert
	#!/bin/bash[return]	si vous travaillez avec le bash
	ls -l --color $1	écriture des instructions
	[esc]			passage en mode commande
	:w[return]		sauvegarde du tampon dans le fichier l
	:q[return]		on quitte l'éditeur vi
				ou plus simplement
	:x[return]		sauve et quitte en une seule opération	
		
	ouf on est sorti ...
	
Explication:

$1 indique que vous pouvez passer un paramètre à votre commande
l exécution du fichier, identique à ls -l --color
l /bin identique, mais avec passage d'une consigne

Il est bien clair que vous pouvez passer d'autres consignes en ajoutant à votre script $2 $3 etc... ou simplement $* qui regarde toutes les consignes
Changez les attributs du fichier l, pour qu'il devienne un fichier exécutable, avec la commande chmod u+x l

Testez votre script :-)
Etonnant non ...

[début]


COMPRESSION ET DECOMPRESSION DES FICHIERS

compress xxx compresse le fichier xxx, il devient xxx.Z
uncompress xxx décompresse le fichier xxx
zcat xxx affiche le contenu du fichier compressé xxx.Z

tar programme de sauvegarde des fichiers et répertoires.
tar cvf /mnt/floppy/xx.tar /usr/bin sauve dans xx.tar /usr/bin
tar tvf /mnt/floppy/xx.tar Affiche le contenu de xx.tar
tar xvf /mnt/floppy/xx.tar /usr/bin extrait le répertoire

tar zcvf /mnt/floppy/xx.tar.gz (ou.tgz) archive et comprime avec gzip
tar zxvf .... extraction d'une archive avec gzip

tar zxvf xxx extraction du fichier xxx.tar.gz

zip xxx * utilise zip pour comprimer tous les fichiers du rép courant
unzip xxx dé-zip le fichier xxx

[début]


QUELQUES UTILITAIRES

L'éditeur de texte vi

vi création d'un nouveau fichier texte
vi xxx.txt lance l'éditeur vi et ouvre le fichier xxx.txt
Dès le lancement de vi, nous nous trouvons en mode commandes.
La commande ESC ESC ramène toujours en mode commandes.
En mode commandes de vi
:h appel du texte d'aide
:q quitte le texte d'aide
i ou "insert" passe en mode édition
+ passe à la ligne suivante
- passe à la ligne précédante
Page Down passe à la page suivante
Page Up passeà la page précédante
esc quit le mode édition
:w enregistre le fichier
:q quitte l'éditeur vi
:x quitte et enregistre s'il y a des modifications
dd efface la ligne où se trouve le curseur
:q! quitte sans sauver les modifications
4yy depuis le curseur copie 4 lignes dans le tanpom
p colle le tanpom à la position du curseur
/abc recherche la chaîne de caractères abc
En mode édition
HOME passe au début de la ligne
END passe à la fin de la ligne
ESC quitte le mode édition et passe en mode commandes
U undo, annulation de la dernière commande


Le correcteur d'orthographe

ispell correcteur d'orthographe
ispell fichier.txt correction du fichier fichier.txt

Pour disposer du dictionnaire français, vous pouvez le récupérer
sur le site ftp.lip6.fr/pub/ispell/francais

Après une décompression du fichier: tar zxfv francais-IREQ-x.x.tar.gz

Lancer buildhash francais.dico francais.aff francais.hash
Placer les fichiers francais.dico .aff et .hash dans /usr/lib/ispell

Vous contrôler vos textes avec ispell -d francais montexte.txt


Divers

jstar éditeur de text à la façon de WordStar. Mêmes commandes

bc lancement de la calculatrice

cal affiche le calendrier du mois courant
cal 1999 affiche le calendrier de l'année 1999
cal 1 1999 affiche calendrier du mois de janvier 1999
cal -y affiche toute l'année en cours
cal -j affiche le numéro du jour (calendrier Julien)

at vous permet de lancer des programmes à une date et une heure souhaitée un message par e-mail vous est envoyé en fin de tache

sleep 60; dir bloque le terminal et lance la commande dir dans 60 secondes

date affiche la date et l'heure

basic lancer l'interpréteur Basic

/usr/games/banner -w80 |lpr imprime une banderole de 80 caractères de large. Le programme vous demande "Message : " et vous introduisez votre texte.

[début]


TRUCS ET ASTUCES

TAB la touche TAB permet de compléter une longue commande déjà tapée
Exemple:
cat freqradio.txt | less
Vous pouvez taper ensuite :
cat fre[TAB] et la ligne s'écrit automatiquement

Pour mettre un peu de couleur sur votre terminal utilisez la commande setterm avec -foreground xxx -background xxx xxx étant une couleur (red, green, blue, grey etc). -store sauvegarde cette info pour la session

setterm -foreground black -background red -store
setterm -background blue -store

setterm -blank 5 sauveur d'écran après 5 minutes
Si votre écran peut avoir son alimentation coupée par programmation:
setterm -powerdown 10 alimentation de l'écran désactivée
setterm -powersave on activer la fonction

Simplifiez vous la vie avec alias
alias ls="ls -l" après vous aurez automatiquement ls - l en tapant ls
alias mc="mc -c" permet de lancer le midnight commander en couleur avec la commande mc

Ces définitions peuvent être placées dans votre fichier de configuration .bash_profile pour qu'a chacun de vos login ces paramètres soient présents.

alias tout seul vous affiche les alias enregistré.
unalias mc permet de supprimer votre alias

[début]


AIDE ET INFORMATIONS

help résumé sur la syntaxe des principales commandes

info mode informations sur les programmes de base (hypertexte)

La commande man demande le manuel d'une commande. Exemples :
man cp demande le manuel sur la commande copy
man ls demande le manuel de la commande ls

Si vous utilisez l'option --help d'une commande, vous aurez le help en français, c'est plus agréable. Si le texte est trop grand pour la page, ajouter | less
ls --help | less

Dans le répertoire /usr/doc/HOWTO/translations/fr vous trouverez des solutions à vos problèmes... ;-)

[début]


MIDNIGHT COMMANDER

Voilà un programme bien pratique pour se retrouver dans les méandres des répertoires et des fichiers sur vos disques LINUX. Les amateurs du Dos retrouverons avec joie les caractéristiques du Norton Commander.

mc lance le Midnight Commander
mc -c force le Midnight Commander en mode couleur, c'est mieux ...

[début]


MS-DOS

En principe le programme mtools est installé sur votre LINUX. Essayez la commande mtools et vous obtiendrez le résumé des commandes supportées.

Exemples:
mdir

[début]


INTERNET ET RESEAU

lynx browser Web en mode texte, avec édition en pressant sur e
lynx xxx.html ouverture et visualisation du fichier xxx.html

telnet interface utilistateur pour communiquer avec un hôte distant
ftp utile pour le transfert de fichiers sur une machine distante

ifconfig affiche la configuration ip de la machine
ping xxx.xxx.xxx.xxx permet de tester q'un hôte est en ligne et qu'il répond
route commande TCP/IP permattant de modifier les tables de routage
netstat -r ou -t ou -s affiche l'état du réseau, regarder le help
arp commande TCP/IP, affiche, ajoute ou supprime une info à la table arp

consulter le mode d'emploi avec man. Exemple: man ftp

[début]


SUPERVISION

Gestion des utilisateurs

Le superviseur du système se logue avec le nom root. Il est franchement déconseillé de travailler avec ce compte (sauf pour l'administration du système). Créez-vous un compte utilisateur et travailler avec celui-ci.

Depuis ce compte, vous pouvez toujours vous mettre en mode superviseur en lançant depuis la console su.

Ajout d'un nouvel utilisateur en mode console :

adduser xxx création d'un utilisateur xxx
passwd xxx donner un mot de passe à l'utilisateur xxx
chown xxx /home/xxx donne la propriété au répertoire /home/xxx à xxx

[début]


Gestion des lecteurs CD-ROM et disquette

Montage d'un device sur un point de montage de vos répertoires

Lecteurs de disquettes:
mount -t msdos /dev/fd0 /mnt/floppy pour les disquettes msdos
mount -t ext2 /dev/fd0 /mnt/floppy pour des disquettes Linux
umount /mnt/floppy désactive le point de montage du floppy

Lecteurs CD-ROM:
mount /dev/cdrom /mnt/cdrom le lecteur cdrom sur /mnt/cdrom
umount /mnt/cdrom

Remarque: avant de changer le cd ou la disquette, il faut défaire le point de montage et ensuite vous pouvez extraire le support, cd ou disquette. Aucun utilisateur ne doit se trouver sur un répertoire du cd, sinon vous aurez le message "busy"

[début]


Gestion et contrôle du système

free affiche un tableau sur l'utilisation de le mémoire
top affiche les staistiques du système en temps réel

[début]


X Window

startx lancer l'environnement graphique X Window
startx & lance en tâche de fond

Depuis le terminal X, vous pouvez sauter dans les autres terminaux avec la commande Ctrl Alt Fx. x étant le no du terminal ( 1 à 6 ).
Ctrl Alt F7 vous fait revenir à nouveau sur le terminal X


Capture d'écrans

Vous avez sous X Window un petit utilitaire pour faire des captures d'écrans.
xwd -out image.xwd cette commande passée, pointer avec le curseur de la souris dans la fenêtre à capturer. Le résultat se trouvera dans le fichier image.xwd.
xwdtopnm < image.xwd > image.ppm convertion en image ppm.
ppmtopcx < image.ppm > image.pcx convertion de l'image en monde pcx.

Plus simplement avec KDE, il existe un programme de capture ksnapshot


Programmation avec Tcl/Tk

Tk est une extension de Tcl. C'est une boîte à outils graphiques pour X-Window. Il vous permet d'ajouter des fenêtres, des menus, bouttons etc... à vos scriptes Tcl. Tk utilise la bibliothèque Xlib.

[début]


Mini distributions

Super génial les mini distributions, pour récupérer les fichiers d'un PC pourri...
Faire une démonstration et étudier le fonctionnement de cet OS. Préparer un routeur, un par-feux etc.
Tout celà sans une installation sur votre machine, juste un boot sur la disquette...
Ces distributions tournent avec peu de mémoire, soit dès 4, 8, 12 Mb et avec des 486, on utilise les vieux PCs.


Linux sur une disquette 1.44

Génial, sur une disquette et sans installation sur le PC.

TOMSRTBT, pour TOM'S Root Boot, un max de programmes sur 1.44 Mb
Binux sur une disquette et fonctionne uniquement en mémoire vive.
MenuetOS, version graphique !!! écrit et autocompilé en assembleur 32 bits


Linux sur un CD

Live CD, c'est le nom de ces distributions. Pas d'installation sur votre machine, simplement un "boot" sur le CD-ROM

Ubuntu est une distribution GNU/Linux qui réunit stabilité et convivialité.
Mandriva est une belle présentation et permet facilement d'installer Linux en double boot avec Windows
KNOPPIX sur un CD env. 650 Mb, tout simplement génial, pas de problème.
FLONIX env. 64Mb sur KEY USB ou CD-ROM (Super si votre PC accepte le démarrage sur USB!)
SLAX, un autre live CD, sympa et qui fonctionne bien en texte + lancement du GUI


Linux sous Windows

Une solution très intéressante pour faire cohabiter Linux avec Windows, et d'installer le magnifique logiciel Cygwin.

[début]


Enfin un OS stable et puissant

C'est magique de travailler avec GNU/Linux. Une solution intéressante et très puissante pour transformer votre PC en une bombe. Bien des machines poussivent donneront enfin le meilleur d'elles même.

[début] [programmation]


Jean-Pierre Perroud, Switzerland, 3 février 2008