View
14.505
Download
0
Category
Preview:
Citation preview
COMMANDES DE BASE
date afficher la date et l’heure.
ls -a -l --all -f -h -t faire un listing des fichiers et répertoire actuel.
tab x2 auto complétion.
clear ou ctrl+ l effacer la page.
ctrl +a retour en début de ligne.
history historique des commandes déjà tapées.
ctrl +r rechercher une commande tapée avec quelques lettres.
ctrl +d fermer la console.
pwd afficher le fichier actuel.
witch connaitre l’emplacement d’une commande. witch pwd
cd changer de dossier. cd /home/saturn/Images
cd .. cd ../.. revenir au dossier parent.
cd / retour à la racine.
cd retour au répertoire personnel.
du -h -a -s Disk Usage: affiche la taille occupée par les répertoires et fichiers. (-a
pour les fichiers).
cat -n affiche tout le contenu d’un fichier.
less afficher le contenu d’un fichier page par page.
more idem que laisse mais plus vieux et moins puissant. Utiliser less
head -n afficher le début du fichier.
tail -n -f afficher la fin d’un fichier.( -f : suivre en temps réel)
touch créer un fichier.
mkdir -p -v créer un répertoire. (Make Directory)
mkdir -p animaux/chiens/chat mkdir animaux chien
rm -i -f -v -r supprimer un fichier. (remove) rm animaux
supprimer plusieurs fichiers. rm animaux chiens chat
demander confirmation. rm -i
forcer la suppression. rm -f
mode verbose. rm -v
supprimer un dossier et son contenu. rm -r
rmdir supprimer un répertoire. (Remove Directory)
cp -r -v copier un fichier.
cp chiens.txt berger.txt = copie le fichier chiens et le renomme en
berger
cp chiens.txt /home/saturn/xerxes = copie le fichier chiens dans le
répertoire de xerxes.
cp -r animaux = copie le DOSSIER
mv déplacer un fichier. mv chiens /home/xerxes/Documents
renommer un fichier. mv chiens chiensdegarde
déplacer et renommer.
mv chiens/home/xerxes/Documents/chiensdegarde
ln -s
créer des liens symboliques. permet de créer des racourcis.
ls créer des liens physiques. permet d’avoir 2 noms de fichier avec le
même contenu.
COMMANDES LINUX.
UTILISATEURS ET DROITS. « A FAIRE EN ROOT »
sudo exécuter une commande en root.
sudo su devenir root et le rester. Attention cela est dangereux !!!
Le symbole # à la fin du prompt signifie que vous êtes en root.
Faites exit pour quitter le mode root ou ctrl +d
sudo adduser ajouter un utilisateur. sudo adduser patrick
sudo deluser suprimer un utilisateur. sudo deluser patrick (ne supprime pas le
répertoire personnel)
supprimer un utilisateur et son dossier home. sudo deluser --remove
home patrick
Ne supprimer pas le dernier compte utilisateur car il ne restera que root
et root ne peut pas se loguer sur une session, vous serez bloquez.
sudo passwd changer le mot de passe. sudo passwd patrick
addgroup ajouter un groupe. addgroup compta
delgroup supprimer un groupe. delgroup compta
usermod -l -g -G modifier un utilisateur.
rennomer l’utilisateur mais pas son son dossier home: usermod -l
patrick adrien
changer de groupe: usermod -g compta patrick
appartenance à plusieurs groupe: usermod -G compta, direction,
DRH,...
groupadd, groupdel, useradd,
deladd
idem que addgroup, delgroup, adduser, deluser sauf qu’elles
fonctionnent partout avec moins de fonctionnalités. Celles ci dessus sont
pour Debian et ses dérivés: Ubuntu....
chown changer le propriétaire d’un fichier. Attends 2 paramètres minimum: le
nom du nouveau propriétaire et le nom du fichier à modifier.
chown patrick rapport.txt :patrick est le nouveau propriétaire du
fichier rapport.txt. Faites un ls -l rapport.txt pour vérifier.
chgrp et chown (-R) changer le groupe propriétaire d’un fichier (ChangeGroup). même
utilisation que chown.
chgrp compta rapport.txt
chown patrick:compta rapport.txt utilisateur patrick, groupe compta.
affecter les droits à un dossier et tous ses sous dossier et fichiers:
chown -R patrick:compta /home/patrick/repcommun
chmod
Modifier les droits d’accès:
d: directory, l’élément est un dossier
l: link, l’élément est un lien, raccourci
r: read, indique que l’utilisateur peut lire l’élément.
w: Write, indique que l’utilisateur peut modifier et supprimer l’élément.
x: eXecutable, indique que l’utilisateur peut exécuter l’élément.
EX: retour d’un ls -l sur un fichier: rw-r--r-- xerxes xerces date heure
nom du fichier
- ou d ou l: indique s’il s’agit d’un dossier, d’un raccourci ou non.
rw- : peut lire et modifier
r-- : tous les utilisateurs faisant partie du groupe peuvent seulement lire
chmod
r-- : tous les autres utilisateurs ne faisant pas parti du groupe xerces
peuvent seulement lire le fichier.
Droits avec chiffres, lettres et calcul:
r = 4
w = 2
x = 1
--- = 0 = 0+0+0
r-- = 4 = 4+0+0
-w- = 2 = 0+2+0
--x = 1 = 0+0+1
rw- = 6 = 4+2+0
-wx = 3 = 0+2+1
r -x = 5 =4+0+1
EX: chmod 640 rapport.txt
640: indique les droits du propriétaire, du groupe et des autres.
6: droit de lecture et d’écriture pour le propriétaire.
4: droit de lecture pour le groupe.
0: aucun droit pour les autres.
Droits avec des lettres:
u= user g= group o= other
+ signifie ajouter le droit.
- signifie supprimer le droit.
= signifie affecter le droit.
EX:
ajouter le droit écriture au groupe:
chmod g+w rapport.txt
enlever le droit de lectures aux autres :
chmod o-r rapport.txt
ajouter le droit de lecture & exécution au propriétaire :
chmod u+rx rapport.txt
ajouter le droit d’écriture au groupe, et l’enlevez aux autres :
chmod g+w, o-w rapport.txt
Enlevez le droit d’écriture au groupe et aux autres :
chmod go-r rapport.txt
chmod
ajouter le droit d’exécution à tout le monde :
chmod +x rapport.txt
affecter tous les droits au propriétaire, la lecture au groupe, rien aux
autres :
chmod u=rwx, g=r, o=- rapport.txt
-R : affecter aux dossiers, sous dossiers et fichiers:
EX:
affecter à l’ensemble du dossier home de xerxes le pouvoir de lire,
écrire et executer les fichiers de son répertoire :
chmod -R 700 /home/xerxes ou chmod u=rwx, g=-, o=-
EDITION DE TEXTE
vi
emacs
nano lancez nano: nano
créer et éditer un fichier texte: nano rapport.txt
ctrl+ : couper une ligne de texte.
ctrl+u: coller une ligne de texte coupée précédemment.
ctrl+o: enregistrer, écrire le fichier.
ctrl+x: quitter nano.
nano -m : autorise la souris !!!
nano -i : identation automatique.
nano -A : active le retour intéligennt au début de la ligne.
nano -miA rapport.txt : pour toutes les options.
nano .nanorc /home/xerxes éditer le fichier de config de nano dans le répertoire utilisateur. Ajouter
les options suivantes dedans:
setmouse
set autoindent
set smarthome
sudo nano /etc/nanorc éditer nanorc pour tous les utilisateurs. Dans le fichier, supprimer le #
des lignes suivantes:
# setmouse
# set autoindent
# set smarthome
Décommenter les lignes d’include suivante pour les colorsetup si ce
n’est déjà fait:
## Nanorc files
## C/C++
## HTML
INSTALLATION ET CONFIGURATION DE PAQUETS AVEC APT
- Les programmes sont fournis sous forme de paquets qui ont généralement besoin de dépendances pour
fonctionner.
- Les paquets sont situés sur des serveurs qu’on appelle des dépôts. Leurs adresses se situe dans le fichier
/etc/apt/sources.list qu’il est possible d’éditer.
- apt-get n’existe que sous Debian et ses dérivés comme Ubuntu. Il existe aussi rpm sous Red Hat qui ne
gére pas les dépendances, yum rpm gérant les dépendances pour fedora, urpmi idem que yum pour
Mandriva.
apt-get update mettre à jour le cache d’apt.
apt-get upgrade mettre à jour tous les paquets.
apt-cache search
monpaquet
rechercher un paquet sans connaitre le nom exact.
apt-get install monpaquet télécharger et installer un paquet.
apt-cache show nompaquet afficher une description du paquet.
apt-get remove nompaquet désinstaller un paquet sans les dépendances, préférez autoremove.
apt-get autoremove nom désinstaller un paquet et ses dépendances.
apt-get moo représente une vache dans la console, gros délire de programmeurs !!!
apt-get autoclean effectue un nettoyage des paquets non utilisés.
READ THE FUCK MANUAL (RTFM) «Lis ce putain de manuel !!!»
Il est considéré comme très grossier de poser une question sur une commande dont la réponse se trouve
dans le manuel man dans les forums. C’est une petite insulte amicale entre linuxiens !!
man nomdelacommande affiche le manuel d’une commande
man man affiche le manuel de man; donc du manuel !!
apt-get install manpages-fr-
extra
installe la langue françaises pour le manuel.
apropos permet de trouver des informations sur le sujet sans connaitre la commande.
apropos sound propose à gauche les commandes adéquat suivi d’une description.
essayer alsamixer et man alsamixer pour obtenir le man !!
nomdelacommande -h obtenir de l’aide sur une commande
nomdelacommande --help idem que -h
whatis nomdelacommande sorte de man allégé.
info nomdelacommande alternative à man.
info coreutils Gros résumé des commandes consoles de linux.
On retrouve aussi le man sur le web !!!
RECHERCHER DES FICHIERS
locate nomdufichier Outils de recherche rapide. EX: locate notes.txt
sudo updatedb reconstruire la base de données des fichiers du disque dur.
find recherche approfondie. N’utilise pas une database mais parcours le disque
physiquement.
find -name «logo.png» recherche par nom exact.
find chemin -name
«logo.png»
EX: find /var/log/ -name «syslog» :recherche tous les fichiers commençant par
syslog.
find / -name «*logo.png*» / recherche sur tous le disque.
«*logo.png*» recherche des fichiers commençant ou terminant par syslog.
find ~ -size +10M rechercher des fichiers par la taille.
~ signifie home.
M des méga, K des Ko, G des Go....
find -name «*.odt» -atime -
7
find -atime -7
rechercher à partir de la dernière date d’accès
-atime spécifie le nombre de jours
find /var/log -name «syslog»
-type d
rechercher uniquement des répertoires.
-type f rechercher uniquement des fichiers.
-print afficher les résultats trouvés.
find ~ -name «*.jpg» -delete supprimer les fichiers trouvés.
~ signifie /home.
«*.jpg» signifie tous les fichiers jpg.
TRIER DES FICHIERS
sort noms.txt trier un fichier par ordre alphabétique. Ne fais pas attention à la casse.
sort -o noms_triés noms.txt trier le fichier dans le fichier noms_triés.txt
sort -r noms.txt trier en ordre inverse.
sort -R noms.txt trier par ordre aléatoire.
sort -n nombres.txt trier par nombres.
REDIRECTIONS
Redirection dans un fichier
sort noms.txt > notes.txt redirige le résultat de la commande sort dans le fichier notes.txt au lieu de
l’afficher dans le terminal.
sort noms.txt >> notes.txt idem que > sauf que le résultat se retrouve à la fin du fichier si celui ci à déjà
été commencé.
Chainer des commandes il faut utiliser le pipe ( | ) pour séparer les commandes.
du | sort -n exécute Disk Usage et trie le résultat par nombre.
SURVEILLANCE DU SYSTEME
w informations sur la machine.
l’heure, la durée de fonctionnement, la charge et la liste des connectés.
user: nom de l’utilisateur.
TTY: le nom de la console dans laquelle se trouve l’utilisateur.
from: @IP depuis laquelle le user se connecte.
login@: l’heure de connexion.
IDLE: depuis combien de temps.
WHAT: quelle commande est il en train d’exécuter.
uptime durée de fonctionnement de l’ordinateur
tload indice de l’activité de la machine.
0,08: Depuis 1 minute.
0,34: depuis 5min.
0,31: Depuis 15 min.
who liste des connectés.
ps liste des processus statiquement.
PID: numéro d’identification du processus.
TTY: Nom de la console depuis laquelle le processus est lancé.
TIME: Durée d’exécution du processus.
CMD: Programme qui a généré le processus.
ps -ef lister tous les processus lancés par les utilisateurs y compris root.
ps -ejH lister les processus sous forme d’arborescences. Permet de voir les processus
enfants et parents.
ps -u Utilisateur lister les processus utilisés par un utilisateur
Ex: ps -u hadrien
top lister les processus dynamiquement.
b: met en gras certains éléments.
f: ajoute ou supprime des colonnes.
F change la colonne de tri des processus.
u: filtre en fonction de l’utilisateur désiré.
k: tue un processus.
s: change l’intervalle de temps de rafraichissement.
q: quitter top.
h: affiche l’aide.
kill N°PID
kill 1232 4563 3987
kill -9 32876
tuer un processus grâce à son PID. Utiliser ps -u utilisateur !
tuer plusieurs processus gentiment.
tuer sans laisser le temps au processus de s’arreter proprement.
ps -u hadrien | grep firefox
killall firefox-bin
killall firefox
EX pour le programme firefox en cours qui a plusieurs processus en cours sur
la session hadrien. On va trier ses processus et les tuer en un seul coup.
ARRETER ET REDEMARRER UNE MACHINE LINUX
sudo halt arrêter l’ordinateur.
sudo reboot redémarrer l’ordinateur.
sudo logout fermer la session.
ARCHIVER ET COMPRESSER / DECOMPRESSER
Regrouper au préalable les fichiers à compressé dans un même dossier pour cette commande.
tar -cvf nomdufichier.tar
nomdudossier/
Ex: tar -cvf 4vérités.tar 4vérités/
-v: mode verbose.
-c: créer l’archive tar.
-f: assembler l’archive dans un fichier.
tar -cvf archive.tar fichier1
fichier 2 fichier3
créer une archive tar sans regrouper les fichiers dans un dossier.
tar -tf archive.tar -tf affiche le contenu de l’archive sans l’extraire.
tar -xvf archive.tar.gz extraire, décompressez une archive dans le répertoire courant.
Compresser une archive tar en gzip et bzip2. (Plus performant mais plus lent)
gzip archive.tar compresser en .tar.gzip
gunzip archive.tar décompresser l’archive gzip
bzip2 archive.tar compresser en .tar.bzip2
bunzip2 archives.tar.bzip2 décompresser l’archive bzip2
Archiver, compresser en gzip et bzip2 et décompresser
tar -zcvf archives.tar.gz
dossier
-zcvf archive en tar et compresse en gzip
tar -ztf archive.tar.gz affiche le contenu.
tar -zxvf archives.tar.gz extraire, décompressez l’archive gzip
tar -jcvf archive.tar.bzip2
dossier
-jcvf archive en tar et compresse en bzip2
tar -jtf archive.tar affiche le contenu.
tar -jxvf archive.tar dossier extraire, décompressez l’archive bzip2.
Afficher directement un fichier compressé.Outils capable de lire un fichier compressé gzippé
zcat équivalent à cat
zmore équivalent à more
zless équivalent à less
Unrar et unzip.
sudo apt-get install unrar installer unrar
sudo apt-get install unzip installer unzip
unrar e archive.rar décompresser une archive rar. Utiliser -l pour lister.
unzip archive.zip décompresser une archive .zip
TRANSFORMER SA MACHINE EN SERVEUR ET SE CONNECTER A DES SERVEURS
sudo apt-get install
openssh-server
installation du module server ssh.
sudo /etc/init.d/ssh start démarrer le service server ssh.
sudo /etc/init.d/ssh stop arrêter le service server ssh.
ssh login@IP Se connecter d’une autre machine linux à son serveur ssh.
Ex:
ssh hadrien@80.10.354.1765 en WAN.
ssh hadrien@192.168.1.132 en LAN.
SSH utilise le port 22, attention au pare feu si vous avez des erreurs !!!
précise le port utilisé par ssh si le serveur tourne sur un autre port :
ssh hadrien@80.10.354.1765 -p 12451
logout se déconnecter de la machine. fin de la communication ssh.
Utiliser le programme PuTTY pour vous connecter graphiquement en ssh à partir d’une machine
Windows.
TELECHARGEMENTS DE FICHIER
wget
http://cdimage.org/debian.i
so
télécharger à partir d’une adresse http. ctrl+c pour arrêter.
wget -c http://......... reprendre un téléchargement arrêté.
wget --background -c
http://..
lancer un téléchargement en tache de fond.
Téléchargement de fichiers de manière sécurisée. (Secure CoPy)
scp fichier_d’origine
dossier_de_destination
scp login@IP:nom-fichier peut être utilisé pour le fichier d’origine et le
fichier de destination.
possibilité de remplacer l’@IP par le nom de Domaine.
scp image.png
hadrien@85.167.10.1435 :
/home/elise/images
copie du fichier image.png de mon ordinateur vers l’@IP 85.167....... dans le
fichier home/elise/images de cet ordinateur.
scp mateo21@85.123.10.201
: image.png image2.png
copie du fichier image.png d’un autre ordinateur : mateo21@85.123.10.201sur
mon ordinateur sous le nom image2.png
scp -P 1626
mateo21@85.123.10.201 :
image.png .
-P spécifie le numéro de port du serveur SSH (-P 1626). Le reste de la
commande copie le fichier image.png sans le changer de nom dans le répertoire
actuel. Le point (.) à la fin de la commande le spécifie.
Téléchargement de fichier à partir d’un serveur FTP
Connexion au serveur par nom de Domaine ou adresse IP privée ou public.
ftp ftp.debian.org connexion FTP public. Login= anonymous, Password= Ce que vous voulez !!!
ftp.192.168.1.253 connexion FTP serveur privé local par @IP
ftp.serveurprivé.com connexion FTP serveur privé WAN par nom de Domaine
ftp.85.134.56.8743 connexion FTP serveur privé WAN par @IP
Se déplacer au sein d’un serveur FTP. Gestion des fichiers et répertoires.
ls afficher le contenu du répertoire actuel.
pwd affiche le chemin actuel.
cd changer de répertoire.
delete, mdelete supprimer un fichier
mkdir créer un dossier
rmdir supprimer un dossier
rename renommer un dossier.
Transfert de fichiers via FTP.
put nom_du_fichier envoie, upload un fichier vers le serveur FTP.
get nom_du_fichier télécharge, download depuis le serveur FTP.
!pwd affiche le chemin actuel de votre ordinateur !
!cd changer le dossier actuel de votre ordinateur !
chmod voir le dossier chmod pour les autorisations.
!ls lister les fichiers du répertoire actuel de votre ordinateur.
man ftp pour plus de commandes !!! RTFM !!!!
Déconnexion du serveur.
close, bye, quit, disconnect déconnexion.
Connexion à un serveur FTP sécurisé. SFTP: FTP sécurisé.
sftp login@IP ou
sftp mateo21@lisa.site.com
EX: sftp anonymous@debian.org cela ne fonctionnera pas !!!
En temps normal on vous demandera votre mot de passe ou une clé publique
sera utilisée si elle est présente.
-Faites attention ! certaines commandes changent, par exemple supprimer un fichier ne sera plus
delete mais rm !
- Faire un man sftp pour plus d’infos. RTFM :)
COMMANDES RESEAU
host @IP obtenir le nom d’hôte correspondant ou son synonyme.
host google.fr obtenir l’@IP correspondant à un nom de Domaine.
ping -c Necho @IP
ping -c Necho NomDomaine
EX:
ping -c 4 192.168.1.123 : envoi 5 requètes sur l’@IP.
ping -c 4 google.fr : envoie 4 requètes sur l’hote google.fr
sudo nano /etc/hosts Gérer les noms d’hôtes personnalisés en éditant le fichier host.
Ex:
127.0.0.1 localhost
192.168.1.34 PC XerXes
80.248.219.123 siteduzero.com
whois Obtenir des informations sur un nom de domaine comme le nom, prénom,
adresses, contact.
EX: whois google.fr
Gérer et analyser le traffic réseau.
ifconfig Lister les interfaces réseau. (cartes réseau)
eth0: connexion Ethernet.
lo: boucle locale, c’est à dire vous meme.
wlan0: connexion Wifi.
ifconfig eth0 up
ifconfig lo up
ifconfig wlan0 down
eth0 up: active la carte réseau.
wlan0 down: désactive la carte Wifi.
sudo nano
/etc/network/interfaces
permet d’éditer le fichier interfaces afin de paramétrer une carte réseau en
adresse statique. Respecter la syntaxe suivante et adaptée la:
## carte réseau Appart
auto eth0
iface eth0 inet static
address 192.168.1.12
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# The loopback network interface
auto lo
iface lo inet loopback
netstat -i tableau de statistiques d’utilisation des interfaces réseau.
netstat -u -t -a -n -utan
man netstat pour plus
d’infos
RTFM !!!
lister toutes les connexions ouvertes.
-u: afficher les connexions UDP.
-t: afficher les connexions TCP
-a: afficher toutes les connexions quel que soit l’état.
-n: afficher les numéros de ports.
netstat -lt lister les connexions en état d’écoute.(LisTen)
netstat -s statistiques résumées.
Le firewall Iptables. S’utilise en root.
iptables -L afficher les règles du pare-feu.
chain INPUT: traffic entrant.
chain FORWARD: redirection de traffic.
chain OUTPUT: traffic sortant.
iptables -F réinitialiser les règles iptables.
iptables -L --line-numbers afficher les numéros des règles.
Ajouter et supprimer des règles.
Principales commandes:
-A chain: ajoute une règle en fin de liste, INPUT? OUTPUT.
-D chain rulenum: supprime n° pour la Chain indiquée.
-l chain rulenum: insère une règle en milieu de liste à la position n°rulenum dans la chain.
-R chain rulenum: remplace la règle n° rulenum dans la chain indiquée.
-L : liste les règles.
-F chain: vide toutes les règles de la chain indiquée.
-P chain regle: modifie la règle par défaut pour la chain.
iptables -A (chain) -P (protocole) --dport (port) -j (décision)
vous pouvez utilisez le numéro de port ou la syntaxe comme www (80) ou imap2
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
ajout d’une règle entrante (INPUT) via le protocole TCP (-p tcp) sur le port de SSH (-dport ssh ou -dport 22)
et accepté (-j ACCEPT)
iptables -A INPUT -p 80 --dport ssh -j ACCEPT
autoriser le trafic web (80)
iptables -A INPUT -p www --dport ssh -j ACCEPT
autoriser le traffic web (www)
iptables -A INPUT -p imap2 --dport ssh -j ACCEPT
autoriser le traffic mail (imap2)
iptables -A INPUT -p icmp -j ACCEPT
accepter les pings.
iptables -A INPUT -i lo -j ACCEPT
autoriser tout le traffic sur l’interface de loopback locale (-i lo)
iptables -A INPUT -m state --state ETABLISHED, RELATED -j ACCEPT
autoriser toutes les connexions déjà à l’état ETABLISHED ou RELATED donc toutes les connexions qui ont
été demandé par votre PC.
iptables -P INPUT DROP
refuser toutes les autres connexions par défaut.
Recommended