La base de Linux

Linux est inspiré du système d'exploitation Unix, apparu en 1969, couramment utilisé et en constant développement depuis cette date. Beaucoup de conventions adoptées par Unix le sont aussi par Linux et sont essentielles pour la compréhension des bases du système.

Unix était essentiellement conçu pour être utilisé en ligne de commande, et cet héritage se ressent encore dans Linux. Ainsi, l'interface graphique avec ses fenêtres, ses icônes et ses menus est construite au-dessus d'une interface en ligne de commande. De plus, cela signifie que le système de fichiers de Linux est structuré pour être facilement gérable et accessible en ligne de commande.

Répertoires et Systèmes de Fichiers

Les systèmes de fichiers Linux et Unix sont organisés selon une structure hiérarchique, en forme d'arbre. Le niveau le plus élevé du système de fichier est /, encore appelé répertoire (ou dossier) racine. Sous Unix ou Linux, tout est vu comme des fichiers - disques durs, partitions, supports amovibles, etc. Cela signifie que tous les autres fichiers et répertoires (y compris les autres disques et partitions) sont placés en-dessous du répertoire racine.

Par exemple, /home/jebediah/fromages.odt est le chemin absolu du fichier fromages.odt qui se trouve dans le répertoire jebediah, lui-même situé dans le répertoire home qui se trouve lui aussi dans le répertoire racine (/).

En-dessous du répertoire racine (/) se trouve un ensemble de répertoires système importants et communs à la plupart des distributions Linux existantes. Ci-après sont listés les répertoires trouvés habituellement en dessous du répertoire racine (/) :

  • /bin - applications binaires importantes ;

  • /boot - fichiers de configuration du boot (amorçage) ;

  • /dev - fichiers de périphériques (devices) ;

  • /etc - fichiers de configuration, scripts de démarrage, etc. ;

  • /home - local users' home directories

  • /lib - system libraries

  • /lost+found - fournit un système d'objets perdus+trouvés (lost+found) pour les fichiers se trouvant dans le répertoire racine (/) ;

  • /media - media montés (chargés) et éjectables commes des CDs, appareils photo numériques, clés USB, etc. ;

  • /mnt - systèmes de fichiers montés ;

  • /opt - emplacement pour installer des applications optionnelles ;

  • /proc - répertoire dynamique spécial qui tient à jour des informations sur l'état du système, y compris les processus actifs ;

  • /root - répertoire personnel du super-utilisateur (root), prononcez « slash-route » ;

  • /sbin - binaires système importants ;

  • /sys - fichiers système ;

  • /tmp - fichiers temporaires ;

  • /usr - applications et fichiers généralement accessibles à tous les utilisateurs (users) ;

  • /var - fichiers variables tels que journaux et bases de données.

Permissions

Tous les fichiers d'un système Linux sont liés à un système de gestion de droits (permissions) qui autorisent ou empêchent d'autres personnes de les ouvrir, de les modifier ou de les exécuter. Le super-utilisateur (encore appelé administrateur ou « root ») a la possibilité d'accéder à tous les fichiers du système. Chaque fichier a des restrictions d'accès, des restrictions par rapport aux utilisateurs et est associé à un couple propriétaire/groupe.

Tous les fichiers sont sécurisés par les trois jeux de permissions suivants, par ordre d'importance :

  • utilisateur

    s'applique à l'utilisateur à qui appartient le fichier

  • groupe

    s'applique au groupe qui est associé au fichier

  • autre

    s'applique à tous les autres utilisateurs

Les permissions d'accès réelles figurent dans chacun de ces trois jeux de permissions. Les permissions, ainsi que leurs différences d'application selon qu'il s'agit d'un fichier ou d'un répertoire, sont précisées ci-dessous :

  • lecture

    les fichiers peuvent être affichés/ouverts

    le contenu des répertoires peut s'afficher

  • écriture

    les fichiers peuvent être modifiés ou effacés

    le contenu des répertoires peut être modifié

  • exécution

    les fichiers exécutables peuvent être lancés comme des programmes

    les répertoires peuvent être parcourus

Pour voir et éditer les permissions sur les fichiers ou les répertoires, ouvrez Applications->Accessoires->Dossier personnel et cliquez avec le bouton droit sur un fichier ou un répertoire. Sélectionnez ensuite Propriétés. Les permissions se trouvent dans l'onglet Permissions et permettent l'édition de tous les niveaux de permissions, pour autant que vous soyez propriétaire du fichier.

Pour en savoir plus sur les permissions dans Linux, lisez la page sur les permissions de fichiers [anglais] dans le Wiki Ubuntu.

Terminaux

Working at the command line is not as daunting a task as you would think. There is no special knowledge needed to know how to use the command line, it is a program like everything else. Most things in Linux can be done using the command line, although there are graphical tools for most programs, sometimes they are just not enough. This is where the command line comes in handy.

