Memo Commandes

Un article de Projet de documentation fug-fr .

(Redirigé depuis MemoCommandes)
Jump to: navigation, search


L'installation de FreeBSD s'est bien passée, mais n'ayant jamais utilisé un Unix, au reboot vous vous retrouvez avec un prompt mystérieux.

Voici quelques lignes pour vous faciliter la vie sur la console de votre BSD.

Vous pouvez accéder en ligne aux pages man de votre FreeBSD, et aux commandes citées, à la page de recherche des manuels de FreeBSD.


Sommaire

[modifier]
- Quand il y a les gros doigts sur le shell -

CTRL+c Termine la commande.
CTRL+\ Termine la commande en laissant un coredump (contrairement à CTRL+c, ne peut être ignoré par les programmes).
CTRL+t Réinitialisation du terminal[1], ou, stty sane  : Idem.
exit Quitte le shell, ou, logout  : Idem.

[modifier]
- Utiliser la documentation du système -

man man Manuel d'utilisation de la commande man .
man <commande> Affiche le manuel de la commande.
man -a <commande> Affiche les pages de manuel de toutes les sections.
man -a intro Explique le sens des différentes sections, par son numéro.
man hier Description de l'arborescence FreeBSD.
man -k <chaine> Recherche par chaine de caractères dans les pages de manuel, ou, apropos <chaine>  : Idem.
nroff -mandoc | less foo.1 Formate une page man, et l'affiche page à page avec less(1) ; Utile pour certaines manpages qui ne seraient pas dans le $MANPATH .
/usr/share/doc C'est dans cette partie de l'arborescence que vous trouverez les docs.
/usr/share/doc/fr/books/handbook La bible FreeBSD, le manuel FreeBSD[2]
/usr/local/share/doc Documentations des applications installées par les ports, guide de l'utilisateur, exemples, etc...
/usr/X11R6/share/doc Documentation de X11.


[modifier]
- Quelques commandes et enchaînements -

which foo Recherche la commande foo dans le $PATH.
history 10 Affiche les dix dernières commandes exécutées.
 ! <numéro_commande> Reexécute la commande à partir de l'historique. (cf. la section 'History substitution' dans le manuel de csh(1))
<commande_1>;<commande_2> Exécute commande_1, puis commande_2.
<commande_1>&&<commande_2> Exécute commande_1, puis si son code de retour indique un succès, exécute alors commande_2 (on peut le voir comme un "et alors").
<commande_1> || <commande_2> Le contraire du précédent: Exécute commande_1, puis si son code de retour indique un échec, exécute alors commande_2 (ça serait un "ou sinon").


[modifier]
- Les redirections d'entrée et sortie -

Ctrl+d Fin sur la sortie standard.
<commande_1> | <commande_2> Dirige la sortie de commande_1 vers l'entrée de commande_2, ceci s'appelle un pipe.
<commande> > <out.txt> Redirige la sortie standard vers un fichier texte.
<commande> >> <out.txt> Idem, mais ajoute à la fin du fichier 'out.txt, au lieu de remplacer.
<commande> 2> <err.txt> Redirige la sortie vers un fichier texte d'erreurs, pour le shell sh.
<commande> > <out.txt> 2>& Redirige la sortie standard ainsi que les erreurs, vers un fichier texte, pour le shell sh.
<commande> >& <out.txt> Idem, mais pour le shell csh.
<commande> < <in.txt> Redirige l'entrée standard depuis un fichier.


[modifier]
- Processus en avant et arrière plans -

Ctrl+c Termine le processus courant.
Ctrl+z Suspend le processus courant.
<commande> & Démarre une commande en arrière plan.
jobs Liste les processus se déroulant en arrière plan (jobs).
kill %<numéro> Termine le job numéro (n).
fg Redémarre en avant plan un processus suspendu.
fg %<numéro> Idem, mais le processus est identifié par son numéro.
bg Redémarre en arrière plan un processus suspendu.
bg %<numéro> Idem, mais le processus est identifié par son numéro.


[modifier]
- Les répertoires et leur gestion -

