0% ont trouvé ce document utile (0 vote)
15 vues15 pages

Commandes et gestion des fichiers Linux

Ce document décrit diverses commandes et fonctionnalités du terminal Linux, notamment les raccourcis clavier, la structure des fichiers et dossiers, les commandes de manipulation et d'installation de fichiers, les droits d'accès et les commandes liées aux processus.

Transféré par

Bocar Mangara
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues15 pages

Commandes et gestion des fichiers Linux

Ce document décrit diverses commandes et fonctionnalités du terminal Linux, notamment les raccourcis clavier, la structure des fichiers et dossiers, les commandes de manipulation et d'installation de fichiers, les droits d'accès et les commandes liées aux processus.

Transféré par

Bocar Mangara
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TERMINAL

Commande parametre(courts: -a,-d,-dahU


etc..;longs:--remove-home etc...)

-Autocompletion d'un commande: Ex: da + (2X)tab : permet de completer une


commande ou d'afficher liste commande commençant par da
* (2X)tab: affiche commande dispo(je pense) , [espace]pour page
suivant,[entrer] pour liste suivant
*historique commande: fleche haut(dernier cmd),fleche bas(recente),history,
ctrl+R:' ' recherche cmd

-Raccourcis Clavier:|-Ctrl+L: effacer console ou ecrire clear


|-Ctrl+D: MSG(EOF) ou exit
|-fleche haut shift + pg Up: remonter MSG
|-..................+pg down: redescendre

Crtl +|-A: _.....


|-E: ....._
|-U: S...._......
|-K: ....._......S
|-W:...._.....
|-Y:.....

Structures de fichiers:|-bin: contient les executables


|-boot:fichier demarrage linux
|-dev: peripheriques
|-etc: [Link]
|-home:repertoire perso
|-lib:.so(bibliotheques)
|-media:amovible
|-mnt:c et d
|-opt:add-ons
|-proc:[Link]
|-root: SU
|-sbin:[Link] du systeme
|-tmp:stock les fichiers des programmes
|-usr: ou s'installe les programmes
|-var: variables logs

Systemes de fichiers:|-pwd :indique ou on est actuellement


.:[Link] |-which: indique ou se trouve une commande: which ls
..:[Link] |-cd :change directory(cd .., cd ../..)
|-du:disk usage(-h(k,Mo,Go,),-a([Link] fi),-s)
|-ls:listes les [Link]
-a:[Link] D caches ,
-F:type element,
-l:liste detailles
Chemin:|-Relatifs:depend du dossier ou on se trouve(/usr/cd games------> /games)
|-Absolue: commence tjrs par la racine (/)
|-cd ~:vers perso
|-Autocompletion: dossier/ cd ga + tab

Manipulation de Fichiers:|-cat:afficher contenu d'un fichier: cat [Link]


|-less: page/page
|-head:debut fichier
|-tail:fin fichier
|-touch:creer un fichier: touch NomFichier ou (fi1 fi2
"fi Trois")poly
|-mkdir:creer un dossier(repertoire): mkdir NomDossier
ou poly ,mkdir -p ex1/ex2/yeah
|-cp: creer une copie: cp Monfichier NomDeLaCopie , cp
Monfichier Dossier/NomDeLaCopie, (-R: pour un dossier)(*.jpg:fichier se
terminant par jpg)(so*:fichier commençant par so)
|-mv: deplacer fichier/dossier: mv Monfichier
Docs,poly,(renommer: mv Monfichier NouveauNom, Docs/NouveauNom)
|-rm: supprimer fichier: rm
Monfichier,poly,(-i:confirmation,-f:forcer suppression,-v:etat,-r:supp dossier
et contenu)
|-rmdir:supprimer dossier vide

Lien:|-Lien Physique: un fichierX va avoir le meme contenu qu'un fichierY qui a


ete pointé(partage meme inode): ln MonContenuDansUnFichier Monlien
|-Lien Symbolique: un fichierX pointe comme un raccourci vers le nom d'un
fichierY: ln -s MonContenu Monlien

*****#Droits d'utilisateur/Droits d'acces:

