User Tools

Site Tools


Sidebar

Sidebar

Accueil

Menu Linux

Menu Windows

Menu Android

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

Notes

Documentation-Aides

* Aller plus loin

Arborescence Ubuntu

Recherche Ubuntu

Edition Linux

Terminal & Super Utilisateur

Commandes Linux (1)

Commandes Linux (2)

Utilisateurs, groupes, droits

Matériel

Imprimante Linux

Compression-Archivage

Déplacer le /home

Bureau-Gnome

Environnement graphique

  • Réseau

Connexion Linux

Réseau Linux

Routeurs

Paramétrage routeur

Analyse Réseau - Gestion parc

Partages,Transferts

Disque-Réseau

Contrôle à distance

Contrôle à distance Linux

Teamviewer

Serveur

Serveur Linux

OpenVPN

Sécurité Linux

SSH

Authentification

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

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

Dokuwiki

Joomla

  • Bureautique

Open Office

  • Graphisme

Picasa

  • Photo

Photo: Théorie

Photo: Pratique

Diaporama, site photos

Retouche: Gimp

  • Téléphone

Téléphonie

  • Multimedia

YouTube

Musique

Télévision

  • 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

Bash Shell

IV. Partie Android

Sidebar

Smartphone

Messages pour le Web

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.
  • Example: 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)…



Hardware

HardInfo est un logiciel graphique qui analyse l'ordinateur pour fournir de très nombreuses informations, entre autres sur le matériel, le système d'exploitation, les modules utilisés par les périphériques, le réseau…

Installation par Synaptic.

  • 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 commande 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 

Example

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). Example:
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. Example 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 des 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$ 

Systèmes installés

Pour connaître les systèmes installés, lancer os-prober:

sudo os-prober # liste les OS présents sauf le système actif en fonction

Moteurs de recherche

Moteurs de recherche les plus courants:

  • Bing, le moteur de recherche le plus connu après Google. …
  • Yahoo!, le plus ancien des moteurs de recherche. …
  • Duckduckgo, le plus sécurisé des moteurs de recherche. …
  • Ecosia, le plus écolo des moteurs de recherche. …
  • Qwant, le plus français des moteurs de recherche.

Recherche

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

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

2. find

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

find <chemin> -name <fichier>

.

3. fd-find

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

fd

Gestion de dossiers et de fichiers

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 écran

La commande xrandr donne ou détermine les caractéristiques de l'affichage à l'écran:

xrandr guy@ASUS  ~  xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.05*+ #
   1680x1050     60.00   # l'astérisque indique la résolution courante
   1400x1050     60.00  
   1280x1024     59.95  
   1440x900      59.99  
   1280x960      59.99  
   1280x854      59.95  
   1280x800      59.96  
...
xrandr -s 1920x1080 -r 60 # fixe la résolution et la fréquence à choisir

Affichage du contenu d'un fichier

cat

  • 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. Example:
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.
cat <nom_fichier> |more        # permet de faire défiler page par page
cat <nom_fichier> |less         # contraire de more
  • cat  -p <fichier> # option -p affichage simple
  • Affiche le contenu de plusieurs fichiers
    cat fichier1 fichier2
  • Crée un fichier
    cat file3
  • Concaténation
    cat file1 file2 file3 > file4
  • 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.

bat

La commande bat est un clone de la commande cat avec en plus les fonctions coloration syntaxique, Git, intégration, pagination automatique…

Installation par bacula–console-qt

sudo apt install bat bacula-console-qt

Example d'utilisation bat:

En fait, pour moi, la seule commande qui marche vraiment est avec au lieu de bat, d'où création d'un alias
Il existe un autre commande tac assez proche, mais l'ordre de sortie est inversé

exa

La commande exa est un substitut léger, rapide et moderne de la commande ls très répandue sur les systèmes d'exploitation de type Unix. Il est écrit dans le langage de programmation Rust et comporte plusieurs fonctionnalités supplémentaires qui ne sont pas disponibles dans la commande ls traditionnelle.

