Difference between revisions of "HelloBash Ep1"

From Tmplab
(Accéder à BASH)
(Se déplacer et gérer les fichiers)
Line 71: Line 71:
  
 
Pour la commande echo, l'option -n change le comportement de la commande : le retour chariot en fin de ligne n'est plus automatique
 
Pour la commande echo, l'option -n change le comportement de la commande : le retour chariot en fin de ligne n'est plus automatique
 +
 +
== Hello Bash ==
 +
=== echo ===
 +
 +
$ echo "Hello Bash"
 +
 +
Cette commande var afficher le texte que vous passez en paramètre
 +
 +
$ echo -e "\nHello\Bash\n"
 +
  
 
== Se déplacer et gérer les fichiers==
 
== Se déplacer et gérer les fichiers==
 +
=== pwd ===
 +
 +
  $ pwd
 +
Cette commande affiche le dossier courant de votre terminal dans l'arborescence du système : '''p'''rint '''w'''orking '''d'''irectory
 +
 +
Tip: pourquoi utiliser '''pwd -P''' ?
 +
 
=== ls ===
 
=== ls ===
 +
  $ ls
 +
Cette commande affiche la liste des dossiers et fichiers : '''l'''i'''st'''
 +
 +
On peut passer des options à la commande
 +
 +
$ ls -lh
 +
$ ls -a
 +
 +
On peut préciser un chemin à lister
 +
 +
  $ ls ./
 +
  $ ls ../
 +
  $ ls /etc/
 +
  $ ls /etc/a*
 +
 +
Tip : intérêt de '''ls -1''' ?
 +
 
=== cd ===
 
=== cd ===
 +
 +
  $ cd
 +
 +
Cette commande modifie le dossier courant de votre terminal dans l'arborescence du système '''C'''hange '''D'''irectory
 +
 +
  $ cd ../
 +
  $ cd -
 +
 +
Tip : intérêt de pushd / popd ?
 +
 +
=== touch ===
 +
 +
$ touch foo.txt
 +
 +
Cette commande permet de créer un fichier ou d'en modifier certaines propriétés de date
 +
 +
$ touch --date="yesterday"  foo.txt
 +
 +
Tip : intérêt de touch -h ?
 +
 
=== cat ===
 
=== cat ===
=== echo ===
+
 
 +
$ cat /etc/hosts
 +
 
 +
Cette commande affiche le contenu d'un ou plusieurs fichiers: con'''cat'''enate
 +
 +
$ cat -n /etc/hosts
 +
$ cat /etc/passwd /etc/group
 +
 
 +
 
 
=== rm ===
 
=== rm ===
 
=== cp ===
 
=== cp ===
 
=== mkdir / rmdir ===
 
=== mkdir / rmdir ===
 +
=== stat ===
 +
=== which ===
 
=== chown ===
 
=== chown ===
 
=== chmod ===
 
=== chmod ===
 
=== bonus chemins relatifs / absolus ===
 
=== bonus chemins relatifs / absolus ===

Revision as of 19:21, 19 September 2019

Accéder à bash

Il faut bien commencer quelque part, donc pourquoi pas ici !?

via un terminal local

Sur un linux / BSD, chercher le "Terminal" dans la liste des applications.

Sur un Windows, prompt ou PowerShell ne sont pas des shells comparables à bash. Utiliser les options suivantes.

via SSH

Se connecter en SSH à un serveur Linux : la plupart du temps on arrive dans un bash.

via une émulation web

Il y a plusieurs solutions permettant d'exécuter un bash dans son navigateur :

https://bellard.org/jslinux/

https://copy.sh/v86/?profile=linux26

https://www.tutorialspoint.com/unix_terminal_online.php

https://linuxcontainers.org/lxd/try-it/

https://www.learnshell.org/

Premier contact

Vous êtes en face d'une invite de commandes, qui peut avoir bien des formes, par exemple :

 user@machine:~ 

Dans tous les cas, vous devriez avoir un curseur clignotant, signifiant qu'une commande est attendue.

Pour entrer une commande, il suffit de taper sur le clavier puis d'appuyer sur entrée. Ex:

 echo hello bash

Vérifions qu'on est bien dans bash. Il suffit de taper la commande suivante :

 bash

Si ça fonctionne, vous êtes bien à partir de là dans bash.

Pour vous en assurer, tapez les combinaisons de touche CTRL-x CTRL-v. Vous devriez voir apparaître un message comme

 GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)

Pour quitter bash, il suffit de taper la commande

 exit

Ou bien par exemple de faire la combinaison de touche CTRL-d

Bonus : les arguments et les options

Une commande est généralement composée de deux parties : la commande elle-même et ses arguments. Ex :

 echo       hello bash
 ¦          ¦     ¦
 commande   arguments


Il est fréquent qu'on utilise aussi des options, qui ont généralement un tiret pour les distinguer des arguments.

 echo       -n      hello bash
 ¦          ¦       ¦     ¦
 commande   option  arguments

Pour la commande echo, l'option -n change le comportement de la commande : le retour chariot en fin de ligne n'est plus automatique

Hello Bash

echo

$ echo "Hello Bash" 

Cette commande var afficher le texte que vous passez en paramètre

$ echo -e "\nHello\Bash\n"


Se déplacer et gérer les fichiers

pwd

 $ pwd

Cette commande affiche le dossier courant de votre terminal dans l'arborescence du système : print working directory

Tip: pourquoi utiliser pwd -P ?

ls

 $ ls

Cette commande affiche la liste des dossiers et fichiers : list

On peut passer des options à la commande

$ ls -lh
$ ls -a

On peut préciser un chemin à lister

 $ ls ./
 $ ls ../
 $ ls /etc/
 $ ls /etc/a*

Tip : intérêt de ls -1 ?

cd

 $ cd

Cette commande modifie le dossier courant de votre terminal dans l'arborescence du système Change Directory

 $ cd ../
 $ cd -

Tip : intérêt de pushd / popd ?

touch

$ touch foo.txt

Cette commande permet de créer un fichier ou d'en modifier certaines propriétés de date

$ touch --date="yesterday"  foo.txt 

Tip : intérêt de touch -h ?

cat

$ cat /etc/hosts

Cette commande affiche le contenu d'un ou plusieurs fichiers: concatenate

$ cat -n /etc/hosts
$ cat /etc/passwd /etc/group


rm

cp

mkdir / rmdir

stat

which

chown

chmod

bonus chemins relatifs / absolus