-sudo su(substitute user do): permet de passer d'un utilisateur simple a


utilisateur root
-adduser:creer un utilisateur: adduser NomUtilisateur
-deluser:supprime un utilisateur, --remove-home: avec son repertoire personnel
-passwd: permet de changer de mot de passe : passwd Nom ,passwd(actuelle)
-chown:changer de proprietaire d'un fichier: chown NouveauProprietaire fichier,
chown vito:MonGroupe fichier, -R:les sous-dossiers aussi
-chgrp:change groupe proprietaire d'un fichier: chgrp MonGroupe fichier
-addgroup: ajoute un groupe: addgroup NomGroupe
-delgroup:.....
-usermod:changer de groupe etc...: usermod -g Groupe1 vito, -l:renommer
groupe,-G:groupe secondaire,-d: changer de homedir,-u:changer son UID

-chmod: Modifier Les Droits d'acces


en mode root ou sudo
r=4
w=2 d rwx rwx rwx
x=1 D/f user grp others

chmod Absolue: chmod Relatifs:


chmod 600 fichier u:user , g:group , o:others , +:ajouter
, -:enlever, =:affecter -R:affecte contenu des dossiers
- rw --- --- Ex1: [Link] - --- --- ---
6 0 0 *chmod g+r,o+r [Link] ------>
[Link] - --- r-- r--
*chmod +r [Link] ---------->
[Link] - r-- r-- r--
*chmod go+r [Link] --------->
[Link] - --- r-- r--
*chmod u=rwx,g=r,o=- [Link] ------>
[Link] - rwx r-- ---

Installation,mis a jour etc...:


en mode root ou sudo

-apt-get update:MAJ
-apt-get install --only-upgrade Monpaquet
-apt-cache search Monpaquet , apt-cache show Monpaquet: recherche un paquet
-apt-get install Monpaquet, poly: installer un paquet
-apt-get remove Monpaquet: desinstaller un paquet ,autoremove:
paquet+dependances
-apt-get upgrade:MAN

******Utilisation du Manuel | repeter n fois


*SYNOPSIS: commande [OPTION]... DIR_ECTORY ...- a remplacer par le nom
appropriee
| | |parametre obligatoire
| parametre pas obligatoire
a taper
*whatis commande: indique directement ce que fait commande

-rechercher un fichier:|-RAPIDE: locate Monfichier :database?_?---sudo


updatedb---locate Monfichier
|
|-APPRONDIE:find
|*find (where[ou chercher] what[quoi chercher] do[faire
quoi apres(par défaut affichage uniquement)])
| Ex: find -name "logo"(sans precision)
| Ex: find /var/log -name "logo"
| Ex: find -size ±10M,K,G: par taille
| Ex: find -name "*.odt" -atime -7: par date
| Ex: find /var/log -name "syslog" -type d ou f : fichier
ou dossier
| Ex: find . -name "*.jpg" -printf "%p-%u\n"
| Ex: find ......... -delete ou -exec .....{} \
|
|
-Controler les Processus et flux de donnes
-grep texte fichier: rechercher texte dans fichier
-grep -i texte fichier: oublier la casse pendant recherche , -n:numero ligne ,
-v: Affiche ligne qui ne contiennent pas le texte chercher(inverser recherche),
-r: ..... repertoire/: on ne sait pas ou se trouve texte

**Metacaracteres**
*:caractere quelconques , ^: debut de ligne( ^vito :debut de ligne doit etre
vito), $: fin de ligne , [...]:caractere entre ces crochets, ?: l'element
optionnel, +: doit etre 1 ou n fois ,|: ou ,( ): groupe d'expression
[...]:tout caracteres parmi ceux enumerer
[^...]: tout sauf enumerer

- sort fichier(triage):| -o [Link] [Link]: ecrie le trie dans


[Link]
| -r:inverse le trie
| -R: aleatoire
| -n: avec des nombres

-wc fichier(nb lignes):| -l: nombres de lignes


| -w: nombres de mots
| -c: nombres d'octets
| -m: nombres de caracteres

