Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Menu Linux

Menu Windows

iPhone

Raspberry

I. Partie LINUX

  • Préliminaire

Introduction Linux

LiveCD Linux

  • Installation

LiveCD Ubuntu

Installation Ubuntu

Ubuntu Studio

Cubuntu

Ubuntu sur Netbook

Installation sur support USB

Installation sans CD-ROM

Installation Second Ubuntu

Réinstallation sur mono-partition

Installations, mises à jour

Réinstallation/Migration version Ubuntu

Applications Ubuntu

Documentation-Aides

  • Aller plus loin

Arborescence Ubuntu

Recherche Ubuntu

Edition Linux

Shell/Terminal/Super Utilisateur

Commandes Linux (1)

Commandes Linux (2)

Utilisateurs, groupes, droits

Imprimante/Scanner Linux

Compression-Archivage

Déplacer le /home

Fusion de deux /homes

Bureau-Gnome

Environnement graphique

Imagemagick

Dokuwiki

Second Dokuwiki

  • Réseau

Connexion Linux

Réseau Linux

Paramétrage routeur

Répéteur Wifi

Analyse Réseau - Gestion parc

Partages Linux

Partage anonyme Samba

Exemple Partage Samba

Fichier partage Samba

Exemple Réseau NFS

Webmin

Usermin

Transferts Linux

Contrôle à distance

Contrôle à distance Linux

Authentification SSH

Echange clés SSH

Ajaxplorer

Analyse Réseau - Gestion parc

Inventaire informatique

Disque-Réseau

Serveur NAS DNS320

Disque USB

Serveur Linux

Serveur Ubuntu

Changement de serveur]

Conversion Desktop->Serveur

Diffusion Multmedia

Serveur Proxy

Management serveur HP Proliant G6

OpenVPN

Sécurité Linux

Wake-on-LAN

Migration Linux Petite entreprise

Ubuntu One

  • Courrier

Courrier en Terminal

  • Utiliser des applications Windows ou d'autres OS

Virtualisation (1): VirtualBox

Virtualisation (2): Proxmox

Wine: Applications Windows sous Linux

  • Téléphonie VOIP

Asterisk, TrixBox

Elastix

Routeur double Wan

  • Maintenance, dépannage

Sauvegarde

Sauvegarde Linux(1): Backup-Manager

Sauvegarde Linux(2)

Sauvegarde Partitions

Sauvegarde Nuage

Synchronisation Linux

Automatisation tâches cron

Rsyncd

Dépannage Ubuntu

Antivirus Linux

Spam & Publicité

Grub

Grub2

Grub-rescue

Partitions Linux

Fichier fstab

LVM

RAID

Installation RAID1

Installation RAID sur installation Ubuntu

Récupération de fichiers, partitions

  • BDD

BDD Linux

Access/MySQL

Talend Open Studio

II. Partie commune

Présentation

  • Internet/Réseau

Navigation Internet

Thunderbird (1)

Thunderbird (2)

Thunderbird (3)

Courrier GMail

Jabber

Fonctions Freebox

  • Création de site/blog

Joomla

Blog: Dotclear

Dreamweaver

  • Bureautique

OpenOffice/LibreOffice

  • Graphisme

Picasa

  • Photo

Photo: Théorie

Photo: Pratique

Diaporama, site photos

Retouche: Gimp

  • Gravure

Gravure CD

  • Vidéo

YouTube

  • BDD

BDD Linux

Access/MySQL

Gestion Bibliothèque/Archives

Généalogie

Redmine

III. Partie WINDOWS

  • Préliminaire

Logiciels Windows

Utilitaires Windows

  • Internet

Connexion Internet

Export OutlookExpress

Changement d'ordinateur

Agenda

Exploration/Dépannage Internet

  • Réseau

Partage Connexion

Partage Fichiers

Partage Imprimante

Transfert Fichiers

  • Dépannage

Prévention-dépannage Windows

  • Divers

Anti-virus

Installation périphérique Windows

Partitions Windows

Organisation disque dur

Sauvegarde-Synchronisation Windows

Putty

Contrôle à distance

