User Tools

Site Tools


Sidebar

Sidebar

Accueil

Menu Linux

Menu Windows

I. Partie LINUX

  • Préliminaire

Introduction Linux

LiveCD Linux

  • Installation

LiveCD Ubuntu

Installation Ubuntu

Ubuntu sur Netbook

Installation sur support USB

Installation sans CD-ROM

Installations, mise à jour

Réinstallation/Migration version Ubuntu

Applications Ubuntu

Utilitaires Linux

Documentation-Aides

* Aller plus loin

Arborescence Ubuntu

Recherche Ubuntu

Edition Linux

Terminal & Super Utilisateur

Commandes Linux (1)

Commandes Linux (2)

Utilisateurs, groupes, droits

Imprimante Linux

Compression-Archivage

Déplacer le /home

Bureau-Gnome

  • Réseau

Connexion Linux

Réseau Linux

Paramétrage routeur

Analyse Réseau - Gestion parc

Partages,Transferts

Disque-Réseau

Contrôle à distance

Serveur Linux

OpenVPN

Sécurité Linux

Migration Linux Petite entreprise

  • Utiliser des applications Windows

Virtualisation

Wine: Applications Windows sous Linux

  • Téléphonie VOIP

Asterisk, TrixBox, Elastix

Routeur double Wan

  • Maintenance, dépannage

Sauvegarde Linux

Synchronisation Linux

Dépannage Ubuntu

Antivirus Linux

Grub

Grub2

Partitions Linux

Fichier fstab

Récupération de fichiers, partitions

  • BDD

BDD Linux

Access/MySQL

Talend Open Studio

II. Partie commune

Présentation

  • Internet

Navigation Internet

Thunderbird (1)

Thunderbird (2)

Thunderbird (3)

Courrier GMail

  • Création de site

Joomla

  • Bureautique

Open Office

  • Graphisme

Picasa

  • Photo

Photo: Théorie

Photo: Pratique

Diaporama, site photos

Retouche: Gimp

  • Vidéo

YouTube

  • BDD

Access/MySQL

III. Partie WINDOWS

  • Préliminaire

Logiciels Windows

Utilitaires Windows

  • Internet

Connexion Internet

Export OutlookExpress

Changement d'ordinateur

Agenda

Blog: Dotclear

Exploration/Dépannage Internet

  • Création de site

Joomla

Dreamweaver

  • Réseau

Partage Connexion

Partage Fichiers

Partage Imprimante

Transfert Fichiers

  • Dépannage

Prévention-dépannage Windows

  • Divers

Anti-virus

Gravure CD

Installation périphérique Windows

Partitions Windows

Organisation disque dur

Sauvegarde-Synchronisation Windows

Putty

Contrôle à distance

IV. Partie Android

Sidebar

Smartphone

commandes_linux_2

Commandes Linux - Partie 2

Nota important sur les espaces et noms utilisés

  • Pour nommer les fichiers ou répertoires, il est préférable de se limiter aux caractères alphabétiques minuscules et majuscules (de A-a à Z-z), aux chiffres (de 0 à 9), au point (.), au tiret (-) et au caractère de soulignement (_).
  • Eviter d'utiliser un espace qui est mal interprété par Linux.
  • Exemple: Répertoire “Dossier Nouveau”. Pour tenir compte de l'espace, deux solutions:
    • entourer le nom du répertoire avec des guillemets
ls "Dossier nouveau"
  • ajouter devant l'espace un back-slash:
ls Dossier\ nouveau
  • Le système Linux différencie les majuscules des minuscules. Cela signifie qu’un fichier dont le nom contient des majuscules est différent d’un fichier contenant des minuscules : “Essai” et “essai” sont deux fichiers distincts !

Attention ! Les caractères accentués peuvent provoquer des erreurs d’interprétation. Ce problème apparaît régulièrement lors d’échanges de fichiers entre deux ordinateurs utilisant des tables de codages ASCII distinctes (PC Windows, Mac et Linux)…



  • La première commande est pwd (Print Working Directory) pour connaître sa position absolue dans le répertoire , et son équivalent whoami (Who Am I?) qui affiche le nom de l'utilisateur courant, identique à logname et proche de who qui donne la liste des utilisateurs connectés.
  • La seconde commande est cd (change directory).
cd          # sans argument, ramène au répertoire personnel /home/login
cd ..       # pour remonter d'un cran dans l'arborescence
cd /        # pour remonter à la racine
cd -        # pour revenir au répertoire précédent. Avantage: indique le chemin absolu ensuite
cd /repertoire/ss-répertoire/ss-ss-répertoire  # adressage en navigation absolue (à partir de la racine)
cd repertoire/ss-répertoire/ss-ss-répertoire  # adressage en navigation relative (à partir du répertoire courant)
* La troisième est **ls** pour lister les fichiers du répertoire courant. Plusieurs options:
ls           # liste simple du contenu du répertoire courant 
ls -l        # affiche les propriétés des fichiers en colonne, un fichier par ligne
ls -A        # affiche les fichiers cachés du répertoire
ls -a        # affiche l'ensemble des fichiers cachés ou non
ls -la       # affiche les propriétés des fichiers cachés ou non
ls -R        # affiche l'arborescence de façon récursive
ls -t        # affiche par ordre de date de modification
ls <chemin>  # liste le répertoire indiqué par le chemin 