-uniq: supprime les doublons(mais sort d'abord) >/dev/null, uniq fichier1


fichier2:copie resulat dans fichier2, -c: nb occurences, -d:lignes en doublons

-cut: couper une partie d'un fichier| Ex: un [Link] contenant Marcel: cut
-c 2-5 [Link] ----> arce
| Ex: .........................Marcel,28
ans,19/20, NDB: cut -d , -f 1 3 [Link]

-Flux de redirection:| >:redirige dans un fichier(en ecrasant contenu): cut -d ,


-f 1 3 [Link] > fichier4
| >>:redirige vers la fin du fichier(sans l'ecraser): cut
-d , -f 1 3 [Link] >> fichier4
| 2>:redirige les erreures dans un fichier: cut -d , -f 1 3
[Link] >> fichier4 2> [Link](2 redirections)
| 2>>:....................mais a la fin
|2>&1: rediride les erreures dans le meme fichier4: cut -d
, -f 1 3 [Link] >> fichier4 2>&1
|
|***************
|<: lire depuis un fichier recoit le contenu du fichier:
cat < [Link]
|<<: lire depuis le clavier :
| sort -n << FIN :donner une instruction directement
puis saisi au clavier et creer le mot d'arret: commande << mot d'arret
| PIPE | : commande 1 | commande 2

-Surveiller l'activité du Systéme|-Systéme Multitache: gerer n programmes


tournant en meme temps
LINUX |-Systéme Multi-Utilisateur:n personnes peuvent
utiliser la meme machine en meme temps(par internet)
|
|***Activite du Systéme**:
| w:qui fait quoi, up 2min:temps demarre,
Average:charge processus, -tload: diagramme des processus(ctrl +c: pour quitter)
|-Lister les Processus:
| -ps -ef:lister tout les processus, ps
-efh:...en arborescence [statique], -u: nous meme
| -top:processus dynamique
|***Arreter/tuer un Processus
|-ctrl+c:processus en cours
|-kill 2510(PID numero a chercher):tue un
processus,killAll nomProcessus
|-halt:arreter pc(root ou sudo)
|-reboot:........redemarrer
|***Executez des Programmes en arriere plan
|&:lancer un programme en arriere plan: cp
fichier.mp4 copie_fichier.mp4 &, nohup: pour detacher de la console: nohup
commande
|ctrl+z:mettre en pause un processus
|bg: le mettre en arriere plan
|jobs: connaitre le processus en arriere plan
|fg:foreground:mettre en premiere plan: fg %2
:s'il ya n processus faut preciser
|screen: Simuler une console: ctrl+d:exit,
utilisation: ctrl +a +commande(lacher vos mains)
|***Executez un programme a une heure differee
|-Personnaliser la date: date "+%H:%M:%S(s)"
|-Modifier date :sudo date 012019
|-at 23:00 ou tommorow ou now -2 weeks ou
26/01/19
| ----> at > commande a executer: touch
[Link]
| Ctrl+D pour quitter

---Archiver et
Compresser----------------------------------------------------------------------
-------------------------
Reduire taille
bzip2 ,gzip : ne peuvent que compresser q'un fichier a la fois contrairement
tar: assembler les fichiers

Sous linux: 1-Reunion des fichiers dans un seul fichier(Archive) avec tar --->
.tar
2-Compresser avec bzip2 ou gzip ---> .[Link] ou .tar.bz2

Archiver : tar -cvf Nom_Archive.tar NomDossier ou fichier1 fichier2 poly


-c: create archive
-v: verbiose
-f: in file

-Voir Contenue : -tf [Link]


-Ajouter un fichier : -rvf [Link] fichierA_Ajouter
--Extra///re de l'archive : -xvf [Link]

Compresser: gzip: gzip [Link] -----> [Link] | Decompresser: gunzip


[Link] ----> [Link]
bzip2: bzip2 [Link] ----> [Link].bz2 | Dcecompresser:
bunzip2 [Link].bz2 ---> [Link]

Archiver+Compresser : tar -zcvf [Link] | tar -zxvf [Link]


tar -jcvf [Link].bz2 | tar -jxvf [Link].bz2
-zcat,-zmore,-zless:visualisent fichier compresser

zip -r [Link] Dossier | unzip [Link] ,-l:voir contenu


unzip e [Link] | l:.....
--------------------------------------------------------------------------------
---------------------------------------

-Connexion a distance securisée avec


SSH:----------------------------------------------------------------------------
-

-Pour communiquer entre eux : 2 ordinateurs doivent utiliser le meme


Protocole(c'est comme une langue)
-Par exemple le -HTTP(HyperText Transfer Protocol):Protocole utilisé sur le
web pour s'echanger des pages web
-FTP(File Transfer Protocol):Protocole de transfere de
fichiers(transparente sur lien téléchargement)
-IMAP(Internet Message Access Protocol): echanges des e-mails

-telnet: -Crée dans les années 80


-D'une machine a l'autre
-Communiquer avec un serveur
- trop Simple: Données transferer en clair sur le reseau pas de
cryptage(Wireshark oup!!!)

--SSH----
Les differents methodes de cryptages

•Le cryptage Symetrique(methode plus simple)


-Une clé pour crypter et decrypter
Ex: clé= VITO
Mais le serveur doit aussi avoir la clé VITO pour le
decryptage
Client (VITO(cryptage)[message secret])----->Message crypté------> Serveur
(VITO(decryptage)[message secret])

•Le cryptage Asymétrique(Algorithme RSA)


-Une clé pour crypter(clé publique):Envoyable en clair puis que c'est pour
crypter
-Une clé pour decrypter(clé privée)

Ex: clé public =PUBLICK ,clé privée =PRIVK

client (PUBLICK(cryptage)[message secret])---->Message crypté ----> Serveur


(PRIVK(decryptage)[message secret]

SSH = Cryptage Symetrique + Asymetrique


1- clé= VITO 2- clé public= PUBLICK et clé privé= PRIVK

3- <-------------------Echange sécurisée avec clé


VITO-------------------------->
Client <------------------Envoi la clé
public(PUBLICK)------------------------------- Serveur(posséde déja clé privé
PRIVK aprés génération)
2- ---------------Crypte clé VITO avec clé PUBLICK et l'Envoi
-------------------> |--------> Serveur peut maintenant Decrypter clé VITO
avec clé privée PRIVK

Se Connecter avec SSH et PuTTY

-Soit louer un serveur dedié déja configurer , avec différent hebergeures Comme
OVH(cher), low cost(Kimsufi,Dedibox)

-------Soit transformer ordinateur en Serveur---------

1- install paquet openssh-server :


2- si demarrage manuel: sudo etc/init.d/ssh stop/start
-Si besoin de Configurer fichier conguration etc/ssh/ssh_config et/ou
etc/ssh/sshd_config et pour appliquer :sudo etc/init.d/ssh reload

-Acceder a votre PC distance:


• se connecter a votre machine depuis un autre linux
ssh login@ip(ip de la machine a acceder) ou localhost([Link]) pour
simuler et logout ou ctrl+D pour deconnexion

• se connecter depuis windows avec PuTTY


-telecharger PuTTy et bim
- alerte reinstallation ou attaque man-in-the-middle

•L'authentification par clé sous linux


-Depuis machine du Client pour générer une paire de clé public/privée
----> ssh-keygen -t (rsa ou dsa) :générer un paire de clé et si vous voulez
passphrase

-Envoyer la clé public au Serveur pour l'ajouter a sa liste des clés


autorisés(authorized keys)
- les clés se trouveront dans ~/.ssh/id_rsa.pub : id_rsa(clé privée)
id_rsa.pub(clé public) know hosts(liste fingerprints identité serveur)
------>ssh-copy-id -i id_rsa.pub login@ip et "-p 14789 login@ip"(pour
changer port)
-et vous connecter comme avant

-l'agent SSH : demande 1 seule fois la passphrase et bim !!

•L'authentification sous windows avec PuTTY


-Avec Puttygen suivre les etapes generer et enregistrer les deux clés
-Envoyer au Serveur en vous connectant puis mettre la mettre dans
.ssh/authorized_keys
-Configurer PuTTY:
1-Window-->Translation et mettr UTF-8
2-Connection-->SSH-->Auth et mettre la clé privée aussi aller dans
Connection-->Data et mettr votre login
3-Accueil puis connecter vous comme avant login ip etc.. et sauvegarder
et open
4-pour ceux du passphrase entré la
5-Pageant puis mettre votre clé privéé

---------Transferer des
fichiers------------------------------------------------------------------------
------------------------------
Navigateur console : lynx, links

-télécharger des fichiers : wget addresse ctrl+C pour arreter telechargement


-c pour reprendre le telechargement
--background mettre en taches de fonds
-copier fichier a distance: - scp fichier_origine(login@ip:Nom_Fichier)
copie_destinataire(login@ip:emplacement): sens inverse possible et -P 145878:
pour changer port

•telechargement de fichiers :
FTP: - Pas sécuriser(non crypter)
- Pour télécharger un fichier depuis un serveur FTP public La connexion
se fait alors en mode anonyme.
- Pour transférer des fichiers vers un serveur FTP privé (et
éventuellement en télécharger aussi)
La connexion se fait donc en mode authentifié

• Connexion a un serveur FTP


----> ftp [Link]
login FTP public :anonymous et password: n'importe quoi
ftp> commande linux
• put: envoi un fichier ver le serveur(pas sur FTP publics)
• get: telecharger fichier depuis serveur
• !ls: commande s'execute sur votre machine pas sur le serveur et ctrl+D
ou bye,quit,exit:deconnexion

•sftp:securiser(cryptage rsa)
----> sftp login@ip

•rsync: synchroniser des fichiers pour une sauvegarde

-Meme ordinateur
---> rsync -arv DossierASauver/ EmplacementDeSauveagarde/
-a: conserve infos sur les fichiers chmod etc..
-r: aussi les sous-dossiers
----> rsync -arv --delete DossierASauver/ EmplacementDeSauveagarde/ :
suppression fichier aussi dans la sauvegarde

----> rsync -arv --delete --backup _supprimes DossierASauver/


EmplacementDeSauveagarde/: sauver les fichiers supprimes en leur donnant suffixe
_supprimes

--backup-dir=/home/bocar/SauvgardeFichierSupprimer

-Sur un autre ordinateur


---> rsync -arv DossierASauver/ login@ip:EmplacementDeSauveagarde/ et -e "ssh
-p 14523": pour un autre port
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--

------Analyser le réseau et filtrer le trafic avec un


parefeu(firewall)---------------------

- chaque ordinateur relié à l'internet est identifié par une adresse IP


IPv4 : [Link] et IPv6 : fe80::209:62fa:fb80:29f2

•Commande Conversion IP <-----> Nom_Hote


host IP -----> Nom_Hote ; et host Nom_Hote ----> IP

•Gérer Nom des hotes personnalisées


-Les associations entre les IP et les noms d'hôte sont faites sur ce que l'on
appelle des serveurs DNS
et il est preferable d'utiliser les serveur DNS car se mettent a jour
regulierement

-Cependant en local ya de mal


---->sudo nano /etc/hosts
• Tout savoir sur le Nom de domaine
--->whois Nom_hote/Domaine/IP

-ifconfig : liste interfaces reseaux


eth0: connexion par cable reseau
lo: boucle local tout le monde l'a
wlan: carte reseau sans fil connexion sans-fil Wi-Fi

•Activer/Désactiver reseau: ifconfig interface(Nom interface) etat(up/down)

-netstat: statistiques réseaux:


---> netstat -i : statistiques des interfaces réseau
---> netstat -uta: lister toutes les connexions ouvertes et netstat -s : résumé
-u : Aff. connexions UDP
-t : ............... TCP
-a : ...............touts
TCP et UDP sont deux protocoles différents pour envoyer des données sur le
réseau.
UDP:est plutôt utilisé dans les jeux en réseau et pour les communications
vocales (avec Skype, par exemple)
TCP: le plus utilisée en générale

-iptables: parefeu de référence


1- root obligatoire
POLICY ACCEPT: tout le parefeu est accepter
---> iptables -L: afficher les regles et iptables -F: reinitialise les regles
-Chain INPUT : correspond aux règles manipulant le trafic entrant ;
-Chain FORWARD : correspond aux règles manipulant la redirection du trafic ;
-Chain OUTPUT : correspond aux règles manipulant le trafic sortant.

-target : ce que fait la règle. Ici c'est ACCEPT, c'est-à-dire que cette ligne
autorise un port et / ou une IP ;
-prot : le protocole utilisé (tcp, udp, icmp). Je rappelle que TCP est celui
auquel on a le plus recourt. ICMP permet à votre ordinateur de répondre aux
requêtes de type « ping » ;
-source : l'IP de source. Pour INPUT, la source est l'ordinateur distant qui se
connecte à vous ;
-destination : l'IP de destination. Pour OUTPUT, c'est l'ordinateur auquel on se
connecte ;
-la dernière colonne : elle indique le port après les deux points « : ». Ce port
est affiché en toutes lettres, mais avec -n vous pouvez obtenir le numéro
correspondant

•Ajouter/Supprimer des régles :

Voici les principales commandes à connaître.


-A chain : ajoute une règle en fin de liste pour la chain indiquée (INPUT ou
OUTPUT, par exemple).
-D chain rulenum : supprime la règle n° rulenum pour la chain indiquée.
-I chain rulenum : insère une règle au milieu de la liste à la position
indiquée par rulenum.
Si vous n'indiquez pas de position rulenum, la règle sera
insérée en premier, tout en haut dans la liste.
-R chain rulenum : remplace la règle n° rulenum dans la chain indiquée.
-L : liste les règles (nous l'avons déjà vu).
-F chain : vide toutes les règles de la chain indiquée. Cela revient à
supprimer toutes les règles une par une pour cette chain.
-P chain regle : modifie la règle par défaut pour la chain. Cela permet de
dire, par exemple, que par défaut tous les ports sont fermés, sauf ceux que l'on
a indiqués dans les règles.

---> iptables -A (chain) -p (protocole) --dport (port) -j (décision)

•Autoriser les pings


-iptables -A INPUT -p icmp -j ACCEPT
Comme je n'ai pas indiqué de section --dport, cette règle s'applique à tous les
ports,
mais pour les pings (icmp) uniquement ! Votre ordinateur répondra alors aux «
pings » pour indiquer qu'il est bien en vie.

•Autoriser les connexions local et déja ouvertes


----> iptables -A INPUT -i lo -j ACCEPT
----> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

1. La première règle autorise tout le trafic sur l'interface de loopback locale


grâce à -i lo.
Il n'y a pas de risque à autoriser votre ordinateur à communiquer avec
lui-même,
d’autant plus qu’il en a parfois besoin !
2. La seconde règle autorise toutes les connexions qui sont déjà à l'état
ESTABLISHED ou RELATED.
En clair, elle autorise toutes les connexions qui ont été demandées par votre
PC. Là encore, cela permet d'assouplir
le pare-feu et de le rendre fonctionnel pour une utilisation quotidienne.

•Refuser toutes les autres connexions pardéfaut:


Il reste un point essentiel à traiter car, pour l'instant,
ce filtrage ne sert à rien. En effet, nous avons indiqué quelles données nous
autorisions,
mais nous n'avons pas dit que toutes les autres devaient être refusées

-Changez donc la règle par défaut pour DROP


---> iptables -P INPUT DROP
iptables devrait maintenant indiquer que par défaut tout est refusé,
sauf ce qui est indiqué par les lignes dans le tableau

ufw (Uncomplicated Firewall): plus simple;

--------Compiler un Programme depuis les


sources-------------------------------------------------------------------------
-------------------------------------------
-il arrive parfois qu'il soit nécessaire d'installer un programme manuellement
car il n'apparaît pas dans apt-get.
Dans ce cas, il faut récupérer les sources du programme et les compiler
soi-même pour créer un exécutable

1- Trouver un paquet .deb(pour distros débian et derivés) et double clique -->


installation
- le programme alien est capable de convertir un .rpm en .deb au besoin.

1'-Dans le cas contraire


Si même le paquetage .deb n'est pas disponible, il ne reste alors qu'une
solution : récupérer le code source du programme et le compiler soi-même.
On peut ainsi créer un exécutable spécialement optimisé pour sa machine

-La compilation est un procédé qui permet de transformer le code source d'un
programme en
un exécutable que l'on peut utiliser.

•Etape:
1- installer paquet : build-essential
2- telecharger recuperer les codes source du programmes(compresser en .[Link]
puis le decompresser)
3- Executer ./configure pour verification outils pour compilation
-faire attention au erreur
4- compiler avec :
-make
-sudo make install/uninstall: pour installer/desinstaller le programme
compilé
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
---

-Vim: l'editeur
Mode interactif :copier ,coller etc...:réaliser des actions
Mode insertion : "2i" quitter avec "Echap" Ecriture du texte
Mode Commande : ":" puis valider avec "enter" enrégistrer,quitter,option etc...
----------->echap pour le changement de mode UN switch UN
-h,j,k,l:gauche,bas,haut,droite
-O ,$,w debut ,fin ligne et se deplacer de mot en mot
-:w : enregistrer un fichier mais faut révénir au mode interactif
-:q!: forcer fermeture
-:wq : enrégistrer et quitter
-x: pour supprimer un mot , nx: plusieures lettres d'un seul coup
-d: supprimer mot/ ligne : dd: supprimer une ligne (2dd) , dw: supprimer un
mot (2dw) , dO: supprimer du curseur jusqu'au début de la ligne , d$: ....juqu'a
la fin de la ligne
-yy: copier une ligne en mémoire
-p: coller le texte (4p)
-r : remplacer une léttre rs remplace par s, R: pour plusieures caractérés
Rbonjour
-u: annuler dérniére modification ,5u: 5 dérniére modifications Ctrl + R :
répéter un changement(annuler une annulation)
-G:sauter a la ligne numéro X, (L:ligne C:Colonne LC) , sauter a la 7ligne, G:
dérniére ligne, gg: retour a la prémiére ligne
-/:recherche un mot /vito ,s'il ya plusieures vito N , ?:pour dés le départ
:s:rechercher et remplacer
-:s/ancien/nouveau : remplace la première occurrence de la ligne où se trouve
le curseur ;
-:s/ancien/nouveau/g : remplace toutes les occurrences de la ligne où se
trouve le curseur ;
-:#,#s/ancien/nouveau/g : remplace toutes les occurrences dans les lignes n° #
à # du fichier ;
-:%s/ancien/nouveau/g : remplace toutes les occurrences dans tout le fichier.
C'est peut-être ce que vous utiliserez le plus fréquemment.
-:r : inserer un fichier a la position du curseur :r fichier
-:sp : diviser l'ecran horizontalement :sp, :sp fichier : des fichiers
différents, :vsp : verticalement (viewport)
Ctrl + w puis Ctrl + w : navigue de viewport en viewport. Répétez
l'opération plusieurs fois pour accéder au viewport désiré.
Ctrl + w puis j : déplace le curseur pour aller au viewport juste en
dessous. La même chose fonctionne avec les touches h, k et l que l'on utilise
traditionnellement pour se déplacer dans V im.
Ctrl + w puis + : agrandit le viewport actuel.
Ctrl + w puis - : réduit le viewport actuel.
Ctrl + w puis = : égalise à nouveau la taille des viewports.
Ctrl + w puis r : échange la position des viewports. Fonctionne aussi avec
« R » majuscule pour échanger en sens inverse.
Ctrl + w puis q : ferme le viewport actuel.
-:! : lancer des commandes externes :!ls

- Programmation Shell : Plusieures environnements Consoles

-le shell: est un programme qui gére l'invite de commandes


-.bashrc est le fichier de configuration du bash que linux nous fait utiliser
par défaut
-c'est possible d'installer un autre shell : apt-get install ksh et chsh: pour
changer de shell et indiquer l'endroit /bin/bash etc...

• sh : Bourne Shell. L'ancêtre de tous les shells.


• bash : Bourne Again Shell. Une amélioration du Bourne Shell, disponible par
défaut sous Linux et Mac OS X.
• ksh : Korn Shell. Un shell puissant assez présent sur les Unix propriétaires,
mais aussi disponible en version libre, compatible avec bash.
• csh : C Shell. Un shell utilisant une syntaxe proche du langage C.
• tcsh : Tenex C Shell. Amélioration du C Shell.
• zsh : Z Shell. Shell assez récent reprenant les meilleures idées de bash, ksh
et tcsh

-Création d'un script:


1- #!/bin/bash : dire quel shell utilisé et indiquer son emplacement et #! :
sha-bang ,#:indique un commentaires

2- donner le droit d'executer avec chmod +x etc...


3- ./[Link]: pour l'executer
4- Pour le debogage: bash +x [Link]
5-Exécuter sans le ./ : ils sont placer dans des répertoires du PATH qui est
une variable systéme qui
indique ou sont les programmes exécutables sur
l'ordinateur
6-Il suffit donc de placer ou de copier le scripts dans:
- /bin (Root)
- /usr/bin
- /usr/local/bin

• Déclaration d'une variable


Variable='texte' et eviter les espaces entre la variable et le =, faut
les collers
• Affichage
echo $variable , echo 'texte' , pour un autre (') faut faire \' , pour
retour a la ligne -e et '\n'
• les quotes
- Simple quotes (' ') : echo 'la variable est : $Variable' : affiche tel
quel est sans intérprété

- Doubles quotes (" " ): echo "la variable est : $Variable": les doubles
quotes demandent a bash d'analyser le contenu de la variable s'il y a des
symboles spéciaux il les interpréte

- Back-quotes (` `): Variable2=`pwd` ,echo " sa nous affiche $Variable :


Demande a bash d'executer ce qui se trouve a l'intérieur

• Lire une valeur a la saisie:


- read variable : demande a entrer un valeur et le stocke dans variable , ou
read variable1 varaible2 .....

- read -p 'Entrer une valeur:' nom : message prompt(message+saissie)


- -n 5 variable : limiter le nombre de caractéres a 5
- -t 5 variable : limiter le temps autoriser a 5s
- -s variable : ne peut pas afficher le texte saisi
-Bash et les nombres:
- let "a = 10"
•Les Parametres:
- ./[Link] param1 param2 ...|Des variables se creerons
automatiquement pour representer les parametres
|$#:pour le nombre de parametres

|$0:contient le nom du
script(./[Link]) $1: le premier parametre
•Les tableaux:
-Declaration : tableau=('var1' 'var2' '...') et ${ tableau[0]}:afficher
valeur et [*]: afficher tout

•Les Conditions:
if [ test ] |Plusieures test: [ test1 ] ||
ou && [ test2 ]
then echo "cool boy "(ordre a executer) |
else ...... | test case:
elif [ test ] then | case $1 in
elif | "parametre") instruction ;;
....esac

fi
- Pour les chaines : -z $chaine: si chaine vide ,-n $chaine: si chaine non
vide
- Pour les nombres : $n1 - gt $n2 , -gt , -eq , -ne , -lt , -le , -ge
- Pour les fichiers :
-e $nomfichier Vérifie si le fichier existe.
-d $nomfichier Vérifie si le fichier est un répertoire. N'oubliez pas que
sous Linux, tout est considéré comme un fichier, même un répertoire !
-f $nomfichier Vérifie si le fichier est un… fichier. Un vrai fichier cette
fois, pas un dossier.
-L $nomfichier Vérifie si le fichier est un lien symbolique (raccourci).
-r $nomfichier Vérifie si le fichier est lisible (r).
-w $nomfichier Vérifie si le fichier est modifiable (w).
-x $nomfichier Vérifie si le fichier est exécutable (x).
- $fichier1 nt $fichier2 Vérifie si fichier1 est plus récent que fichier2
(newer than).
- $fichier1 ot $fichier2 Vérifie si fichier1 est plus vieux que fichier2
(older than).

•Les boucles
while [ test ] for Variable in 'val1' 'val2' '...' `ls `
ou for i in seq 1 n
do do
do
instruction '.....' instruction
instruction
done done
done

Vous aimerez peut-être aussi