Astuce Terminal
Basic
Pour lancer plusieurs commandes les une après les autres ont peut utiliser &&
l’avantage est que si une commande comporte une erreur, la suite de commandes ne s’exécutera pas.
Pour lancer plusieurs commandes les une après les autres mais en ignorant les commandes qui peuvent être erronées ont peut utiliser le séparateur ;
.
Exemples :
sudo apt-get update && sudo apt-get full-upgrade && shutdown 1
sudo apt-get update ; sudo apt-get full-upgrade ; shutdown 1
[CTRL]+[D] => raccourcie équivalent d’exit
[CTRL]+[R] => recherche dans l'historique des commandes terminal
Créer des alias (raccourci terminal)
Nous allons créer un fichier se nommant bash_aliasis
que nous allons placer en /etc/
, pour que ce fichier soit pris en compte, nous allons faire pointer ce fichier à la fin de bash.bachrc
qui se trouve également dans /etc
.
Pour commencer nous allons nous mettre en root
sudo bash
Création du fichier
touch /etc/bash_aliasis
Pointage du fichier
echo ‘. /etc/bash_aliasis’ >> /etc/bash.bashrc
Édition des alias
Voici la syntaxe
alias commande=’commande a exécuté’
Exemple :
alias mise-a-jour=’sudo apt-get update && sudo apt-get -y distupgrade’
Mes Alias sont ici
Gestion de l’historique terminal
La commande history
permet d’afficher l’historique des commandes tapé précédemment.
La commande !!
permet de faire beaucoup de choses pratique, elles peuvent aussi être placer à l’intérieur d’une autre commande, exemple :
!508
Permet de relancer la commande 508 de l’historique,
!!
permet de relancer la dernière commande,
!lettre
permet de lancer la dernière commande par rapport à son début.
Lancer un terminal en root sans le mot de passe root initialisé
sudo bash
ou sudo -s
Problème Terminal
Il arrive que l'on n'arrive pas a lancé des commandes dont les paquets sont pourtant installés, en premier lieu il faut contrôler que l'utilisateur à accès au programme il suffit de lancer la commande echo $PATH
avec l'utilisateur en question, le résultat doit être /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
si ce n'est pas le cas il y a deux solutions, la première est d'ajouter les chemins manquants pour tous les utilisateurs du système dans /etc/bash.bashrc
et ajouter une ligne commençant par export PATH=$PATH:
, pour le faire juste a l'utilisateur il suffit de rajouter cette ligne dans le bashrc
du home
de l'utilisateur.
Dimension et redimensionnement de la fenêtre de terminal
La commande resize
permet de gérer la taille de la fenêtre de terminal.
resize
permet d'afficher ça taille actuelle.
resize -s 40 150
permet de la redimensionner à la taille de 40 lignes et 150 colonnes.
La commande resize
provient du paquet xterm
.
Il y as une alternative à resize
qui est de lancer la commande suivante pour afficher la taille : echo "lignes=$LINES colonnes=$COLUMNS"
Déconnecter, désactiver un disque
Il peut être utilile de déconnecter ou désactiver un disque, surtout dans le cas d'un dualboot sur deux disques distinct.
Cette commande permet de le faire, il suffit de remplacer sdX par le bon disque.
1 |
|
Chrooter un système Linux
Que veut dire chrooter ?
Eh ben chrooter est un verbe qui vient du mot chroot.
man chroot :
chroot - exécuter une commande ou un shell interactif avec un répertoire racine spécial
En d'autres termes, la commande chroot permet de changer le répertoire racine vers un nouvel emplacement.
Pour information, chroot est un acronyme de Change Root, changer de racine.
Chroot peut être utilisé dans deux cas :
- En tant que bascule d'environnement pour prendre le contrôle d'une installation Linux depuis un autre système.
- En tant que prison pour empêcher un utilisateur de remonter dans l'arborescence pour l'emprisonner dans un répertoire spécifique (ce qui peut être utilisé avec un serveur FTP pour que les utilisateurs ne remontent pas dans l'arborescence du système)
Montage des partitions.
Première étape, identifier et monté la partition:
Lister les partitions:
1 |
|
1 |
|
Exemple avec /home en /dev/sda3:
1 |
|
Ensuite, il ne faut pas oublier de monter les dossiers spéciaux nécessaires au fonctionnement du système :
1 2 3 |
|
Chrootage
Enfin, basculer vers le nouveau système avec la commande chroot :
1 |
|
Problèmes rencontrer
Il se peut que le système ainsi chrooter n'arrive pas à résoudre des dns.
Il suffit de copier temporairement le fichier resolv.conf qui se trouve dans /etc/
Pour commencer ont sort du chroot
1 |
|
Nous allons renommer le fichier resolv.conf qui est un lien symbolique d'origine pour le mettre de côté:
1 |
|
1 |
|
1 |
|
On va supprimer le resolv.conf précedement copier:
1 |
|
1 |
|
Défaire le chroot
Il suffit de faire la commande exit
pour en sortir.
Ensuite nous allons tout démonter:
1 2 3 |
|
Changer le nom de la machine sous Ubuntu
Pour changer le nom de la machine il suffit de changer le nom dans 2 fichiers de config qui se trouvent dans /etc.
les 2 fichiers sont hostname et hosts, les fichiers doivent être édités en ROOT pour que la modification prenne effet, il faut redémarrer l'ordinateur.