BDD Windows

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 bien interprété par Linux, mais plus diffile à utiliser en ligne de commande.
  • Exemple: Répertoire "Dossier Nouveau". Pour tenir compte de l'espace, trois solutions:
    • entourer le nom du répertoire avec des guillemets
      ls "Dossier nouveau"
    • ajouter devant l'espace un back-slash:
      ls Dossier\ nouveau
    • utiliser la complétion dans les commandes. C'est Linux qui gérera ces espaces.
  • 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 sont disponibles:
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 -ld       # ( -- directory) affiche les propriétés du répertoire au lieu de celui du contenu
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 -sh       # affiche les tailles et les noms des fichiers
ls -lct        # affiche en colonne 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
* ncdt donne également l'arborescence (l'option d limite aux répertoires)
$ ncdt  /etc/smokeping/
`-- [     10,940] /etc/smokeping/
   |-- [        203] apache2.conf
   |-- [        290] config
   |-- [      1,563] smokemail
   |-- [      2,994] config.d
   |  |-- [        876] Presentation
   |  |-- [        511] Alerts
   |  |-- [        455] Targets
   |  |-- [        423] General
   |  |-- [        155] Slaves
   |  |-- [         50] Probes
   |  |-- [        287] pathnames
   |  `-- [        237] Database
   |-- [      2,075] basepage.html
   `-- [      3,815] tmail
  • 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. 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
  • find. Commande plus complexe, mais offrant plus d'options. Voir Find
find <chemin> -name <fichier>
  • 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

Création d'un fichier

Fichier vide

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

touch nouveau-fichier

ou, plus simple:

> nouveau-fichier

On peut écrire directement 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 de la commande last sur un ordinateur

Fichier avec contenu

Pour créer un fichier et y mettre le contenu, on peut utiliser la procédure suivante:

  • sélectionner le texte qui sera le contenu
  • commande cat avec un chevron pour donner le nom du fichier
  • la commande attend le contenu. On le rentre par coller-Linux
  • on peut y ajouter encore du texte
  • terminer par un saut de ligne et CTL+D.
guy@Athos:~$ cat > essai_commande_cat
contenu du fichier
saut de ligne
fin
guy@Athos:~$ cat essai_commande_cat 
contenu du fichier
saut de ligne
fin
guy@Athos:~$ 

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", mais ceci est une fonction complète à part [voir plus bas]). Aprés l'affichage, le shell reprend la main. Exemple:
cat /etc/fstab

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

cat -n /etc/fstab
  • La commande zcat permet de voir le contenu d'un fichier comprimé
  • 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 avec la barre d'espace
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 (équivalent de cat -n).
guy@Astserv:~$ nl /etc/fstab
     1  # /etc/fstab: static file system information.
     2  #
     3  # Use 'vol_id --uuid' to print the universally unique identcommandeifier 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

Concaténation

Pour concaténer deux fichiers-texte, la syntaxe est:

cat file1 file2 > file3

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

Les options suivantes peuvent être utilisées:

  • -a affiche aussi les fichiers cachés (commençant par .)
  • -l affichage 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

On peut aussi lister par ordre chronlogique des modifications avec les options -lt

guy@Athos:~$ ls -lt
total 27756
drwxrwxrwx  8 guy  guy      4096 2011-01-04 18:49 Téléchargements
-rw-r--r--  1 guy  guy     15136 2011-01-04 18:00 liste_paquets030111
drwxr-xr-x  3 guy  guy      4096 2011-01-04 00:41 Bureau
-rw-r--r--  1 root root     2387 2011-01-03 18:41 Dependances_Ubuntu-desktop
drwxrwxr-x  6 guy  guy      4096 2011-01-03 08:13 Ubuntu One
drwxr-xr-x  8 guy  guy      4096 2011-01-02 16:49 Documents
-rw-r--r--  1 guy  guy   7012352 2010-12-31 19:00 Archives_Sec.zip

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
 

Comparaison de deux fichiers ou répertoires

Les différences peuvent être identifiées ligne à ligne par la commande diff:

diff -r dossier1 dossier2  # avec récursivité dans les sous-dossiers

Type de fichier

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

$ file backup
backup: gzip compressed data, from Unix, last modified: Mon Mar  7 11:55:58 2011, max compression

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/répertoire

La commande stat montre les derniers changements sur un fichier ou sur un répertoire.

$ 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.

Exemple

w3m free.fr

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 est mal interprété par 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 pour la copie 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 que la copie soit récursive
cp -R repert_n repert_n-copy       # en ajoutant si nécessaire le chemin du nouveau repertoire-copy

Pour éviter la copie du répertoire, y compris le nom, utiliser ".*" derrière le chemin-origine:

sudo cp -aR rep_origine/.* /rep_destination

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 -v affiche les étapes de création
 ~$ sudo mkdir -v /home/rep1 /home/rep2 
mkdir: création du répertoire `/home/rep1'
mkdir: création du répertoire `/home/rep2'
  • L'option -p permet de créer l'arborescence si elle n'existe pas (on ajoute -v pour l'affichage:
~$ sudo mkdir -pv /rep1/rep2/rep3
mkdir: création du répertoire `/rep1'
mkdir: création du répertoire `/rep1/rep2'
mkdir: création du répertoire `/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
  • Si l'item concerné est inclus dans fstab, on peut le monter en donnant simplement le point de montage:
sudo mount /media/sdb1  # il faut naturellement que l'item soit dans fstab
  • 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/Espace occupé

  • 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 /home/<login>/Documents  # pour avoir les répertoires dans Documents et leur 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% 

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

Mémoire

Pour voir l'occupation de la mémoire, utiliser la commande free.

guy@Athos10:~$ free
             total       used       free     shared    buffers     cached
Mem:       4119828    1241084    2878744          0     114940     609596
-/+ buffers/cache:     516548    3603280
Swap:      2096476          0    2096476

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

Bien vérifier les droits d'exécution du fichier /etc/crontab

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 ou Grsync.

/etc/rc.local

Penser également à la programmation via le fichier /etc/rc.local.
  • Les commandes sont éxécutées dans l'ordre au démarrage.
  • Inutile dee lancer ces commandes en sudo.

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 corrspondant:

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 · Dernière modification: 2014/07/12 18:58 par g.rnd@free.fr