pwd Affiche le nom du répertoire courant.
cd / Va au répertoire racine, aussi appelé / .
cd /<un_répertoire> Va dans un répertoire en partant de la racine; chemin absolu.
cd <un_répertoire> Va dans un sous-répertoire, en partant du répertoire courant, chemin relatif.
cd .. Remonte d'un répertoire dans la hiérarchie, va au répertoire père.
cd - Retourne au répertoire précédemment quitté, facilite les va-et-vient.
cd ou cd ~ Va au répertoire personnel, aussi appelé ~ .
cd ~/<un_répertoire> Va dans un répertoire du répertoire personnel.
ls Liste le contenu du répertoire courant.
ls / Liste le contenu du répertoire racine.
ls <un_répertoire> Liste le contenu d'un répertoire.
ls -a Liste tous les fichiers, même cachés
ls -l Liste tous les fichiers de façon détaillée (long)
ls -h Liste tous les fichiers et leur taille suivi de l'unité de mesure
mkdir <un_répertoire> Crée un répertoire dans le répertoire courant.
rmdir <un_répertoire> Supprime un répertoire vide dans le répertoire courant.
rm -rf <un_répertoire> Supprime un répertoire et tout son contenu récursivement. ATTENTION !


[modifier]
- Les fichiers et leur gestion -

file <un_fichier> Affiche les caractéristiques d'un fichier.
less <un_fichier> Affiche le contenu d'un fichier texte dans le pager; vous pouvez vous y déplacer avec les flèches, en utilisant les touches suivantes:
Espace Page suivante.
B Page précédente.
/ Recherche en avant.
 ? Recherche en arrière.
N Recommence la recherche.
Q Quitter.
grep [-i] <recherche> <un_ficher> Affiche les lignes d'un fichier texte contenant la recherche; l'option -i rend insensible à la casse (A =~ a).
wc -l <un_fichier> Compte les lignes d'un fichier.
head [-n] <un_fichier> Affiche les 10 premières lignes d'un fichier; l'option -n spécifie un nombre de lignes.
tail [-n] <un_fichier> Affiche les 10 dernières lignes d'un fichier; l'option -n spécifie un nombre de lignes.
tail -f <un_fichier> Affiche les dix dernières lignes d'un fichier en temps réel, pratique pour les logs.
strings <fichier_binaire> Affiche les chaînes de caractères contenues dans un fichier binaire.
touch <nouveau_fichier> Crée un nouveau fichier dans le répertoire courant.
 :> <un_fichier> Vide un fichier de son contenu.
rm <un_fichier> Supprime un fichier dans le répertoire courant.
rm </chemin/vers/un_fichier> Supprime un fichier.
cp <un_fichier> <nouveau_fichier> Copie/crée un fichier dans un nouveau fichier, dans le répertoire courant.
cp <un_fichier> </chemin/vers/répertoire> Copie un fichier dans un autre répertoire.
mv <un_fichier> <nouveau_fichier> Renomme un fichier dans le répertoire courant.
mv<un_fichier></chemin/vers/répertoire> Déplace un fichier dans un autre répertoire.
ln <un_fichier> <nouveau_fichier> Crée un lien dur entre un fichier et un nouveau fichier.
ln -s <un_fichier> <nouveau_fichier> Crée un nouveau lien symbolique pointant vers un fichier.
chmod <droits> <un_fichier> Change les droits d'accès au fichier.
chown <utilisateur> <un_fichier> Change le propriétaire du fichier.

[modifier]
- Editeurs par défaut -