Une de ses particularités réside dans les couleurs utiles pour différencier les informations répertoriées relatives aux différents types de fichiers, tels que le propriétaire du fichier, le groupe, les autorisations, les blocs, les informations inode, etc.

Installation

La méthode la plus simple pour installer exa consiste à télécharger un fichier binaire pour Linux et à le placer sous /usr/local/bin . Avant de faire cela, il faut avoir la version recommandée de Rust installée sur le système en exécutant les commandes suivantes.

curl https://sh.rustup.rs -sSf | sh
wget -c https://the.exa.website/releases/exa-linux-x86_64-0.7.0.zip
unzip exa-linux-x86_64-0.7.0.zip
sudo mv exa-linux-x86_64 /usr/local/bin/exa

Example exa

~$ ~$ exa -lha /home/
Permissions Size User Date Modified  Name
drwxr-xr-x     - guy  13 juin  11:21 guy
drwxr-xr-x     - 1002 17 janv. 15:48 guy2
drwxr-xr-x     - jeff 19 janv. 10:23 jeff
drwx------     - root 19 janv. 11:53 lost+found
drwxr-xr-x     - 998   4 mars  12:03 rslsync

Page du man

Affiche les pages du manuel système. Télécharger la page du man d'exa https://raw.githubusercontent.com/ogham/exa/master/contrib/man/exa.1 et la mettre dans /usr/share/man/man1.

diff

La commnde diff compare des fichiers ligne par ligne:

diff fichier.1 fichier.2

tail

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. Example:

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

nl

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

w

Affiche qui est logué et ce qu'ils font.

$ w
 17:01:55 up  1:46,  2 users,  load average: 1,45, 0,79, 0,69
UTIL.    TTY      DE               LOGIN@   IDLE   JCPU   PCPU QUOI
 17:03:12 up  1:47,  2 users,  load average: 0,88, 0,81, 0,71
UTIL.    TTY      DE               LOGIN@   IDLE   JCPU   PCPU QUOI
guy      :0       :0               15:16   ?xdm?  13:27   0.00s /usr/lib/gdm3/gdm-x-session --run-script env GNOME_S
jeff     :1       :1               17:00   ?xdm?  13:27   0.00s /usr/lib/gdm3/gdm-x-session --run-script env GNOME_S

who

Affiche l'utilisateur qui est logué.

~$ who
guy      :0           2020-09-09 15:16 (:0)
jeff     :1           2020-09-09 17:00 (:1)

more

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

  • soit à la fin d'une commande
nano .bashrc|more
  • soit pour voir page par page le contenu d'un fichier
more /etc/hosts

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

3- Pour lister avec également 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 # affichage par ligne
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
 

5- On peut également utiliser exa

 guy@ASUS  ~  exa -l 
.rw-------  186 guy  28 déc.   2019 2019-12-28-15-56-34.028-VBoxSVC-30899.log
.rw-------    0 guy  30 déc.   2019 2019-12-30-18-41-53.035-VBoxSVC-3218.log
.rw-rw-r--    0 guy   6 oct.   0:28 Alerte
.rw-------    0 guy   6 oct.   0:29 Alerte.save
.rw-rw-r--  509 guy   6 oct.   0:29 Alerte.save.1
.rw-r--r--   93 root 23 mai   11:31 blkid vx lsblk
drwx------    - guy   6 janv. 11:33 BRF
drwxrwxr-x    - guy  15 oct.  18:52 build
drwxr-xr-x    - guy   7 août  23:20 Bureau
.
.

Affichage avancement

La commande pv (Pipe Viewer) permet de visualiser l’état de progression d’une tâche à travers un pipeline, ce qui permet d’avoir une estimation du temps écoulé. Voici les informations fournies par cette commande:

  Temps écoulé
  Pourcentage achevé (avec barre de progression)
  taux de débit actuel
  Total des données transférées

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, gksudo ou pkexec).

gksu et gksudo n'existent plus, les remplacer par pkexec
  • 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. Exe
  • 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):
