La ligne de commande

La ligne de commande

# pwd           affiche l’emplacement de la commande de la console(print working directory)

# ls                permet de lister le contenu d’un répertoire
# ls -l            liste sous forme de longue les informations détaillées du repertoire
# ll                 est alias par defaut de la commande ls -l
# ls -a           affiche les fichiers cachés
# watch ls   raffraichi en permanence l’affichage du contenu d un dossier
#watch -n 3 ls raffraichi en permanence l’affichage du contenu d un dossier toutes les 3 secondes

# cd                 pour changer de répertoire(change directory)
# cd ..            va dans le répertoire parent
# cd ~            va dans votre  répertoire home
# cd ~nico   va dans le répertoire home de nico
# cd –             va dans le répertoire que l on vient de quitter.
# cd                 sans argument va directement dans votre répertoire home

# mkdir      pour créer un dossier dans le répertoire courant
# mkdir -p pour créer une suite de dossiers qui n existe pas (ex : mkdir -p un/long/chemin)

# cp fichier1 copifichier                  copie le fichier en copifichier
# cp -R dossier copiedossier         copie l’integralité de dossier en copiedossier

#rm fichier1                                      supprime définitevemnt le fichier1
# rm -i fichier1                                 demande confirmation avant suppression du fichier1
# rm -R dossier1                              supprime definitevement le dossier1 et tout son contenu

Locate et find pour rechercher des fichiers
# locate fichier1
recherche le fichier dans une base de données de fichiers actualisé chaque nuit (très rapide)
# find fichier1
recherche le fichier dans le contenu du disque dur (plus long que locate)

Créer un lien symbolique ( un raccourci)
# ln -s /chemin/entier/dufichier.txt  nomduraccourci
le lien symbolique est comme un fichier , on peu le supprimer avec # rm sans supprimer la cible


 

Les autorisations :
r   : read (lire)
w  : write(écrire)
x   : exécuter

-rwx-rwx-rwx     ou drwx-rwx-rwx (le d devant les autorisations quand c’est un dossier, le – pour un fichier, l pour un lien symbolique)
premier groupe(u)        : propriétaire du fichier
second groupe (g)        : les membres du groupe du fichier
troisième groupe (o)   : les autres

chmod (changer le mode d’accés) pour changer les permissions
chmod  g+rw  codes.txt (autorise les membre du groupe a lire et ecrire le fichier codes.txt)
u (utilisateur) g(groupe) o(les autres) a (pour tout le monde)
+ ou pour ajouter ou retirer une autorisation
r(lire) w(ecrire) x(executer)
option -R pour la récursivité sur un dossier ex :
chmod  -R  go-rwx prive     (supprime toutes le permissions sur le dossier prive)

# du dossier ou # du fichier
affiche l’espace disque occupé par le dossier ou le fichier en argument
-h pour lisible
-c taille totale de tous les arguments
-s supprime l’affichage des sous répertoires


 

#df      ou #df -h   (plus lisible)
pour afficher l’espace utilisé et disponible sur tous les systèmes de fichier (partitions)

# wc – arg  nomdufichier  ( compte dans un fichier) ex :
#wc  -w  cv.txt            compte le nombre de mots dans le fichier cv.txt)
-w    compte les mots
-l     compte les lignes
-c    compte les octets
-m   compte les caractères

La date
pour afficher la date, on utilise la commande date ex :
# date                                             affiche : ven. 03 sept. 2021 23:35:55 CEST
on peu préciser exactement ce que l’on veut afficher avec les options + ex:
# date +%d/%m/%Y                 affiche  03/09/2021
les options :
%d     jour du moins
%m   mois de l’année
%Y    année
%H    heure
%M   minute
%S    seconde

il peu être intéressant d’ajouter cette commande a une autre, par exemple pour créer une archive et rajouter la date ou l’heure de création dans le nom du fichier ex :
# tar cvzf  sauv-docs-$(date +%d-%m-%Y_%Hh%M).tar.gz   Documents

La commande ncal affiche un calendrier de type :
# ncal
Septembre 2021
lu    6 13 20 27
ma 7 14 21 28
me 1 8 15 22 29
je    2 9 16 23 30
ve   3 10 17 24
sa   4 11 18 25
di    5 12 19 26