ee Le plus trivial, facile. ee <mon_fichier> .
vi Beaucoup plus puissant, et plus ardu à prendre en main. vi <mon_fichier>  : (Voir la doc pour l'utilisation.)


Espace Page suivante.
Escape Touche  : , et q! , pour s'en sortir.


[modifier]
- Recherches dans les disques -

locate <chaîne> Recherche la chaîne dans la base de donnée locale.
/etc/periodic/weekly/310.locate Reconstruit la base de données locale.
find <path> -type -f Recherche tous les fichiers dans le répertoire <path>; "." pour le répertoire courant.
find <path> -type f -name 'foo*' Recherche dans le répertoire <path> tous les fichiers commençant par foo.
find <path> -type f | xargs <commande> Recherche tous les fichiers sous le path, et leur applique la commande.
find <path> -type f -print0 | xargs <comd> Idem, plus sécurisé.


[modifier]
- Système et process -

Alt+F1 à F8 Bascule entre les terminaux virtuels.
date Affiche la date et l'heure.
ntpdate -b <mon_serveur> Synchronise l'horloge à l'aide d'un serveur. NTP
who Affiche qui est loggé.
w Affiche qui fais quoi et où.
last -3 Affiche les trois derniers logins.
ps auxw Affiche tous les process.
ps auxw | grep <nom_proc> Affiche les process dont le nom contient "nom_proc" (cf.pgrep(1) aussi)
top Affiche en continu les process, taper 'q' pour quitter.
netstat -ta Affiche les connexions ouvertes et/ou établies.
kill <pid> Envoie un signal de terminaison au processus d'id <pid> (sortie 'propre').
kill -HUP <pid> Envoie un signal 'raccroché' (Hang UP) au process;les démons en général relisent leur configuration.
killall [-1 | -9] <nom_proc> Signale tous les processus de nom mon_proc" cf.pkill(1) aussi).

[modifier]
- Les variables d'environnement -

printenv Affiche les variables d'environnement et leurs valeurs.
printenv PATH ou echo $PATH Affiche la valeur de la variable PATH. (chemin de recherche des exécutables).
foo=<valeur> ; export foo Déclare la variable foo, et lui attribue une valeur, pour le shell sh.
setenv foo <valeur> Idem pour les shells csh et tcsh.
unset foo Supprime la variable foo, pour le shell sh.
unsetenv foo Idem, pour les shells csh et tcsh.


[modifier]
- Système de fichiers -

mount Affiche les points de montage.
df -h Affiche l'occupation des filesystems.
df -c <chemin> Rajoute ce qui est spécifié dans le path.
mount_msdosfs /dev/fd0 /mnt Monte la disquette dans le répertoire /mnt.
umount /mnt Démonte la disquette (doit etre libre).
mount -r -t cd9660 /dev/acd0 /cdrom Monte le cdrom dans le rep. /cdrom.
umount /cdrom Démonte le cdrom (doit etre libre).
mount -t smbfs -o username=user,password=pass //chemin/samba /chemin/de/montage Monte un partage Windows
fstat Liste les fichiers ouverts.
cat /etc/fstab Affiche la table des filesystems.
mount -a Monte les filesystems du fichier /etc/fstab .
mount -U Monte les filesystems en R/W.
fsck -y /dev/ad0s1d Répare le filesystem spécifié, doit etre démonté avant.

[modifier]
- Packages binaires -

pkg_info Affiche les pkg installés.
pkg_info foo-1.0.0 Affiche la description de foo.
pkg_info foo\* Idem.
pkg_info -W /usr/local/bin/foo A qui appartient foo.
which foo Trouve le chemin de foo.
pkg_which <file> Appartient à.
pkg_add foo-1.0.0 Installe foo-1.0.0 .
pkg_add -r foo Installe foo par FTP.
PACKAGEROOT="ftp://ftp.fr.machin.truc.org" pkg_add -r foo FTP alternatif.
pkg_delete foo-1.0.0 Désinstalle le pkg foo-1.0.0 .
pkgdb -F Construit la database des packages.
pkgdb -fu Fixe les inconsistances des dépendances.
rehash Rescane le PATH pour les nouveaux exécutables, shell csh.


[modifier]
- Ports sources -

cvsup -g -L 2 <chemin_ports-supfile> Télécharge l'arbre des ports. (Doc-supfile, standard ou stable-supfile, pour le reste).
cd /usr/ports Ou ils se trouvent.
make fetchindex Télécharge l'index de l'arbre.
make index Construit, réactualise la database sur la machine.
cd /usr/ports/machin && make install clean Installe un port.
make deinstall clean Désinstalle.
portversion -l "<" Affiche la version.
portupgrade -a Upgrade tous les ports.
portupgrade foo Upgrade foo.
portinstall -P foo Installe le PKG binaire foo.
portinstall foo Installe le port source foo.
portsclean -C Nettoie les fichiers et répertoires de travail.
portsclean -DD Supprime les fichiers orphelins.
Fichiers de conf: /etc/make.conf, fichiers supfile.

[modifier]
- Arret de la machine -

shutdown -p now Arret pur et simple.
shutdown -r now ou reboot : Reboot.
halt Idem, root.


Bien entendu, il s'agit juste d'un memo, consultez la doc pour d'avantage d'informations sur une commande et ses options.