Show Menu
Cheatography

Terminal Unix et Ligne de Commande Cheat Sheet by

Bases d'utilisation du terminal sous Unix

Cheat Sheet indisp­ensable en DUT INFO S3

feuille publiée par erreur mais en cours d'amél­ior­ation :-)
Pour qui ?
les DUT INFO S3 de Nice - Fabron
Dans quel module ?
M311 / principes des systèmes d'expl­oit­ations
Pourquoi ?
être dix fois plus efficace en TP

Ouvrir un terminal GNOME

Depuis le bureau GNOME
Cliquer en haut à gauche sur "­Act­ivi­tés­" puis Rechercher "­ter­min­al" dans la zone de recherche en haut du bureau. En profiter pour placer l'icône dans la barre "­Act­ivi­tés­"
Depuis un terminal GNOME
Menu "­Fic­hie­r" puis "­Ouvrir un termin­al"
Depuis l'explorateur
de fichiers
Clic droit dans le fond de la fenêtre et "­Ouvrir dans un termin­al"
Le clic droit dans l'expl­orateur permet d'ouvrir le terminal dans le bon répertoire
Ne pas hésiter à ouvrir plusieurs terminaux côte à côte pour tester les programmes multi processus et contrôler leur exécution depuis un autre terminal (avec
kill
,
ps
,
top
,
htop
, ..)

Taper des commandes dans le terminal

Copier / Coller
surligner le texte choisi à la souris puis clic gauche dans le terminal et clic milieu pour coller
Complétion
tab
et/ou
tab tab
pour faire défiler les possib­ilités en boucle puis taper un ou plusieurs caractères pour choisir
Historique bash
taper la commande
history
Commandes précéd­entes
ou
ctrl-p
Commandes suivantes
ou
ctrl-n
Début de ligne
ctrl-home
ou
ctrl-a
Fin de ligne
ctrl-end
ou
ctrl-e
Abandonner
ctrl-c
Rechercher la dernière commande contenant
mot
ctrl-r mot
puis
ctrl-r
autant de fois que nécessaire pour retrouver toutes les commandes contenant
mot
Couper jusqu'à la fin de ligne
ctrl-k
Coller le texte coupé
ctrl-y
Pour les autres raccou­rcis, voir la docume­ntation du mode emacs

Voir ses fichier Windows depuis Linux

Dans l'expl­orateur de fichier, taper dans la barre du haut - location - (ou
ctrl-l
) et entrer la connexion
smb://­dc-­inf­o-0­3/u­ser­s/e­tud­ian­t/login

domaine :
IUTNICE

password : celui utilisé sous Windows
Les supports de cours des autres modules sont sur le partage :
smb://­fs-­inf­o-0­1/S­upp­ort­Cou­rs/S3T
 

Commandes bash de base

Afficher le contenu du répertoire
dir
ls -la dir
Se positi­onner à la racine de son espace personnel
cd
ou
cd ~
ou
cd $HOME
$HOME
et
~
désignent le même chemin, le répertoire défini comme racine du login corres­pon­dant, par exemple
/home/­martin
Effacer le répertoire
dir
et ses sous-r­épe­rtoires
rm -rf dir
Renommer
dir1
sous le nom de
dir2
mv dir1 dir2
Effacer le terminal
clear
Ajouter
$HOME/bin
au
PATH
export PATH=$PATH:$HOME/bin
Changer l'invite de commande
export PS1='$ '
Les variables d'envi­ron­nement comme
PS1
,
PATH
, ... sont à changer de préférence dans les fichiers de config­uration de bash :
.bash_­login
,
.bash_­profile
,
.bashrc
, ...

Gestion zéro des archives tar.gz

Extraire le contenu de
tp.tar.gz
tar zxvf tp.tar.gz
Créer une archive contenant le répertoire
tp
tar zcvf tp.tar.gz tp
Pour créer l'archive contenant tous les fichiers du répertoire
tp
, il faut se positi­onner avant au dessus de
tp
. Par exemple, si le chemin absolu de
tp
est
/home/­log­in/­ASR/tp
, alors les commandes sont:
cd /home/­log­in/ASR

tar zcvf tp.tar.gz tp

Commandes de contrôle des processus

ps axu
ou bien
ps -eF
voir tous les processus en cours
ps axjf
ou bien
ps -ejH
voir aussi les arbres de filiation
pstree
affiche un arbre de tous les processus en cours
ps -elfT
ou bien
ps axms
avoir en plus les inform­ations sur les threads
top
ou bien
top U login
affichage dynamique,
top -H
pour voir les threads
htop
ou bien
htop -u login
taper
H
pour voir les threads,
t
pour les arbres,
F4
pour filtrer un nom
kill -SIGINT pid
interr­ompre le processus numéro
pid
kill -SIGKILL pid
tuer le processus numéro
pid
qui résiste à
SIGINT
killall -INT prog
interr­ompre tous les exempl­aires de processus de nom
prog
killall -KILL prog
tuer tous les exempl­aires des processus de nom
prog

Éditer, compiler et exécuter des programmes C

Éditer avec
nano, gedit, notepad++, emacs, vim
ou un autre éditeur à partir du moment que le codage est UTF-8
Compiler
gcc -Wall -std=gnu99 prog.c -o prog
Compiler avec un Makefile
make
Nettoyer le répertoire courant
make mrproper
ou
make clean
Exécuter
prog
./prog
Interr­ompre le processus prog
ctrl-c
ou
ctrl-\ 
Formater un source C
indent -linux prog.c
Réutiliser systèm­ati­quement les exemples de Makefile et de sources C donnés avec le sujet de TD

Exemple

sur cet exemple (PuTTY) on montre comment
1 - changer l'invite de commande
2 - se positi­onner dans un répertoire depuis son $HOME (ou ~)
3 - effacer les exécut­ables avec la règle mrproper du Makefile pour
4 - tout recompiler et
5 - exécuter le programme somme

Erreur de compil­ation bizzare

error stray '\204' in program …
effacer puis retaper le texte
Erreur souvent due à un copier­/coller du web vers gedit : il faut téléch­arger les sources, pas faire des copier­/coller

Trouver les #incl­ude­<>

Pour chaque appel système ou routine de la libc, consulter le manuel
Exemple pour
fork()
: taper
man fork

qui nous indique d'ajouter
#include <un­ist­d.h>
Dans le cas où il existe des entrées multiples dans le manuel, alors il faut préciser la section. Exemple :
man 3 sleep
affiche la page de manuel de la fonction C
sleep()

man sleep
affiche la page de manuel de la commande bash
sleep
qui est trouvée en premier car elle est dans la section 1 (et non 3) du manuel
Pour touver toutes les entrées (et les sections corres­pon­dantes) contenant
mot
:
man k mot
                       
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          tmux the terminal multiplexer Cheat Sheet
          tmux - terminal multiplexer Keyboard Shortcuts
          Command Line and Terminal navigation Cheat Sheet