ls -a -l --all -f -h -t faire un listing des fichiers et rpertoire actuel. tab x2 auto compltion. clear ou ctrl+ l effacer la page. ctrl +a retour en dbut de ligne. history historique des commandes dj tapes. ctrl +r rechercher une commande tape avec quelques lettres. ctrl +d fermer la console. pwd afficher le fichier actuel. witch connaitre lemplacement dune commande. witch pwd cd changer de dossier. cd /home/saturn/I mages cd .. cd ../.. revenir au dossier parent. cd / retour la racine. cd retour au rpertoire personnel. du -h -a -s Disk Usage: affiche la taille occupe par les rpertoires et fichiers. (-a pour les fichiers). cat -n affiche tout le contenu dun fichier. less afficher le contenu dun fichier page par page. more idem que laisse mais plus vieux et moins puissant. Utiliser less head -n afficher le dbut du fichier. tail -n -f afficher la fin dun fichier.( -f : suivre en temps rel) touch crer un fichier. mkdir -p -v crer un rpertoire. (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 rpertoire. (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 rpertoire de xerxes. cp -r animaux = copie le DOSSIER mv dplacer un fichier. mv chiens /home/xerxes/Documents renommer un fichier. mv chiens chiensdegarde dplacer et renommer. mv chiens/home/xerxes/Documents/chiensdegarde ln -s
crer des liens symboliques. permet de crer des racourcis. ls crer des liens physiques. permet davoir 2 noms de fichier avec le mme contenu.
COMMANDES LINUX.
UTILISATEURS ET DROITS. A FAIRE EN ROOT sudo excuter 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 rpertoire 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 lutilisateur 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 quelles fonctionnent partout avec moins de fonctionnalits. Celles ci dessus sont pour Debian et ses drivs: Ubuntu.... chown changer le propritaire dun fichier. Attends 2 paramtres minimum: le nom du nouveau propritaire et le nom du fichier modifier. chown patrick rapport.txt :patrick est le nouveau propritaire du fichier rapport.txt. Faites un ls -l rapport.txt pour vrifier. chgrp et chown (-R) changer le groupe propritaire dun fichier (ChangeGroup). mme 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 daccs:
d: directory, llment est un dossier l: link, llment est un lien, raccourci
r: read, indique que lutilisateur peut lire llment. w: Write, indique que lutilisateur peut modifier et supprimer llment. x: eXecutable, indique que lutilisateur peut excuter llment.
EX: retour dun ls -l sur un fichier: rw-r--r-- xerxes xerces date heure nom du fichier
- ou d ou l: indique sil sagit dun dossier, dun 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.
640: indique les droits du propritaire, du groupe et des autres. 6: droit de lecture et dcriture pour le propritaire. 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 & excution au propritaire : chmod u+rx rapport.txt
ajouter le droit dcriture au groupe, et lenlevez aux autres : chmod g+w, o-w rapport.txt
Enlevez le droit dcriture au groupe et aux autres : chmod go-r rapport.txt
chmod
ajouter le droit dexcution tout le monde : chmod +x rapport.txt
affecter tous les droits au propritaire, 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 lensemble du dossier home de xerxes le pouvoir de lire, crire et executer les fichiers de son rpertoire : chmod -R 700 /home/xerxes ou chmod u=rwx, g=-, o=- EDITION DE TEXTE vi emacs nano lancez nano: nano crer et diter un fichier texte: nano rapport.txt
ctrl+ : couper une ligne de texte. ctrl+u: coller une ligne de texte coupe prcdemment. ctrl+o: enregistrer, crire le fichier. ctrl+x: quitter nano.
nano -m : autorise la souris !!! nano -i : identation automatique. nano -A : active le retour intligennt au dbut de la ligne. nano -miA rapport.txt : pour toutes les options. nano .nanorc /home/xerxes diter le fichier de config de nano dans le rpertoire 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
Dcommenter les lignes dinclude suivante pour les colorsetup si ce nest dj fait:
## Nanorc files ## C/C++ ## HTML
INSTALLATION ET CONFIGURATION DE PAQUETS AVEC APT - Les programmes sont fournis sous forme de paquets qui ont gnralement besoin de dpendances pour fonctionner. - Les paquets sont situs sur des serveurs quon appelle des dpts. Leurs adresses se situe dans le fichier /etc/apt/sources.list quil est possible dditer. - apt-get nexiste que sous Debian et ses drivs comme Ubuntu. Il existe aussi rpm sous Red Hat qui ne gre pas les dpendances, yum rpm grant les dpendances pour fedora, urpmi idem que yum pour Mandriva.
apt-get update mettre jour le cache dapt. apt-get upgrade mettre jour tous les paquets. apt-cache search monpaquet rechercher un paquet sans connaitre le nom exact. apt-get install monpaquet tlcharger et installer un paquet. apt-cache show nompaquet afficher une description du paquet. apt-get remove nompaquet dsinstaller un paquet sans les dpendances, prfrez autoremove. apt-get autoremove nom dsinstaller un paquet et ses dpendances. apt-get moo reprsente une vache dans la console, gros dlire de programmeurs !!! apt-get autoclean effectue un nettoyage des paquets non utiliss. READ THE FUCK MANUAL (RTFM) Lis ce putain de manuel !!! I l est considr comme trs grossier de poser une question sur une commande dont la rponse se trouve dans le manuel man dans les forums. Cest une petite insulte amicale entre linuxiens !! man nomdelacommande affiche le manuel dune commande man man affiche le manuel de man; donc du manuel !!
apt-get install manpages-fr- extra installe la langue franaises pour le manuel. apropos permet de trouver des informations sur le sujet sans connaitre la commande. apropos sound propose gauche les commandes adquat suivi dune description. essayer alsamixer et man alsamixer pour obtenir le man !! nomdelacommande -h obtenir de laide sur une commande nomdelacommande --help idem que -h whatis nomdelacommande sorte de man allg. info nomdelacommande alternative man. info coreutils Gros rsum 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 donnes des fichiers du disque dur.
find recherche approfondie. Nutilise 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 commenant par syslog. find / -name *logo.png* / recherche sur tous le disque. *logo.png* recherche des fichiers commenant ou terminant par syslog.
find ~ -size +10M rechercher des fichiers par la taille. ~ signifie home. M des mga, K des Ko, G des Go.... find -name *.odt -atime - 7 find -atime -7 rechercher partir de la dernire date daccs -atime spcifie le nombre de jours find /var/log -name syslog -type d rechercher uniquement des rpertoires. -type f rechercher uniquement des fichiers. -print afficher les rsultats trouvs.
find ~ -name *.jpg -delete supprimer les fichiers trouvs. ~ signifie /home. *.jpg signifie tous les fichiers jpg. TRIER DES FICHIERS sort noms.txt trier un fichier par ordre alphabtique. Ne fais pas attention la casse. sort -o noms_tris noms.txt trier le fichier dans le fichier noms_tris.txt sort -r noms.txt trier en ordre inverse. sort -R noms.txt trier par ordre alatoire. sort -n nombres.txt trier par nombres. REDIRECTIONS Redirection dans un fichier sort noms.txt > notes.txt redirige le rsultat de la commande sort dans le fichier notes.txt au lieu de lafficher dans le terminal. sort noms.txt >> notes.txt idem que >sauf que le rsultat se retrouve la fin du fichier si celui ci dj t commenc. Chainer des commandes il faut utiliser le pipe ( | ) pour sparer les commandes. du | sort -n excute Disk Usage et trie le rsultat par nombre. SURVEILLANCE DU SYSTEME w informations sur la machine. lheure, la dure de fonctionnement, la charge et la liste des connects. user: nom de lutilisateur. TTY: le nom de la console dans laquelle se trouve lutilisateur. from: @IP depuis laquelle le user se connecte. login@: lheure de connexion. I DLE: depuis combien de temps. WHAT: quelle commande est il en train dexcuter. uptime dure de fonctionnement de lordinateur tload indice de lactivit de la machine. 0,08: Depuis 1 minute. 0,34: depuis 5min. 0,31: Depuis 15 min. who liste des connects.
ps liste des processus statiquement. PI D: numro didentification du processus. TTY: Nom de la console depuis laquelle le processus est lanc. TI ME: Dure dexcution du processus. CMD: Programme qui a gnr le processus. ps -ef lister tous les processus lancs par les utilisateurs y compris root.
ps -ejH lister les processus sous forme darborescences. Permet de voir les processus enfants et parents. ps -u Utilisateur lister les processus utiliss par un utilisateur Ex: ps -u hadrien
top lister les processus dynamiquement. b: met en gras certains lments. f: ajoute ou supprime des colonnes. F change la colonne de tri des processus. u: filtre en fonction de lutilisateur dsir. k: tue un processus. s: change lintervalle de temps de rafraichissement. q: quitter top. h: affiche laide.
kill NPID kill 1232 4563 3987 kill -9 32876 tuer un processus grce son PID. Utiliser ps -u utilisateur ! tuer plusieurs processus gentiment. tuer sans laisser le temps au processus de sarreter 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 arrter lordinateur. sudo reboot redmarrer lordinateur. sudo logout fermer la session.
ARCHIVER ET COMPRESSER / DECOMPRESSER Regrouper au pralable les fichiers compress dans un mme dossier pour cette commande. tar -cvf nomdufichier.tar nomdudossier/ Ex: tar -cvf 4vrits.tar 4vrits/ -v: mode verbose. -c: crer larchive tar. -f: assembler larchive dans un fichier. tar -cvf archive.tar fichier1 fichier 2 fichier3 crer une archive tar sans regrouper les fichiers dans un dossier.
tar -tf archive.tar -tf affiche le contenu de larchive sans lextraire. tar -xvf archive.tar.gz extraire, dcompressez une archive dans le rpertoire courant.
Compresser une archive tar en gzip et bzip2. (Plus performant mais plus lent) gzip archive.tar compresser en .tar.gzip gunzip archive.tar dcompresser larchive gzip
bzip2 archive.tar compresser en .tar.bzip2 bunzip2 archives.tar.bzip2 dcompresser larchive bzip2
Archiver, compresser en gzip et bzip2 et dcompresser 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, dcompressez larchive 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, dcompressez larchive 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 dcompresser une archive rar. Utiliser -l pour lister. unzip archive.zip dcompresser 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 dmarrer le service server ssh. sudo /etc/init.d/ssh stop arrter le service server ssh.
ssh login@IP Se connecter dune 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 !!!
prcise le port utilis par ssh si le serveur tourne sur un autre port : ssh hadrien@80.10.354.1765 -p 12451 logout se dconnecter de la machine. fin de la communication ssh. Utiliser le programme PuTTY pour vous connecter graphiquement en ssh partir dune machine Windows. TELECHARGEMENTS DE FICHIER wget http://cdimage.org/debian.i so tlcharger partir dune adresse http. ctrl+c pour arrter. wget -c http://......... reprendre un tlchargement arrt. wget --background -c http://.. lancer un tlchargement en tache de fond. Tlchargement de fichiers de manire scurise. (Secure CoPy) scp fichier_dorigine dossier_de_destination scp login@I P:nom-fichier peut tre utilis pour le fichier dorigine 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 dun 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 spcifie le numro de port du serveur SSH (-P 1626). Le reste de la commande copie le fichier image.png sans le changer de nom dans le rpertoire actuel. Le point (.) la fin de la commande le spcifie. Tlchargement de fichier partir dun serveur FTP Connexion au serveur par nom de Domaine ou adresse I P prive 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 dplacer au sein dun serveur FTP. Gestion des fichiers et rpertoires. ls afficher le contenu du rpertoire actuel. pwd affiche le chemin actuel. cd changer de rpertoire. delete, mdelete supprimer un fichier mkdir crer 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 tlcharge, 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 rpertoire actuel de votre ordinateur. man ftp pour plus de commandes !!! RTFM !!!! Dconnexion du serveur. close, bye, quit, disconnect dconnexion. Connexion un serveur FTP scuris. SFTP: FTP scuris. 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 utilise si elle est prsente. -Faites attention ! certaines commandes changent, par exemple supprimer un fichier ne sera plus delete mais rm ! - Faire un man sftp pour plus dinfos. RTFM :)
COMMANDES RESEAU host @IP obtenir le nom dhte 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 requtes sur l@IP. ping -c 4 google.fr : envoie 4 requtes sur lhote google.fr sudo nano /etc/hosts Grer les noms dhtes personnaliss 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, prnom, adresses, contact. EX: whois google.fr
Grer et analyser le traffic rseau. ifconfig Lister les interfaces rseau. (cartes rseau) eth0: connexion Ethernet. lo: boucle locale, cest dire vous meme. wlan0: connexion Wifi. ifconfig eth0 up ifconfig lo up ifconfig wlan0 down eth0 up: active la carte rseau. wlan0 down: dsactive la carte Wifi. sudo nano /etc/network/interfaces permet dditer le fichier interfaces afin de paramtrer une carte rseau en adresse statique. Respecter la syntaxe suivante et adapte la:
## carte rseau 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 dutilisation des interfaces rseau. netstat -u -t -a -n -utan
man netstat pour plus dinfos RTFM !!! lister toutes les connexions ouvertes. -u: afficher les connexions UDP. -t: afficher les connexions TCP -a: afficher toutes les connexions quel que soit ltat. -n: afficher les numros de ports. netstat -lt lister les connexions en tat dcoute.(LisTen) netstat -s statistiques rsumes.
Le firewall Iptables. Sutilise en root. iptables -L afficher les rgles du pare-feu. chain INPUT: traffic entrant. chain FORWARD: redirection de traffic. chain OUTPUT: traffic sortant. iptables -F rinitialiser les rgles iptables. iptables -L --line-numbers afficher les numros des rgles. Ajouter et supprimer des rgles. Principales commandes:
-A chain: ajoute une rgle en fin de liste, INPUT? OUTPUT. -D chain rulenum: supprime n pour la Chain indique. -l chain rulenum: insre une rgle en milieu de liste la position nrulenum dans la chain. -R chain rulenum: remplace la rgle n rulenum dans la chain indique. -L : liste les rgles. -F chain: vide toutes les rgles de la chain indique. -P chain regle: modifie la rgle par dfaut pour la chain.
iptables -A (chain) -P (protocole) --dport (port) -j (dcision)
vous pouvez utilisez le numro de port ou la syntaxe comme www (80) ou imap2 iptables -A I NPUT -p tcp --dport ssh -j ACCEPT ajout dune rgle entrante (INPUT) via le protocole TCP (-p tcp) sur le port de SSH (-dport ssh ou -dport 22) et accept (-j ACCEPT) iptables -A I NPUT -p 80 --dport ssh -j ACCEPT autoriser le trafic web (80) iptables -A I NPUT -p www --dport ssh -j ACCEPT autoriser le traffic web (www) iptables -A I NPUT -p imap2 --dport ssh -j ACCEPT autoriser le traffic mail (imap2) iptables -A I NPUT -p icmp -j ACCEPT accepter les pings. iptables -A I NPUT -i lo -j ACCEPT autoriser tout le traffic sur linterface de loopback locale (-i lo) iptables -A I NPUT -m state --state ETABLI SHED, RELATED -j ACCEPT autoriser toutes les connexions dj ltat ETABLISHED ou RELATED donc toutes les connexions qui ont t demand par votre PC.
iptables -P I NPUT DROP refuser toutes les autres connexions par dfaut.