gedit /etc/hosts
  • 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. Example:

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

Commande dd

La commande dd permet de copier tout ou partie d'un disque − EN BON ÉTAT − par blocs d'octets, indépendamment de la structure du contenu du disque en fichiers et en répertoires.

Pour dupliquer un disque, il est préférable d'utiliser la commande ddrescue ( ddrescue ) qui dispose d'une possibilité de reprise en cas d'arrêt intempestif.

Effacer partition

  • Fdisk

Lancer d'abord la commande fdisk -l pour préciser l'identité du disque concerné

sudo fdsik -l|grep sd

Pour l'effacer:

sudo fdisk sdxi # sdxi étant la partition à effacer

Choisir ensuite m pour voir l'aide, et cliquer enfin sur d pour supprimer la partition.

  • dd
#!/bin/bash
for n in `seq 7`; do dd if=/dev/urandom of=/dev/sdX bs=8b conv=notrunc; done

Maintenant que l'on a un script shell qui exécute sept passes d'inscriptions aléatoires de caractères sur tout le disque. Faire :

chmod a+x <fichierscript>

pour le rendre exécutable.

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é). Example:
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 une ligne supplémentaire dans le fichier /etc/fstab pour que la partition de disque soit prise en compte au démarrage.

Espace disponible

df

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
vous
  • df -kTh donne des informations plus complètes
~$ df -kTh|grep sd|more
/dev/sda6        ext4        29G     17G   11G  62% /
/dev/sdb1        ext4        39G     23G   14G  64% /media/20.04
/dev/sdc7        ext4       506G     93G  387G  20% /home
/dev/sdb2        ext4       125G     69G   51G  58% /media/h20.04
  • 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

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 apparaître que la somme:

~$ sudo du -hs
25G 

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

ncdu

ncdu (NCurses Disk Usage), utilitaire conçu pour rechercher dans chacun des dossiers et sous-dossiers et afficher un rendu sous une forme “presque” graphique. Très utile pour repérer les fichiers volumineux. Example:

parted -s

  • Autre commande, parted -s avec une autre présentation.
~$ sudo parted -s /dev/sda print
Modèle: ATA Samsung SSD 850 (scsi)
Disque /dev/sda : 250GB
Taille des secteurs (logiques/physiques): 512B/512B
Table de partitions : msdos
Drapeaux de disque : 

Numéro  Début   Fin    Taille  Type      Système de fichiers  Fanions
 1      1049kB  901MB  900MB   primary   ext4                 démarrage
 2      901MB   166GB  165GB   extended
 5      901MB   135GB  134GB   logical   ext4
 6      135GB   166GB  31,5GB  logical   ext4

Kill

Envoie un signal à un process.

kill -9 -1 # tue tout process possible

pidof

pidof trouve le PID du process.

~$ ps aux|grep gparted
guy       4734  0.0  0.0  15672  1060 pts/0    S+   11:05   0:00 grep --color=auto -i gparted
pidof 4734 # tue le process identifié (ici, gparted)

Partitions blkid

  • blkid Trouve ou affiche les attributs de périphérique bloc
sudo blkid -o list|grep sd
/dev/sda6  ext4    20.04.1  /              1c9f25dc-370d-4d0e-8408-60d57e5f03c7
/dev/sda1  ext4             (non monté)   7de7047d-561d-4f28-b7fd-e613b2f2a034
/dev/sda5  ext4    h20.04   (non monté)   170b57b3-3c1d-4e71-9e29-ae0f98138b70
/dev/sdb1  ext4    20.04    /media/20.04   b73c70a2-83b3-454c-b8f3-7df4f5aabd51
/dev/sdb2  ext4    h20.04   /media/h20.04  9431257e-3990-464f-adee-1b8c513a6290
/dev/sdb5  ext4    FILMS    (non monté)   ac422aec-105f-4cb5-841e-2c7420b2263c
/dev/sdb6  ext4    DONNEES410 (non monté) 5c1f237e-6c74-4576-9692-76d158f8f8fa
/dev/sdc5  ext3    DONNEES560 (non monté) a250fd78-f8a5-494a-8b96-a56b171403ef
/dev/sdc6  ext4    DONNEES780 (non monté) 64291624-de17-4c51-b024-b65584e06189
/dev/sdc7  ext4    h20.04.1 /home          58c6e81c-d872-44e6-b508-0d1c75a19371
/dev/sdd2  ntfs             (non monté)   178361FA53B21358
/dev/sdd3  ntfs    Win10    (non monté)   6902E4B34C344344
/dev/sdd4  vfat             (non monté)   E924-4384
/dev/sdd5  ext4    DONNEES1To (non monté) d11531b1-a181-4844-a307-8e60e606d398
/dev/sdd6  ext4    DONNEES  (non monté)   e89dca79-07b9-451b-bdbb-37abb1b37a29