Exemple de réponse

drwxrwxr-x 2 guy Direction 4096 2007-09-04 10:45

Ces informations comportent:

  • d pour répertoire (directory), - pour un fichier
  • suivants: droits de lecture, d'écriture et d'exécution pour le propriétaire, le groupe et les autres utilisateurs (voir le § Attribution des droits du chapitre Serveur Linux)
  • un chiffre: 1 pour un fichier, supérieur à 1 pour un dossier
  • ensuite, le propriétaire, le groupe, la taille la date de dernière modification et le nom.
ls -F        # affiche plus d'informations: (*) fichier éxécutable, (/) répertoire, fichier classique 

Exemple

ls -F *
examples.desktop  Wifi.txt*

Bureau:
ls: ne peut ouvrir le répertoire Desktop: Permission non accordée

Documents:
RV082_User-Guide.pdf

Images:

Modèles:

Musique:

PDF:
RV016_-_Cisco_Systems.pdf

Public:

Telechargement:
autoscan-network-1.42-Linux-x86-Install*
autoscan-network-1.42-Linux-x86-Install.tar.gz
cupswrapperMFC7840W-2.0.2-1.i386.rpm
cupswrappermfc7840w_2.0.2-2_i386.deb

Vidéos:
  • la commande tree -d donne l'arborescence
guy@porthos:~$ tree -d /var
/var
|-- backups
|-- cache
|   |-- apache2
|   |   `-- mod_disk_cache
|   |-- apt
|   |   `-- archives
|   |       `-- partial
|   |-- cups
|   |   |-- ppd
|   |   `-- rss
|   |-- debconf
|   |-- hald
  • La commande sort affiche les lignes en ordre alphabétique ou selon tri spécifié (-r pour ordre inverse). Exemple:
§cat mon_fichier
def
xyz
abc
§sort mon_fichier
abc
def
xyz

Chemin relatif/absolu

Pour naviguer, deux possibilités pour donner le chemin:

  • chemin absolu. Il est basé sur la racine de l'arborescence et commence par “/” :
guy@Athos9:/boot/grub$ pwd
/boot/grub    # on est actuellement en /boot/grub
guy@Athos9:/boot/grub$ cd /home/guy/
guy@Athos9:~$ pwd
/home/guy     # on est arrivé dans /home/guy
  • chemin relatif. Le chemin relatif dépend du répertoire courant où se trouve l'utilisateur. Pour se déplacer dans un dossier de l'emplacement courant (par défaut home/utilisateur), vous employer cd suivi du nom du dossier : cd <dossier>. Pour aller plus vite, utiiser la complétion, taper le début de son nom puis appuyer sur la touche Tabulation. Exemple pour se rendre dans le bureau (Desktop).
guy@Athos9:~$ ls
Bureau        Documents         Images   Public  Telechargement
Copies_Ecran  examples.desktop  Modèles  Vidéos
Desktop       hud.workspace     Musique  
guy@Athos9:~$ cd Documents/
guy@Athos9:~/Documents$ 

Pour remonter d'un répertoire (aller à son parent), on utilise “..” derrière certaines commandes comme cd, ls….

guy@Athos9:~$ pwd
/home/guy     # on est actuellement dans /home/guy
guy@Athos9:~$ cd ..
guy@Athos9:/home$ pwd
/home         # on est remonté d'un cran dans /home
guy@Athos9:/home$ 

Recherche

Trois méthodes sont disponibles selon besoin (Pour plus de précisions, se reporter au chapitre Recherche):

locate

Permet de rechercher un fichier. Installation par mlocate:

sudo apt install mlocate

Peut nécessiter d'avoir, auparavant, fait la mise à jour de l'index par la commande updatedb en root (pour tenir compte des derniers changements).

sudo updatedb
locate fichier-truc

Locate peut faire une recherche simultanée sur plusieurs fichiers:

locate –i sdn.txt centos

find

Commande plus complexe, mais offrant plus d'options. Voir Find

find <chemin> -name <fichier>

fdfind

Recherche des entrées dans un fichier, alternative à find. Pour l'installer:

sudo apt install fd-find

fd est insensible à la casse, il est en couleurs. On peut lui créer un alias (alias fd=fd-find).

Exemples

fd baklava # Recherche avec partie du nom
Documents/Recettes/Baklavas.pdf
fd passwd /etc/ # ajouter le chemin pour le spécifier 
/etc/passwd
/etc/passwd-
/etc/security/opasswd
/etc/pam.d/passwd
/etc/pam.d/chpasswd

Options

-e extensions

fd -e xls # liste les fichiers .xls

- t type (f,file d,directory, l,symlink x,executable)

-c color (auto, never, always)

fd -td -c never Re

grep

Recherche d'un motif dans un fichier.

grep <motif> fichier

Pour rechercher dans la liste des fichiers ou répertoires du répertoire courant, utiliser “*”:

grep Mathieu *

Pour plus de précisions, consulter le chapitre Recherche Ubuntu

Options

-r recursively

