Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Commandes GNU/Linux : mémo simplifié

le système GNU/Linux Debian possède toutes les applications graphiques nécessaires pour accomplir vos tâches quotidiennes, alors pourquoi utiliser la ligne de commande ?

  • c'est plus rapide
  • les options ne sont pas toutes présentes dans les interfaces graphiques
  • utiliser la commandes directement sans surcouche graphique économise les ressources
  • ça facilite l'apprentissage du système GNU/Linux Debian

la commande ultime: man

commandeaction
pwd affiche le répertoire courant
cd rep se place dans le répertoire rep
cd se place dans le répertoire de l'utilisateur ~/
cd .. se place dans le répertoire parent
ls rep liste les fichiers du répertoire rep
ls -a ls avec les fichiers cachés
ls -l ls avec les droits d'accès

actions sur les fichiers/dossiers

commandeaction
mv source cible deplace le fichier source vers cible
cp source cible copie le fichier source vers cible
cp -R source cible copie le répertoire source vers cible
ln source lien créer un lien fort de source vers lien
ln -s source lien créer un lien symbolique de source vers lien
touch file créer le fichier file ou met à jour sa date de modification
mkdir rep créer un repertoire rep
mkdir -p rep/rep2 mkdir avec création des dossiers parents si nécessaire
rm file supprime le fichier file
rm -f file supprime le fichier file protégé en écriture
rmdir rep supprimer un répertoire vide
rm -R rep supprime un répertoire
du -h file ou rep affiche la taille du fichier file ou du répertoire rep

afficher/comparer les fichiers

commandeaction
wc fichier compte le nombre de lignes, de mots, d'octets de fichier
cat fichiers concatène les fichiers
more fichier affiche fichier page après page. 'Espace'=page suivante, 'Entrée'=ligne suivante, 'u'=remonter
less fichier affiche fichier avec une navigation Left/Right/Up/Down/PageUp/PageDown
head -n x fichier affiche les x premières lignes de fichier
tail -n x fichier affiche les x dernières lignes de fichier
tail -f fichier affiche la dernière ligne de fichier au fur et à mesure qu'il se remplit
diff file1 file2 affiche les différences entre deux fichiers texte
diff -u file1 file2 affiche les différences au format utilisé par patch
comp file1 file2 compare deux fichiers binaires
comp file1 file2 n N compare deux fichiers, file1 à partir du nième octet, et file2 à partir du Nième

utilisateurs

commandeaction
whoami affiche le login de l'utilisateur
who affiche les utilisateurs connectés
id afficher les uid, gid et groupes de l'utilisateur
id user afficher les uid, gid et groupes de user (root only)
finger user affiche les informations de user
write user afficher un message sur le terminal de user
tty afficher le nom de son terminal
su - sudo passer en mode administrateur
passwd changer le mot de passe de l'utilisateur courant
adduser ajouter un utilisateur
deluser supprime un utilisateur
addgroup ajoute un groupe
delgroup supprime un groupe

processus

commandeaction
ps afficher les processus de l'utilisateur rattachés à un terminal
ps ax afficher tous les processus
ps aux afficher tous les processus en indiquant les utilisateurs
pstree afficher les processus dans une arborescence
top afficher un tableau de bord des processus les plus gourmands
kill signal pid tuer un processus en utilisant son pid
pkill signal nom tuer un processus en utilisant le nom du programme

signaux utilisés par kill/pkill

signalaction
-1 (HUP) recharger le fichier de configuration du processus
-2 (INT) interrompre le processus
-3 (QUIT) quitter le processus
-9 (KILL) tuer le processus (à eviter, tenter -15 avant)
-15 (TERM) terminer le processus proprement
-18 (STOP) geler le processus
-20 (CONT) reprendre l'exécution d'un processus gelé

tâches périodiques (cron)

commandeaction
crontab -l liste les tâches de l'utilisateur
crontab -e editer les tâches de l'utilisateur
crontab -e -u user editer les tâches de user (root only)

syntaxe de crontab
le fichier crontab est composé de commandes comprenant 5 champs temporels, un nom d'usager si il s'agit du fichier de configuration principal et d'une commande à exécuter.
les 5 champs temporels:

  • m minutes (0-59)
  • h heures (0-23)
  • dom numéro du jour du mois (1-31)
  • mon numéro du mois (1-12)
  • dow numéro du jour de la semaine (0-7 avec dimanche = 0 & 7)

les types de variables:

  • x,y liste de valeurs
  • x-y intervalle de valeurs
  • * toute la valeur
  • /n période

exemples:

crontabaction
0 5 * * * commande exécute commande tous les jours à 5h00
*/5 * * * * commande exécute commande toutes les 5 minutes
10 22 * * 2/2 commande exécute commande un mardi sur deux à 22h10
53 21 * * 1-5 commande exécute commande du lundi au vendredi à 21h53
36 18 10,20 * * commande exécute commande les 10 et 20 du mois à 18h36
0 12 20 7 * commande exécute commande tous les 20 juillet à 12h00 (anniversaire)

matériel

commandeaction
lsusb liste les périphériques de type usb connectés
lspci liste les périphériques de type pci connectés
cat /proc/cpuinfo affiche les informations processeur
cat /proc/partitions affiche les partitions montées

exemples: (sources: linuxtrack)

commandeaction
lspci | grep -i vga | cut -d: -f3 afficher le modèle de sa carte graphique
lspci | grep -i network | cut -d: -f3 afficher le modèle de sa carte wifi
lspci | grep -i audio | cut -d: -f3 afficher le modèle de sa carte son

réseau