Le Terminal est accessible depuis Applications->Terminal. Le terminal est souvent appelé ligne de commande ou shell. Il fut un temps où il était l'unique moyen pour un utilisateur d'intéragir avec l'ordinateur. Toutefois, les utilisateurs de Linux trouvent encore, aujourd'hui, qu'utiliser le shell peut être plus rapide que l'interface graphique et qu'il offre toujours certains avantages. Vous apprendrez ici à utiliser le terminal.

L'utilisation première du terminal était la navigation dans le système de fichiers, et c'est toujours une utilisation fréquente lorsque l'environnement graphique est défaillant. Vous pouvez utiliser le terminal comme un navigateur de fichiers et pour annuler des modifications.

Commandes les plus utilisées

Voir les répertoires : - ls

The ls (LiSt) lists files in different colors with full formatted text

Créer des répertoires : - mkdir (nom du répertoire)

The mkdir (MaKeDIRectory) command will create a directory.

Changer de Dossiers : - cd (Répertoire de destination)

The cd (ChangeDirectory) command will change from your current directory to any directory you specify.

Copy Files/Directories: - cp (file or directory name) (to directory or filename)

The cp (CoPy) command will copy any files you specify. The cp -r command will copy any directories you specify.

Remove Files/Directories: - rm (file or directory name)

The rm (ReMove) command will delete any filename you specify. The rm -rf command will remove any directory you specify.

Rename Files/Directories: - mv (file or directory name)

The mv (MoVe) command will rename/move any file or directory you specify.

Find Files/Directories: - locate (file or directory name)

The locate command will search your computer for any filename you specify. It uses an index of the files on your system to work quickly: to update this index run the command updatedb. This command is run automatically each day, if you leave your computer on. It needs to be run with administrative privileges (see la section intitulée « Root And Sudo »).

You can also use wildcards to match one or more files, such as "*" (for all files) or "?" (to match one character).

For a more thorough introduction to the Linux command line, please read the command line introduction on the Ubuntu wiki.

Édition de texte

Toutes les configurations et tous les réglages de Linux sont enregistrés dans des fichiers texte. Bien qu'il soit possible la plupart du temps de modifier les configurations depuis l'interface graphique, il est parfois nécessaire de les éditer à la main. Mousepad est l'éditeur de texte par défaut de Xubuntu que vous pouvez démarrer en cliquant sur Applications->Accessories->Mousepad dans le menu système du bureau.

Parfois dans ce guide, Mousepad est lancé depuis la ligne de commande en utilisant gksudo, qui lance Mousepad avec les droits administrateurs, afin de modifier les fichiers de configuration.

Si vous avez besoin d'utiliser un éditeur de texte en commande, vous pouvez utiliser nano, qui est un éditeur simple à utiliser. En le lançant depuis la ligne de commande, utilisez systématiquement :

nano -w

pour être sûr que l'éditeur n'introduise pas de sauts de ligne.

For more information about how to use nano, refer to the guide on the wiki.

There are also quite a few other terminal-based editors available in Ubuntu, popular ones include VIM and Emacs (the pros and cons of each are cause for much friendly debate within the Linux community). These are often more complex to use than nano, but are also more powerful.

Root And Sudo

The root user in GNU/Linux is the user which has administrative access to your system. Normal users do not have this access for security reasons. However, Ubuntu does not include the root user. Instead, administrative access is given to individual users, who may use the "sudo" application to perform administrative tasks. The first user account you created on your system during installation will, by default, have access to sudo. You can restrict and enable sudo access to users with the Users and Groups application (see la section intitulée « Managing Users and Groups » for more information).

When you run an application that requires root privileges, sudo will ask you to input your normal user password. This ensures that rogue applications cannot damage your system, and serves as a reminder that you are about to perform administrative actions which require you to be careful!

Pour utiliser sudo en ligne de commande, tapez simplement "sudo" avant la commande que vous souhaitez lancer. Sudo vous demandera alors votre mot de passe.

Sudo se souviendra de votre mot de passe pour un certain temps. Cette fonctionnalité a été conçue pour permettre aux utilisateurs d'effectuer plusieurs tâches d'administration sans qu'il leur soit demandé leur mot de passe à chaque fois.

[Note]

Faites attention lorsque vous effectuez des tâches d'administration, vous pourriez endommager le système !

Quelques autres conseils pour utiliser sudo :

  • Pour utiliser un terminal « root » (« super-utilisateur »), saisissez « sudo -i » à l'invite de commande.

  • The entire group of default graphical configuration tools in Ubuntu already use sudo, so they will prompt you for your password if needed.

  • When starting graphical tools with "sudo", run it with "gksudo" instead. This will open a small graphical window that prompts the user for his password. "gksudo" is convenient if you want to set up a launcher for Synaptic on your panel, or something similar, where you would normaly not have the possiblity to enter your password.

  • For more information on the sudo program and the absence of a root user in Ubuntu, read the sudo page on the Ubuntu wiki.

More Help

An incredible amount of information about Linux is available on the Internet. To get started, I recommend the excellent and comprehensive tutorial Getting Started with Linux.

For people who already know the basics, the tutorial Intermediate Level User Linux Course is a good read.