on peut aussi afficher :
# ncal septembre 2015  (ou # ncal 9 2015)  affiche le mois de septembre 2015
# ncal 2018                                                                 
affiche tous les mois de l’année 2018

La commande at pour programmer une tache (executer une seule fois a un instant t) dans le temps
# at now + 15 minutes
at> rsync -av Documents sauvegardes
(ctrl+d) pour teminer les commandes
pour afficher les jobs en cours : # atq
pour annuler un job en cours:
# atrm 14       
(annule le job 14) 
autre exemples :
# at 21h30
# at 21h30 14.08.21
# at 9h30pm 14/08/21


 

Les alias : les alias se comportent comme un raccourci d’une commande.
chaques utilisateurs a ses alias. Ils sont définis dans le fichier /home/user/.bashrc     (fichier caché) ou ~/.bashrc
exemple d’alias :sur un serveur, on veut un raccourci de la commande :
# sudo systemctl reload apache2       en ssrap
dans le fichier ~/.bashrc on ajoute la ligne :
alias ssrap=’sudo systemctl reload apache2′
Les alias ne prennent effet qu’après une réouverture d’un shell
on peu se preparer un fichier avec avec une liste d’alias, on le place dans :
~/.alias
puis dans le fichier ~/.bashrc on rajoute la ligne :
source ~/.alias
pratique pour importer ses alias sur d’autres machines .


 

Le reseau sous debian
la configuration des cartes reseau sous debian se fait sur le fichier /etc/,etwork/interfaces
on peu editer le fichier

source /etc/network/interfaces.d/*
auto lo 
iface lo inet loopback

# The primary network interface
auto eth0

allo-hotplug eth0
iface eth0 inet dhcp
gateway 192.168.188.1

Ici 2 cartes sont affichées , la carte locale lo (127.0.0.1) et la carte réseau eth0 qui est en dhcp
Dans la deuxième ligne « auto etho » signifie qu’il faut démarrer la carte au démarrage de la machine
dans la 4em ligne on précise si on veut du dhcp ou static ( si static on devra rajouter une ligne qui précise l’adresse ip voulue  » address 192.168.1.100« )
gateway est la passerelle du réseaux.

on sauve le fichier après modifications
pour redemarrer le réseau :
sudo systemctl restart networking

Quelques commandes réseau :
afficher la liste des cartes réseau :
# ip a

Afficher les adresse ip de la machine :
# ip -br a

ajouter une adresse IP a une carte réseau ( ici eth0 est la carte réseau) :
# ip a add 192.168.1.125/24 dev eth0

afficher la table de routage :
# ip r show

envoyer un ping sur adresse IP
# ping -c1 192.168.1.1

activer le routage statique ( faire la passerelle entre les 2 réseaux différents) Sur une machine avec  2 cartes réseaux :
on vérifie l’état du routage ( ip_forward) :
#cat /proc/sys/net/ipv4/ip_forward
# 0
ici il est à l’état 0 donc désactivé, il faut le passe a 1 pour l’activer (si problèmes penser a désactiver le firewall : # sudo systemctl stop firewalld pour centos ou # sudo ufw disable pour ubuntu)
on l’active en ajoutant 1 au fichier :
# echo 1 > /proc/sys/net/ipv4/ip_forward

ensuite il suffit d’ajouter en tant que  passerelle (la machine avec les 2 cartes, ici 192.168.100.2 ip sur le second reseau)  dans les machines du second réseau :
# ip route add default via 192.168.100.2
on peu verifier avec la commande :
# ip route show


Quelques commandes sur les disques durs

# df
affiche les montages du systeme

dd est un utilitaire de copie de disque ( en local ou meme en reseau)
Copie du disque cluster/cluster
# dd if=/dev/sdb1 of=/dev/sdc status=progress

Copie du disque dans une image
# dd if=/dev/sdb1 of=backup-sdb1.img status=progress

nettoyer un disque ( effacer les données sans possibilité de récupération, 7 passages conseillés)
dd if=/dev/random of=/dev/sdc