Création d'un fichier

La commande touch permet de créer un fichier vide de même que le commande > dans certains shells.

touch nouveau-fichier  # ou > nouveau-fichier

On peut écrire dans un nouveau fichier avec la commande echo suivie d'une redirection.

 echo toto > nouveau-fichier  # va écrire "toto" dans nouveau-fichier

Utilisé aussi pour enregistrer des informations ou créer un fichier log.

last > last.log  # pour garder une trace des derniers logs sur un ordinateur

Affichage du contenu d'un fichier

  • Pour consulter le contenu d'un fichier, sans pouvoir le modifier, une commande simple est cat (lit ou “concatène”). Aprés l'affichage, le shell reprend la main. Exemple:
cat /etc/fstab

L'option -n affiche en même temps les numéros de ligne.

cat -n /etc/fstab
  • Quand le fichier est trop long pour être affiché en entier, deux programmes sont disponibles pour pallier à cette difficulté: more et less.
more <nom_fichier>          # permet de faire défiler page par page
less <nom_fichier>          # permet en plus de revenir en arrière

On passe à la page suivante par la barre d'espace, on remonte par la flèche Page précédente. Les deux se quittent par q.

  • La commande tail permet de n'afficher que les 10 dernières lignes d'un fichier. Très utile pour un fichier log toujours très long et dont la partie intéressante est en finale.

L'option -f (follow) affiche les lignes et réactualise ensuite. On peut ainsi observer les changements.

tail -f /var/log/messages  

On peut paramétrer le nombre de lignes à faire apparaître avec l'option -nxxx ou -n xxx. Exemple:

tail -n25 nmap.log  # ou -n 25. Très utile pour avoir les n dernières informations d'un fichier log
  • A l'opposé, la commande head affiche les 10 premières lignes d'un fichier. Le nombre de lignes se paramètre de la même façon que pour tail:
head -n25 nmap.log  # utile pour vérifier le fonctionnement
  • La commande nl visualise les fichiers avec numérotation des lignes.
guy@Astserv:~$ nl /etc/fstab
     1  # /etc/fstab: static file system information.
     2  #
     3  # Use 'vol_id --uuid' to print the universally unique identifier for a
     4  # device; this may be used with UUID= as a more robust way to name devices
     5  # that works even if disks are added and removed. See fstab(5).
     6  #
     7  # <file system> <mount point>   <type>  <options>       <dump>  <pass>
     8  proc            /proc           proc    defaults        0       0
     9  # / was on /dev/sda6 during installation
    10  UUID=dd8785e1-8e97-4c27-85eb-3f2b5a60e207 /               ext3    relatime,errors=remount-ro 0       1
    11  # /home was on /dev/sda7 during installation
    12  UUID=46d8f89a-6dea-4ee4-87b8-ee37fe11567c /home           ext3    relatime        0       2
    13  # swap was on /dev/sda5 during installation
    14  UUID=7173c442-20a9-4b74-bf2a-bd547a690251 none            swap    sw              0       0

Mais, s'il y a besoin d'éditer pour faire la correction, rien ne vaut Gedit avec affichage des numéros de ligne. Voir chapitre Edition Linux

Si besoin, compléter par more pour faire défiler page par page.

nl /etc/asterisk/extensions.conf | more

Affichage du contenu d'un répertoire

1- Pour lister un répertoire, utiliser ls ou dir. De nombreuses options sont disponibles: -t par ordre chronologique…

ls /home/login/repertoire-1  # liste le contenu de repertoire-1

2- Pour lister le contenu d'un répertoire chargé (ici /dev), on utilise la commande ls avec l'opérateur pipe (|) (ou “tube”), accessible par la combinaison de touches AltGr+6, accompagné de more ou de less.

ls /dev | more       # permet de visualiser calmement le répertoire. Page suivante par touche Espace. Sortie par Ctl+C/dev

Les options suivantes peuvent être utilisées:

  • -a affiche aussi les fichiers cachés (commençant par .)
  • -l afficage détaillé: permissions, propriétaire, groupe, taille (octets), date modif, nom
  • -lh (human) idem avec taille en ko, Mo, Go
  • –sort=time par ordre chronologique
guy@Athos:~$ ls -l /home/guy/Musique/
total 24152
drwxr-xr-x 2 guy guy    4096 2008-11-04 10:57 Concerto-n°27-Mozart
-rw-r--r-- 1 guy guy 8962090 2007-08-26 21:43 Do_You_Know-E.Iglesias.mp3
-rw-r--r-- 1 guy guy 9484770 2007-08-27 16:14 Incubus - Love Hurts.mp3
drwxr-xr-x 2 guy guy    4096 2008-11-22 20:49 La_fete_polonaise
-rw-r--r-- 1 guy guy 6211899 2007-08-27 16:25 Paralyser - Finger Eleven.mp3
-rw-r--r-- 1 guy guy    6447 2008-11-22 20:38 tm081103.aup~
drwxrwxr-x 3 guy guy    4096 2008-11-22 20:38 tm081103_data

3- Pour lister le niveau moins un d'un répertoire, rajouter (*). On a alors le contenu de chaque répertoire auquel on a accès.

