Le guide ultime de la ligne de commande Linux - Tutoriel complet sur Bash

Bienvenue dans notre guide ultime de la ligne de commande Linux. Ce didacticiel vous montrera quelques-unes des principales technologies de ligne de commande Linux et vous présentera le langage de script Bash.

Qu'est-ce que Bash?

Bash (abréviation de Bourne Again SHell) est un shell Unix et un interpréteur de langage de commande. Un shell est simplement un macro-processeur qui exécute des commandes. C'est le shell le plus utilisé par défaut pour la plupart des distributions Linux, et un successeur pour le shell Korn (ksh) et le shell C (csh).

Beaucoup de choses qui peuvent être faites avec le système d'exploitation Linux peuvent être faites via la ligne de commande. Certains exemples sont…

  • Édition de fichiers
  • Réglage du volume du système d'exploitation
  • Récupérer des pages Web sur Internet
  • Automatiser le travail que vous faites tous les jours

Vous pouvez en savoir plus sur bash ici, via la documentation GNU et via le guide tldp.

Utilisation de bash sur la ligne de commande (Linux, OS X)

Vous pouvez commencer à utiliser bash sur la plupart des systèmes d'exploitation Linux et OS X en ouvrant un terminal. Prenons un exemple simple de Hello World. Ouvrez votre terminal et écrivez la ligne suivante (tout après le signe $):

[email protected]:~$ echo "Hello world!" Hello world!

Comme vous pouvez le voir, nous avons utilisé la commande echo pour imprimer la chaîne "Hello world!" au terminal.

Ecrire un script bash

Vous pouvez également placer toutes vos commandes bash dans un fichier .sh et les exécuter à partir de la ligne de commande. Supposons que vous ayez un script bash avec le contenu suivant:

#!/bin/bash echo "Hello world!"

Il convient de noter que la première ligne du script commence par #!. C'est une directive spéciale qu'Unix traite différemment.

Pourquoi avons-nous utilisé #! / Bin / bash au début du fichier de script?

C'est parce que c'est une convention de faire savoir au shell interactif quel type d'interpréteur exécuter pour le programme qui suit. La première ligne indique à Unix que le fichier doit être exécuté par / bin / bash. C'est l'emplacement standard du shell Bourne sur à peu près tous les systèmes Unix. L'ajout de #! / Bin / bash comme première ligne de votre script, indique au système d'exploitation d'appeler le shell spécifié pour exécuter les commandes qui suivent dans le script. #!est souvent appelée «hash-bang», «she-bang» ou «sha-bang». Bien qu'il ne soit exécuté que si vous exécutez votre script en tant qu'exécutable. Par exemple, lorsque vous tapez ./scriptname.extension, il regardera la première ligne pour trouver l'interpréteur, tandis que, en exécutant le script en tant que bash scriptname.sh, la première ligne est ignorée.

Ensuite, vous pouvez exécuter le script comme ceci: Pour rendre le fichier exécutable, vous devez appeler cette commande sous sudo chmod + x «filename».

[email protected]:~$ ./myBashScript.sh Hello world!

Le script ne comporte que deux lignes. Le premier indique quel interpréteur utiliser pour exécuter le fichier (dans ce cas, bash). La deuxième ligne est la commande que nous voulons utiliser, echo, suivie de ce que nous voulons imprimer qui est «Hello World».

Parfois, le script ne sera pas exécuté et la commande ci-dessus renverra une erreur. Cela est dû aux autorisations définies sur le fichier. Pour éviter cette utilisation:

[email protected]:~$ chmod u+x myBashScript.sh

Et puis exécutez le script.

Ligne de commande Linux: Bash Cat

Cat est l'une des commandes les plus fréquemment utilisées dans les systèmes d'exploitation Unix.

Cat est utilisé pour lire un fichier séquentiellement et l'imprimer sur la sortie standard. Le nom est dérivé de sa fonction de con cat énation de fichiers.

Usage

cat [options] [file_names]

Options les plus utilisées:

  • -b, numer lignes de sortie non vierges
  • -n, numérotez toutes les lignes de sortie
  • -s, serrez plusieurs lignes vides adjacentes
  • -v, affiche les caractères non imprimables, à l'exception des tabulations et du caractère de fin de ligne

Exemple

Imprimez dans le terminal le contenu du fichier.txt:

cat file.txt

Concaténez le contenu des deux fichiers et affichez le résultat dans le terminal:

cat file1.txt file2.txt

Ligne de commande Linux: Bash cd

Remplacez le répertoire par le chemin spécifié, par exemplecd projects.

Il y a quelques arguments vraiment utiles pour aider ceci:

  • . fait référence au répertoire actuel, tel que ./projects
  • ..peut être utilisé pour remonter d'un dossier, utiliser cd ..et peut être combiné pour remonter de plusieurs niveaux../../my_folder
  • /est la racine de votre système pour atteindre les dossiers essentiels, tels que system, users, etc.
  • ~ is the home directory, usually the path /users/username. Move back to folders referenced relative to this path by including it at the start of your path, for example ~/projects.

Linux Command Line: Bash head

Head is used to print the first ten lines (by default) or any other amount specified of a file or files. Cat is used to read a file sequentially and print it to the standard output.

ie prints out the entire contents of the entire file. - that is not always necessary, perhaps you just want to check the contents of a file to see if it is the correct one, or check that it is indeed not empty. The head command allows you to view the first N lines of a file.

if more than on file is called then the first ten lines of each file is displayed, unless specific number of lines are specified. Choosing to display the file header is optional using the option below

Usage

head [options] [file_name(s)]

Most used options:

  • -n N, prints out the first N lines of the file(s)
  • -q, doesn’t print out the file headers
  • -v, always prints out the file headers

Example

head file.txt

Prints in terminal the first ten lines of file.txt (default)

head -n 7 file.txt

Prints in terminal the first seven lines of file.txt

head -q -n 5 file1.txt file2.txt

Print in terminal the first 5 lines of file1.txt, followed by the first 5 lines of file2.txt

Linux Command Line: Bash ls

ls is a command on Unix-like operating systems to list contents of a directory, for example folder and file names.

Usage

cat [options] [file_names]

Most used options:

  • -a, all files and folders, including ones that are hidden and start with a .
  • -l, List in long format
  • -G, enable colorized output.

Example:

List files in freeCodeCamp/guide/

ls ⚬ master CODE_OF_CONDUCT.md bin package.json utils CONTRIBUTING.md gatsby-browser.js plugins yarn.lock LICENSE.md gatsby-config.js src README.md gatsby-node.js static assets gatsby-ssr.js translations

Linux Command Line: Bash man

Man, the abbreviation of manual, is a bash command used to display on-line reference manuals of the given command.

Man displays the reletive man page (short for manual page) of the given command.

Usage

man [options] [command]

Most used options:

  • -f, print a short description of the given command
  • -a, display, in succession, all of the available intro manual pages contained within the manual

Example

Display the man page of ls:

man ls

Linux Command Line: Bash mv

Moves files and folders.

mv source target mv source ... directory

The first argument is the file you want to move, and the second is the location to move it to.

Commonly used options:

  • -f to force move them and overwrite files without checking with the user.
  • -i to prompt confirmation before overwriting files.

That's all. Go forth and use Linux.