Partitions lsblk

  • lsblk affiche des renseignements sur tout ou partie des périphériques bloc disponibles au format arborescent par défaut.
~$ lsblk -o name,fstype,size,label,mountpoint | grep -v loop

NAME   FSTYPE     SIZE LABEL      MOUNTPOINT
sda               3,7T            
sdb             931,5G            
├─sdb1 ext3     443,2G DONNEES440 
├─sdb2              1K            
└─sdb5 ext3     488,3G DONNEES500 
sdc             232,9G            
├─sdc1 ext4       858M            
├─sdc2              1K            
├─sdc3 ext4      78,1G            
├─sdc4 vfat       513M            
├─sdc5 ext4     114,9G 21.10      
└─sdc6 ext4      38,6G            /
sdd               1,8T            
├─sdd1              1K            
├─sdd2 ntfs       512M            
├─sdd3 ntfs      97,7G Win10      
├─sdd4 vfat       513M            
├─sdd5 ext4       1,1T DONNEES1To 
├─sdd6 ext4      87,9G h21.10     
└─sdd7 ext4     560,2G Tampon.b   
sde             931,5G            
├─sde1 ext4        83G 20.04.3    
├─sde3 ext4     147,3G            
├─sde4              1K            
├─sde5 ext4     360,2G FILMS      
└─sde6 ext4     341,1G DONNEES410 
sdf               1,8T            
├─sdf2              1K            
├─sdf5 ext4     563,6G Tampon.a   
├─sdf6 ext4     785,3G DONNEES780 
└─sdf7 ext4     514,1G h20.04.3   
sr0              1024M         

Mise en veille

Pour mettre l'ordinateur en veille , lancer cette commande :

systemctl suspend

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 (à installer si besoin) 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

La commande showfsck donne le nombre de montages restant avant la prochaine vérification de chaque système de fichiers.

~$ sudo showfsck
***************************
* -21 * /-1 mount(s) until fsck for /dev/sdc6
***************************
***************************
* -395 * /-1 mount(s) until fsck for /dev/sdd6
***************************

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

udisksctl

Outil de contrôle udisks. udisksctl est un programme utilisé pour interragir avec udisksd. Les principales fonctions couvrent le statut des disques, le montage/démontage, l'arrêt sécurisé, le verrouillage/déverrouillage…

~$ udisksctl status
MODEL                     REVISION  SERIAL               DEVICE
--------------------------------------------------------------------------
SAMSUNG HD103UJ           1AA01118  S13PJ90S740887       sdb     
Samsung SSD 850 EVO 250GB EMT01B6Q  S21PNSAG146197A      sdc     
WDC WD20EZRZ-00Z5HB0      80.00A80  WD-WCC4M6FXNYJZ      sdd     
SAMSUNG HD103SI           1AG01118  S1VSJ9BB203057       sde     
TOSHIBA DT01ABA200        MZ4OABB0  33RPEA7GS            sdf     
TSSTcorp CDDVDW SH-S203D  SB00      TSSTcorp_CDDVDW_SH-S203D sr0     
Seagate M3 Portable       9300      NM1540HC             sda     

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

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

CD-ROM