guy@Ubuntu:/home$ ls *
guy:
Bureau        Documents         Modèles  Public          Wifi.txt
Copies_Ecran  examples.desktop  Musique  Telechargement
Desktop       Images            PDF      Vidéos

jericho:
examples.desktop
ls: ne peut ouvrir le répertoire lost+found: Permission non accordée

4- Pour lister le contenu d'un répertoire, on peut aussi utiliser la commande dir (directory):

guy@promoserv2~ >dir /var/www                                       
apache2-default  index.html  info.php  munin  ocsreports  smokeping
guy@Athos-U9:~$ dir -l
total 36
drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Bureau
drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Documents
drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Downloads
-rw-r--r-- 1 guy guy  357 2009-10-24 16:11 examples.desktop
drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Images
drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Modèles
drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Musique
drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Public
drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Vidéos
 

Type de fichier

Pour visualiser le type d'un fichier, utilser la commande file suivie du fichier (chemin relatif ou absolu).

 file /home/<login>/essai.doc
/home/<login>/essai.doc: Microsoft Office Document

Edition de texte

L'édition permet de modifier un fichier, à condition de l'ouvrir avec les droits d'administration (sudo, gksu ou gksudo).

  • L'éditeur de texte d'Ubuntu par défaut (en lignes de commande) nano est le plus simple d'emploi. Pour pouvoir faire des corrections, il faut être en root. Exemple pour l'édition du “Grub”:
sudo nano /boot/grub/menu.lst

On passe de page en page par les commandes correspondantes, on quitte par CTL+X, on enregistre par Y (yes) et Enter.

  • NB: Si on préfère passer en mode graphique, utiliser Gedit qui offre un mode de coloration parlant et qui peut afficher les numéros de ligne (très commode pour les corrections):
gksu gedit /boot/grub/menu.lst
  • La commande tail permet de n'afficher que les 10 dernières lignes d'un fichier. Très utile pour un fichier log toujours très long et dont la partie intéressante est en finale.

L'option -f (follow) affiche les lignes et réactualise ensuite. On peut ainsi observer les changements.

tail -f /var/log/messages  

On peut paramétrer le nombre de lignes à faire apparaître avec l'option -nxxx ou -n xxx. Exemple:

tail -n25 nmap.log  # ou -n 25. Très utile pour avoir les n dernières informations d'un fichier log
  • A l'opposé, la commande head affiche les 10 premières lignes d'un fichier. Le nombre de lignes se paramètre de la même façon que pour tail:
head -n25 nmap.log  # utile pour vérifier le fonctionnement
  • La commande nl visualise les fichiers avec numérotation des lignes. Commande très utile quand on a un message d'erreur avec indication du numéro de ligne.
  • L'éditeur emacs est le plus répandu, outil extrêmement puissant avec toute une panoplie de commandes-clavier. Nécessite un apprentissage de même que pour vim. Attention, les conventions ne sont pas les mêmes. Se reporter au chapitre Edition Linux.
Une partie spécifique à l'édition Linux du Dokuwiki est sur Edition Linux. Elle présente différentes solutions d'éditeur Linux

Compter les lignes

La commande wc (Word Count) permet de compter le nombre de lignes d'un fichier, mais aussi le nombre de mots ou de caractères. Option -l pour les lignes:

wc -l mon-fichier

Cette commande va donner le nombre de lignes contenues dans le fichier mon-fichier. Pour avoir le nombre de mot l'option est -w (word), l'option -c compte le nombre de caractères.

La commande wc sans option donne à la fois le nombre de lignes, le nombre de caractères et le nombre de mots.

guy@Athos-U9:~$ echo -n toto | wc
      0       1       4

Pour connaître le nombre de fichiers dans un répertoire, la commande sera donc :

ls -1 | wc -l  # on liste d'abord en colonne et on compte les lignes

Statut d'un fichier

La commande stat montre les derniers changements sur un fichier.