commandeaction
hostname affiche le nom d'hôte de la machine
ping machine envoie un ping à une machine
traceroute machine fait un traceroute vers machine
netstat affiche l'usage du réseau pas les processus
netstat -a netstat avec l'affichage des processus serveurs
lsof liste détaillée de l'usage des fichiers et du réseau
ifconfig affiche la configuration des interfaces réseaux
ifconfig interface IP masque configure une interface réseau
route affiche la table de routage
curl ifconfig.me vérifier son IP publique
ip address show eth0 | grep "inet " | tr -s " " ":" | cut -d: -f3 vérifier son IP locale pour eth0
/sbin/ifconfig eth0 | grep "inet " | tr -s " " ":" | cut -d: -f4
ip address show eth0 | grep "inet " | tr -s " " ":" | tr -s "/" ":" | cut -d: -f3

permissions

format des droits et permissions

format classique des droits et permissions d'un dossier/fichier: prenons l'exemple du dossier source de wmfs

┌─[arp@thinkdeb]─[~]
└─|$ ls -l /home/arp/wmfs/wmfs
total 64
-rwxr-xr-x 1 arp arp  2449 Apr  1 18:05 configure
-rw-r--r-- 1 arp arp  1528 Apr  1 18:05 COPYING
drwxr-xr-x 3 arp arp  4096 Apr  1 18:05 debian
-rw-r--r-- 1 arp arp  2128 Apr  1 18:05 Makefile.in
-rw-r--r-- 1 arp arp    22 Apr  1 18:05 README
drwxr-xr-x 2 arp arp  4096 Apr  1 18:05 scripts
drwxr-xr-x 2 arp arp  4096 Apr  1 18:05 src
-rw-r--r-- 1 arp arp 12741 Apr  1 18:05 wmfs.1
-rw-r--r-- 1 arp arp   117 Apr  1 18:05 wmfs.desktop
-rw-r--r-- 1 arp arp  1320 Mar 26 16:26 wmfs-gdb.log
-rw-r--r-- 1 arp arp  8629 Apr  1 18:05 wmfsrc

les permissions: -rwxr-xr-x ou drwxr-xr-x
le premier caractère correspond au type d'objet. les suivants se lisent par groupe de trois et définissent respectivement les droits accordés:

  • au propriétaire du fichier/dossier
  • au groupe propriétaire du fichier/dossier
  • aux autres utilisateurs
labeltype d'objet
- fichier
d répertoire
l lien
s socket
p fifo
c device (mode caractère)
b device (mode block)
labeltype de droits
- pas d'accès
r accès en lecture
w accès en écriture
x accès en exécution pour les fichiers, traversée pour les dossiers
s bit set-UID (user), bit set-GID (groupe)
t sticky bit: impossible d'effacer les fichiers des autres
S bit set-UID sans les droits d'exécution
T sticky bit sans droits de travesée

changer les droits et permissions

commandeaction
chown user fichier change le propriétaire de fichier à user
chgrp groupe fichier change le groupe de fichier à groupe
chmod mode fichier change les droits d'accès au fichier

le mode de chmod peut être sous la forme groupe(s)+droit(s) ou sous la forme octale SUGO/UGO

  • la forme groupe(s)+droit(s): ou groupe= u pour user, g pour groupe et o pour others.
    $ chmod ugo+rx $HOME/repertoire           ## permet à tous de lister (lire) et traverser le répertoire
    $ chmod go-rwx $HOME/repertoire/fichier   ## retire tous les droits à tous sauf au propriétaire du fichier
  • la forme octale SUGO où:
    • S : 1 (sticky-bit), 2 (set-GID) ou 4 (set-UID)
    • U,G et O : 1 (exécutable), 2 (écriture), 4(lecture). on additionne les formes par chiffre pour obtenir un mode octal à 4 chiffres.
  • $ chmod 1750 $HOME/repertoire  ## le propriétaire et le groupe peuvent lire et traverser le répertoire, seul le propriétaire peut y écrire ou l'effacer.
    $ chmod 660 $HOME/fichier      ## le fichier est accessible au propriétaire et au groupe en lecture et écriture

recherche

commande/optionaction
locate motif recherche des fichiers dont le nom correspond au motif
updatedb mettre à jour la base de données de locate
find chemin options recherche les fichiers correspondant aux options dans chemin
find -name motif recherche sur le nom du fichier. ex: find -name '*.html'
find -type f/d/l recherche par type où f=fichier, d=répertoire et l=lien
find -exec cmd exécute la commande cmd à tous les fichiers trouvés

exemple: trouver toutes les images avec l'extension png dans le dossier images de l'utilisateur et les copier dans le dossier tmp ( '{}' représente les fichiers trouvés).

 find $HOME/pics -name '*.png' -exec cp {} $HOME/tmp/ \;

archives

les commandes utilisées possèdent bien plus d'options que celles présentées ici, je vous invite à consulter les manuels concernés.

formatcompressionextraction
.tar.bz2, .tbz2 tar -cvjf archive.tar.bz2 repertoire tar xvjf
.tar.gz, .tgz tar -cvzf archive.tar.gz repertoire tar xvzf
.bz2 bzip2 fichiers bunzip2
.rar - unrar x
.gz gzip fichiers gunzip
.tar tar -cvf archive.tar fichiers tar xvf
.zip zip -r archive.zip fichiers unzip
.Z compress fichiers uncompress
.7z 7z a fichiers 7z x
.xz xz -z repertoire unxz

kernel

diverses infos sur le noyau linux utilisé

commandedescription
cat /proc/version version du noyau Linux utilisé, son nom, la version du compilateur utilisé.
uname -r version du noyau utilisé.
dpkg -l | grep -Ei "linux-headers|linux-image" liste les noyaux installés sur votre machine.
utilisateurs/arpinux/tutos/commandes-gnu-linux-memo-simplifie.txt · Dernière modification: 03/07/2016 00:12 par arpinux

Pied de page des forums

Propulsé par FluxBB