Pour contrôler la gravure d'un CD-ROM, deux choses sont à vérifier par le contrôle de parité:

  • le fichier origine utilisé pour la gravure
md5sum <fichier.iso
  • la gravure du CD
dd if=/dev/cdrom | head -c `stat --format=%s file.iso` | md5sum
md5sum, considéré comme non sécurisé, est maintenant remplacé par sha256sum.

Installer au préalable hashalot.

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.)
  • iwconfig : idem pour une connexion sans fil
  • 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.
  • nmcli : outil de contrôle de NetworkManager
  • whois : donne les informations sur l'enregistrement des noms de domaine Internet.
  • route : affiche / manipule la table de routage IP
  • lsblk : outil d'analyse de réseau
  • blkid : outil d'analyse de réseau

Généralités Réseau

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

ifconfig

Configure une interface réseau.

nmcli

Outil en ligne de commande pour contrôler Network-manager.

route

route affiche / manipule la table de routage IP.

ping

ping Envoie des datagrammes ICMP ECHO_REQUEST aux hôtes du réseau.

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

Netcat

On l'intitule souvent “le couteau suisse de net”, il sert à beaucoup de choses. Son rôle principal est de permettre l'ouverture de socket (port-réseéu) en ligne de commande dans un terminal. A l'instar de cat qui permet de lire un fichier, netcat lira un socket, c'est à dire un port réseau.

Utilisé en collaboration à des pipes (fifo), netcat peut répondre à des clients.

Pour le moment, il faut faire par un bref historique, puis voir les fonctions de bases. Ensuite, s'intéresser à des utilisations particulières comme l'envoi de mail, répondre à un client ou coder un véritable serveur en bash.

La commande exacte est nc, d'où le nom du paquet.

On peut utiliser netcat pour le transfert, scan de port, redirection de port, clone de drive, chat. Netcat opère selon 2 modes, client ou serveur. L'option -l est pour l'écoute, l'option -p fixe le port que le serveur doit écouter.

Les options de netcat sont données par

nc -h
Ne pas désinstaller netcat-openbsd, installé par défaut.

Réglage clavier

Paramétrage

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.

Clavier Azerty

Pour passer le clavier Azerty:

setxkbmap fr

Heure, date

  • date affiche la date et l'heure
$ date
sam. 19 sept. 2020 20:50:20 CEST
  • date -u
date -u # affiche l'heue universelle

sam. 06 nov. 2021 18:53:45 UTC</file>

  • timedatectl Contrôle la date et le temps
$ timedatectl 
               Local time: sam. 2020-09-19 20:48:27 CEST
           Universal time: sam. 2020-09-19 18:48:27 UTC 
                 RTC time: sam. 2020-09-19 18:48:26     
                Time zone: Europe/Paris (CEST, +0200)   
System clock synchronized: yes                          
              NTP service: active                       
          RTC in local TZ: no   

Normalement, installé par défaut sous forme de bibliothèque.

  • time-admin, permet de configurer la date, l'heure et le fuseau horaire du système,

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…

On peut se créer un alias pour ntpdate avec le serveur NTP d'Ubuntu

sudo ntpdate ntp.ubuntu.com

Système

systemctl

Signification : system control
Équivalent Windows : net / sc
Contrôle le lancement d'un service et affiche son état.
Commandes les plus fréquentes: start, stop, status, disable.

Exemple d'utilisation :

systemctl status bluetooth.service # Etat du service "Bluetooth"

dpkg-reconfigure

Reconfigure un paquet déjà installé:

sudo dpkg-reconfigure <paquet>

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. Example:

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 example, 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 crontab 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 example, 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 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 example, 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.

Les commandes utilisant init.d sont remplacées par systemctl (start, stop, restart, reload, status…). Example: systemctl status bluetooth.

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

Documentation

Il existe deux tableaux donnant un bref récapitulatif de commandes Ubuntu: http://bluguntu.unblog.fr/2008/05/29/ca

commandes_linux_2.txt · Last modified: 2023/03/13 18:07 by guy