root@promoserv/var/www/freepbx/admin/cdr >stat call-log.php           15:45 #821
  File: `call-log.php'
  Size: 42522     	Blocks: 88         IO Block: 4096   regular file
Device: 801h/2049d	Inode: 475823      Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  111/asterisk)   Gid: (  119/asterisk)
Access: 2009-08-04 13:11:53.000000000 +0200
Modify: 2009-07-31 21:43:11.000000000 +0200
Change: 2009-08-04 08:25:02.000000000 +0200

Browser en ligne de commande

Trois solutions: links, lynx ou w3m.

Exemples:

Links:

links free.fr

W3M

w3m free.fr

w3m

w3m-1

Selon les applications, on sort par Q ou par Ctl+C.

Opérations sur les fichiers/répertoires



Nota important sur les baptêmes

  • Pour nommer les fichiers ou répertoires, il est préférable de se limiter aux caractères alphabétiques minuscules et majuscules (de A-a à Z-z), aux chiffres (de 0 à 9), au point (.), au tiret (-) et au caractère de soulignement (_).
  • Eviter d'utiliser un espace qui peut être mal interprété en Linux.
  • Le système Linux différencie les majuscules des minuscules. Cela signifie qu’un fichier dont le nom contient des majuscules est différent d’un fichier contenant des minuscules : “Essai” et “essai” sont deux fichiers distincts !
  • Attention ! Les caractères accentués peuvent provoquer des erreurs d’interprétation. Ce problème apparaît lors d’échanges de fichiers entre deux ordinateurs utilisant des tables de codages ASCII distincts (PC Windows, Mac et Linux)…



Copie

La commande est cp. La copie d'un fichier se fait par

cp fichier fichier-copy       # en ajoutant si nécessaire le chemin du nouveau fichier-copy

Pour copier plusieurs fichiers dans un même répertoire

cp fichier1 fichier2 fichier3 /repertoire-arr

Pour les répertoires, ajouter l'option -R pour copie récursive

cp -R repert_n repert_n-copy       # en ajoutant si nécessaire le chemin du nouveau repertoire-copy

Renommer/Déplacer

La commande mv permet de:

  • renommer un fichier
mv fichier fichierc
  • renommer un répertoire (sur place)
mv repertoire1 repertoire2
  • déplacer des fichiers/répertoires vers un répertoire d'arrivée
cp fichier1 fichier2 fichier3 /repertoire_arr  # les fichiers sont déplacés au nouveau répertoire

Création de fichier vide

Pour créer un fichier vide, deux commandes équivalentes:

  • touch
  • >
touch dossier_1/fichier_x  
> dossier_1/fichier_x  

Suppression de fichiers/répertoires

  • La commande rm (remove) permet de supprimer des fichiers ou des répertoires. Condition: en être propriétaire ou être en root.
sudo rm -i fichier

Les options sont:

  1. -d directory
  2. -f force
  3. -i interactive
  4. -r remove directories and their contents recursively
  • La suppression d'un répertoire vide se fait par rmdir.
  • Pour supprimer un répertoire non vide, utiliser rm avec les options suivantes possibles:
rm -ri repertoire   # suppression des fichiers interactive
rm -rf repertoire   # sans message d'erreur, ni confirmation

Création de répertoire

La commande mkdir (make directory) permet de créer un ou des répertoires:

mkdir rep1 rep2 rep3      # créera les 3 répertoires

L'option -p permet de créer l'arborescence:

mkdir -p /rep1/rep2/rep3   # créera /rep1 et /rep1/rep2 s'ils n'existent pas et ensuite /rep1/rep2/rep3

Opérations sur les disques

Monter un périphérique

La commande pour monter un périphérique est mount.

sudo mount <Source> <MountPoint>

Exemple:

sudo mount /dev/sdb1 /media/sdb1  # il faut naturellement que le répertoire sdb1 existe déjà ou ait été créé dans /media par mkdir

Mount lit le fichier /etc/fstab, la commande indique la source et le point de montage, nécessite le mode adminisrateur.

sudo mount /dev/sdc /media/cdrom0

Pour connaître l'état des partitions montées, taper:

sudo mount

Pour démonter le périphérique, c'est la commande umount. Pour démonter le CD, on indique

  • soit le périphérique
sudo umount /dev/sdc
  • soit le point de montage.
sudo umount /media/cdrom0

Le tiroir du CD est maintenant débloqué.

Pour démonter l'ensemble des périphériques montés:

sudo umount -a

Nota En cas de problème avec umount (réponse: device is buzy):

  • vérifier que l'un des fichiers de la partition n'est pas ouvert
  • trouver la ressource qui occupe la partition par lsof (List Open Files) et la tuer par kill avec l'option -KILL (commande impossible de bloquer)
sudo lsof | grep sdax
xmms      4848    login    9r   REG        3,6 3430341     
login@ubuntu:login$ kill -KILL 4848
sudo umount /dev/sdax

Formater un volume

Plusieurs solutions utilisables:

  • gparted qui lance l'éditeur de partitions en mode graphique
  • cfisk avec un interface proche du fdisk du DOS. Le choix des options se fait par les flèches.
  • mkfs (MaKe File System) qui formate des volumes au système de fichiers voulu (par défaut ext2, si non précisé). Exemple:
sudo umount /dev/sda1          # pour démonter au préalable sda1
sudo mkfs -t ext3 /dev/sda1    # pour formater le disque externe USB sda1 en ext3

Ne pas oublier de l'ajouter dans le fichier /etc/fstab pour que partition de disque soit prise en compte au démarrage.

Espace disponible

  • df (disk free), pour connaître la taille des partitions et l'espace disponible sur les systèmes de fichiers montés.
df -h      # L'option -h (human) affiche les réultats sous forme plus compréhensible
root@jeriserv/home >df -h                                             18:39 #99
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1              19G  1,9G   16G  11% /
varrun                474M  260K  474M   1% /var/run
varlock               474M     0  474M   0% /var/lock
procbususb            474M  104K  474M   1% /proc/bus/usb
udev                  474M  104K  474M   1% /dev
devshm                474M     0  474M   0% /dev/shm
/dev/hda3             210G   39G  161G  20% /home
  • df -kTh donne des informations plus complètes
guy@Athos:~$ df -kTh
Sys. de fich. Type    Tail. Occ. Disp. %Occ. Monté sur
/dev/sdb3     ext3     39G  5,9G   32G  16% /
tmpfs        tmpfs    1,8G     0  1,8G   0% /lib/init/rw
varrun       tmpfs    1,8G  384K  1,8G   1% /var/run
varlock      tmpfs    1,8G     0  1,8G   0% /var/lock
udev         tmpfs    1,8G  2,9M  1,8G   1% /dev
tmpfs        tmpfs    1,8G   12K  1,8G   1% /dev/shm
lrm          tmpfs    1,8G  2,0M  1,8G   1% /lib/modules/2.6.27-11-generic/volatile
/dev/sdb5     ext3    219G   82G  127G  40% /home
/dev/sda1  fuseblk    167G   37G  130G  23% /media/DONNEES_200
/dev/sdb2  fuseblk    118G  108G  9,4G  93% /media/DONNEES_500
/dev/sdb1  fuseblk     59G  6,6G   53G  12% /media/Disque_C
/dev/sdb6     ext3     28G  4,1G   23G  16% /media/U8.04
/dev/sda2     ext3     21G   14G  5,9G  70% /media/sdb2
  • Commande plus complète combinant fdisk pour voir les disques et partitions, la commande df et la liste des partitions montées:
sudo fdisk -l ; echo "--------------------------" ; df -kTh ; echo "--------------------------" ; ls -l /dev/disk/by-label/ 
  • du (disk usage) calcule l'espace utilisé dans le répertoire local du moment.
du -ch  # pour avoir les fichiers et le total sous forme parlante

L'option -s ne fait apparaitre que la somme:

On retrouve les 39 Go occupés sur /dev/hda3 qui est la partition du home (voir commande df -h).

  • Autre commande, parted -s avec une autre présentation.
Athos-U9% sudo parted -s /dev/sda print
Modèle: ATA SAMSUNG HD501LJ (scsi)
Disque /dev/sda : 500GB
Taille des secteurs (logique/physique) : 512o/512o
Table de partitions : msdos

Numéro  Début   Fin     Taille  Type      Système de fichiers  Fanions  
 1      32,3kB  62,9GB  62,9GB  primary   ntfs                 démarrage
 2      62,9GB  201GB   138GB   primary   ntfs                          
 4      201GB   500GB   299GB   extended                       lba      
 6      201GB   216GB   14,7GB  logical   ext4                          
 7      216GB   231GB   15,2GB  logical   ext3                          
 5      231GB   468GB   237GB   logical   ext3                          
 8      486GB   498GB   11,4GB  logical   ext3                          
 9      498GB   500GB   2517MB  logical   linux-swap                    
Athos-U9% 
Partitions blkid
  • blkid Trouve ou affiche les attributs de périphérique bloc
sudo blkid -o list|grep sd

== Partitions lsblk ==

    * **lsblk** affiche des renseignements sur tout ou partie des périphériques bloc disponibles au format arborescent par défaut. 

<file>lsblk -o name,fstype,size,label,mountpoint | grep -v loop
NAME   FSTYPE     SIZE LABEL      MOUNTPOINT
sda               3,7T            
├─sda1            128M            
└─sda2 ext4       3,7T Maxtor     /media/guy/Maxtor
sdb             232,9G            
├─sdb1 ext4       858M            
├─sdb2              1K            
├─sdb5 ext4     124,6G h18.04.4   
└─sdb6 ext4      29,3G Mint19.3   
sdc             931,5G            
├─sdc1 ext4      39,1G 20.04      /
├─sdc2 ext4     127,2G h20.04     /home
├─sdc4              1K            
├─sdc5 ext4     360,2G FILMS      
└─sdc6 ext4     405,1G DONNEES410 
sdd               1,8T            
├─sdd2              1K            
├─sdd5 ext3     563,6G DONNEES560 
├─sdd6 ext4     785,3G DONNEES780 
├─sdd7 ext4     465,3G h18.04.3   
└─sdd8 ext4      48,8G            
sde               1,8T            
├─sde1              1K            
├─sde2 ntfs       512M            
├─sde3 ntfs      97,7G Win10      
├─sde4 vfat       513M            
├─sde5 ext4       1,1T DONNEES1To /media/HD1To
└─sde6 ext4     560,2G DONNEES    
sr0              1024M 

Vérification/Réparation d'une partition

La commande fsck (File System CHeck) permet de vérifier le bon état d'une partition Linux et si besoin, réparer automatiquement les erreurs qu'elle y trouve. Elle est lancée automatiquement à chaque démarrage où le système a détecté un arrêt anormal. Il est obligatoire de démonter une partition avant de lancer fsck ou e2fsck.

Options utiles:

  • -A vérifier toutes les partitions présentes dans /etc/fstab
  • -r réparer les erreurs de façon interactive
sudo umount /dev/sda10
sudo fsck -r /dev/sda10

La commande tune2fs permet notamment de configurer la fréquence de lancement de fsck.

sudo tune2fs -c 30 /dev/sda7    # pour une vérification de sda7 tous les 30 jours

Pour plus de détails, consulter http://doc.ubuntu-fr.org/fsck

Copie d'une partition

Pour copier le contenu d'une partition sur une autre, entrer la commande:

cp -dpr /source. /cible  # ou commande cp -a qui est équivalente

Exemple: voir Déplacer le /home

Lien symbolique

  • Pour créer un lien symbolique à un endroit (Lien en Linux ou Raccourci en Win ou alias sur Mac), on utilise la commande ln -s
ln -s chemin_origine chemin_alias
  • Si on est déjà dans le répertoire d'arrivée, on n'a plus besoin de l'écrire.
root@jeriserv:/var/www/freepbx# ln -s ../munin  # on crée un lien avec le répertoire munin qui est à un niveau au-dessus
root@jeriserv:/var/www/freepbx# ll
total 28
drwxrwx--- 8 asterisk asterisk 4096 2009-09-15 21:14 admin
drwxr-x--- 2 asterisk asterisk 4096 2009-07-21 14:27 _asterisk
-rw-r--r-- 1 root     root      602 2009-07-21 14:27 index.html
lrwxrwxrwx 1 root     root        8 2009-11-16 20:07 munin -> ../munin  # on voit ici le lien créé
drwxrwx--- 2 asterisk asterisk 4096 2009-07-21 14:41 panel
drwxrwx--- 7 asterisk asterisk 4096 2009-07-21 14:27 recordings

Réseaux

  • ifconfig : configure et affiche les paramètres d'une interface réseau, la deuxième ligne contient l'adresse IP de la machine (inet addr.).
  • ping : effectue un ping sur une machine distante.
  • traceroute : trace la route vers une machine distante routeur par routeur.
  • hostname : affiche le nom de la machine.
  • whois : donne les informations sur l'enregistrement des noms de domaine Internet.

Généralités Réseau

Se reporter également aux chapitres Connexion Linux, Réseau Linux et suivants…

Protocole FTP

  • lftp : client FTP en ligne de commande (Non sécurisé, donc exclure son utilisation hors réseau local).

Pour démarrer une liaison FTP avec un ordinateur à adresse donnée sous un login déterminé

lftp login@adresse_serveur   # Répondre au mot de passe (Faire ensuite ls pour se situer)
ls
  • put : envoie le fichier local désigné vers la machine distante dans le répertoire courant
  • get ou wget (Www GET) : télécharge le fichier distant désigné vers la machine locale
  • quit : quitte le FTP

Protocole SFTP

  • sftp (secure file transfer program) : programme de transfert de fichiers sécurisé
sftp serveur_distant         # le serveur demande le mot de passe de l'utilisateur courant

Si le nom d'utilisateur distant est différent de l'utilisateur local actuel mettre l'argument login@serveur

sftp login@serveur_distant   # répondre au mot de passe

Pour afficher la liste des fichiers du répertoire courant, les commandes sont ls pour le distant et lls pour le local.

Pour afficher le répertoire courant, les commandes sont pwd pour le distant et lpwd pour le local.

Pour aller au répertoire <rep>, les commandes sont cd rep en distant et lcd rep en local.

Réglage clavier

Si par hasard on se retrouve en lignes de commande avec un clavier mal réglé, il y a moyen d'intervenir sur la configuration par la commande kbdrate.

sudo kbdrate -s(silence) -r[rate, çàd caract/sec] -d[delay]

Pour plus d'information sur les paramètres utilisés, faire un man kbdrate.

Synchronisation du temps

Le protocole NTP (Network Time Protocol) permet de synchroniser par Internet des postes sur des serveurs de temps. L'application ntpdate assure cette fonction, elle est installée de base, elle doit être lancée en sudo en ajoutant l'adresse du serveur NTP.

sudo ntpdate ntp.ubuntu.com  

Pour les serveurs NTP, on peut choisir parmi fr.pool.ntp.org, pool.ntp.org, ntp.unice.fr, ntp.ubuntu.com, etc…

Aide à la programmation

echo

La commande echo permet d'imprimer à l'écran des informations, elle imprime ses arguments sur la sortie standard.

§ echo Bonjour, le monde
Bonjour, le monde

Options utilisables:

-e Reconnaître les caractères d'échappement

Ce qui permet d'utiliser des caractères d'échappement:

- \n Retour à la ligne

- \t Tabulation horizontale

- \\ Anti-slash

- \' Guillemet simple

- \“ Guillemet double

Exemple:

guy@Athos:~$ echo -e 'auto lo\niface lo inet loopback\n\nauto eth0\niface eth0 inet dhcp'
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

tee

Sert à écrire des données intermédiaires dans un fichier. Exemple:

echo -e 'auto lo\niface lo inet loopback\n\nauto eth0\niface eth0 inet dhcp' | sudo tee /etc/network/interfaces  # met les nouveaux paramétres dans le fichier interfaces

Autre exemple, pour ajouter un module ath5k (Wifi):

echo ath5k | sudo tee -a /etc/modules  # va ajouter une ligne dans le fichier

Exécution automatique de commandes

cron

cron est un service ou daemon pour programmer des actions à un moment défini. L'équivalent graphique est gnome-schedule.

  • Ainsi, on peut facilement automatiser des tâches à effectuer de façon régulière en ajoutant une entrée dans le fichier crontab.

Pour lister les tâches enregistrées, faire crontab -l.

crontab -l

Pour éditer le fichier crontab, faire crontab -e.

crontab -e

La syntaxe est de la forme:

m h dom mon dow [nom_utilisateur] commande > <fichier_log>   # pour créer un fichier log
m h dom mon dow [nom_utilisateur] commande >> <fichier_log>  # pour ajouter à la fin du fichier

dans laquelle

  • m (min) indique les minutes
  • h (hour) indique les heures
  • dom (day of month) indique le numéro du jour du mois
  • mon (month) indique le numéro du mois
  • dow (day of week) indique le jour de la semaine (0 à 6)
  • commande représente la commande à lancer
  • <fichier_log> représente le nom du fichier où enregistrer le résultat.

Pour indiquer que la tâche s'effectue toutes les 15 minutes de 8h00 à 20h00 du lundi au vendredi, on écrit

0,15,30,45 8-20 * * 1-5 [nom_utilisateur] commande > <fichier_log>

On peut également utiliser la syntaxe

*/15 8-20 * * 1-5 [nom_utilisateur] commande > <fichier_log>

Les différents raccourcis crontab sont les suivants:

Raccourci Fréquence
@reboot Au démarrage
@yearly Tous les ans
@monthly Tous les mois
@weekly Toutes les semaines
@daily Une fois par jour
@hourly Une fois par heure

Pour une synchronisation de l'horloge de l'ordinateur toutes les 3 heures sur le serveur de temps de l'Université de Nice, on utilise la commande ntpdate avec la ligne suivante au crontab:

30 9,15,21 * * * /usr/sbin/ntpdate -s ntp.unice.fr
  • Il faut savoir que si l'ordinateur est utilisé par plusieurs personnes, la tâche cron est effectuée par la personne qui l'a écrite par la commande crontab -e.
  • Pour qu'elle soit réalisée quelque soit le login, il faut éditer etc/crontab et ajouter, par exemple, la ligne:
0 18 * * * root ntpdate /usr/sbin/ntpdate pool.ntp.org  # pour le faire en root

<note important>Bien vérifier les droits d'exécution du fichier /etc/crontab </note> Relancer ensuite cron

sudo restart cron  " ou "service cron start"

anacron

anacron offre l'avantage de pouvoir effectuer des tâches périodiquement. Il est particulièrement adapté pour des postes qui ne sont pas allumés en permanence. Pour anacron, on paramètre le fichier /etc/anacron.

Très utile par exemple, pour faire des sauvegardes différentielles rdiff-backup ou des synchronisations par rsync ouGrsync.

Divers

Penser également à la programmation via le fichier /etc/rc.local.

Symbôles supplémentaires

Point-virgule

Le point-virgule ; marque la fin d'une commande et le commencement d'une autre. Les commandes seront éxécutées de manière inconditionnelle. La première qui échoue, n'empêche pas la suite d'être éxecutée.

echo a; sleep 5; echo b

Ici, on affiche a, on attend 5 secondes et on affiche b.

Simple supérieur

Après chaque commande, la console réagit la plupart du temps avec un message de réponse type standard (canal STDOUT) ou un message d'erreur (canal STDERR). Il est possible de rediriger la sortie vers un fichier pour en garder trace avec le symbôle >. Si ce fichier n'existe pas, il est créé. S'il existe, il est écrasé.

<commande> > fichier_sortie     # crée ou écrase  fichier_sortie

Il est possible de rediriger la sortie d'une commande qui écrit l'erreur standard vers un fichier.

<commande-c> 2> fichier_erreur  # crée ou écrase fichier_erreur

Pour rediriger à la fois la sortie standard et l'erreur standard vers des fichirs, deux solutions:

  • <commande> > fichier_sortie 2> fichier_erreur  # fichiers séparés
  • <commande> > fichier_sortie-erreur 2>&1        # fichier commun

Double supérieur

Le symbôle double supérieur » permet de rediriger à la fin du fichier de sortie, sans écraser le précédent.

ps -A > /tmp/ps.log; dmesg >> /tmp/ps.log  # stocke le résultat de ps -a puis ajoute celui de dmesg

Pense-bête commandes Linux

Le tableau suivant constitue une bonne récapitulation de commandes courantes: http://media.biologeek.com/realisations/doc_ubuntu_fr/ubuntu_fr_carte_reference3.pdf

Arrêt serveur X

Pour installer, par exemple, le pilote NVIDIA correspondant à une carte graphique GeForceFX5700, la procédure impose d'arrêter le serveur X qui pilote l'interface graphique de Linux:

- A partir d'Ubuntu, faire Ctl+Alt+F1, l'affichage passe en console.

- Passer en super-utilisateur et arrêter le daemon correspondant:

su
/etc/init.d/gdm stop

Le serveur X s'arrête, faire l'installation.

- Relancer le serveur X par la commande inverse:

/etc/init.d/gdm start

Solution alternative

Au lieu d'arrêter le serveur X, il suffit de ne pas le démarrer. Pour cela, au moment du démarrage, choisir dans le menu Grub, l'option Ubuntu (Recovery mode). On se retrouve alors en mode console pour procéder à l'installation.

commandes_linux_2.txt · Last modified: 2020/07/30 17:50 by guy