Bash
commande <-paramètre> valeur
Manipuler la console et les fichiers
| Touche | Action |
|---|---|
| Crtl + r | rechercher une commande tapée avec quelques lettres |
| Crtl + l | effacer le contenu de la console |
| Crtl + d | envoie le message EOF (End Of Files) |
| Crtl + u | supprimer tout ce qui se situe à gauche du curseur |
| Crtl + w | supprimer le premier mot à gauche du curseur |
| Crtl + y | coller le texte supprimer avec les commandes précédentes |
| ## La structure des dossiers et fichiers |
pwdafficher le dossier actuel.whichconnaître l'emplacement d'une commande.lslister les fichiers et dossiers.
Paramètres:
aafficher tous fichiers et les dossiers cachés.Findique le type d'élémentlliste détaillée.hafficher la tailler en Ko, Mo, Go...ttrier par date de modification.1liste un fichier par ligne.dlister uniquement les dossiers.-
Rrécursive. -
cd cheminchanger de dossier. -
du chemintaille occupée par les dossiers. Paramètres : -
hla taille pour les humains. aafficher la taille des dossiers et des fichiers.savoir juste le grand total.
Manipuler les fichiers
-
cat fichierafficher tout le fichier. Paramétres:nafficher le numéro des lignes.
-
less fichierafficher un fichier page par page.
| Raccourci | Action |
|---|---|
| Espace | affiche la suite du fichier. |
| Entrée | affiche la ligne suivante. |
| d | affiche onze lignes suivante (moitié de l'écran). |
| b | retounre en arrière d'un écran. |
| y | retourne en arrière d'une ligne. |
| u | retourne en arrière de onze lignes. |
| q | arrête la lecture de fichier. |
-
head fichierafficher le début du fichier. Paramètres :n nbreafficher le nombre de lignes.
-
tail fichierafficher la fin du fichier. Paramètres :n nbreafficher le nombre de lignes.fsuivre la fin du fichier (utile pour les fichiers qui "bouge"» (PS : pour arrêter, taper "ctrl+c").
-
touch fichier <fichier2>créer un fichier. -
mkdir dossier <dossier2>créer un dossier. Paramètres :pcréer des dossiers intermédiaire.
-
cp fichier copiecopier un fichier ("CoPy"). -
find -name *.md | xargs cp -t dossier/copier les fichiers ave cune structures communes. Paramètres :Rcopier des dossiers.
-
mv fichier copiedéplacer un fichier et/ou le renommer. -
rm fichier fichier2supprimer des fichiers et des dossiers ("ReMove"). Paramètres :idemander confirmation.fforcer la suppression.vverbose.rsupprimer un dossier et son contenu.
-
ln fichier1 fichier2créer des liens entre les fichiers. Paramètre :scréer un lien symbolique (sans l'argument, Linux créer un lien physique).
-
rev 'text'inverse l'ordre des lettres.
Les utilisateurs et les droits
sudo comandeexécuter une commande en mode root(temporairement).sudo sudevenir root indéfiniment.adduser utilisateurajouter un utilisateur.passwd utilisateurchanger le mot de passe.-
deluser utilisateursupprimer un compte mais ne pas son répertoire personnel. Paramètres :-remove-homesupprimer le dossier home de l'utilisateur.
-
addgroup groupecréer un groupe. -
usermod utilisateurmodifier un utilisateur. Paramètres :lrenommer l'utilisateur (NB : le nom de son répertoire ne sera pas changé).gchanger de groupe.G groupe1, groupe2 utilisateurappartenir à plusieurs groupes (peu importe les groupes auxquels il appartenait).aGmême chose que -G mais concerve les groupes auxquels appartenaient l'uilisateur.
-
delgroup groupesupprimer un groupe. -
chown proprietaire fichierchanger le propriétaire d'un fichier. Paramètres :utilisateru:groupechanger le groupe et le propriétaire et groupe d'un fichier.Raffecter récussivement les sous-dossiers.
-
chgrp groupe fichierchanger le groupe propriétaire d'un fichier. -
chmod droit fichiermodifier les droits d'accés [propriétaire][groupe][autres] .- Méthode absolue : attribuer les droits en 3 chiffres via l'addition.
- Méthode relative : attribuer les droits avec 9 lettres.
| Action | Lettre | Chiffre |
|---|---|---|
| read | r | 4 |
| write | w | 2 |
| execute | x | 1 |
Paramètres :
-
Raffecter résursivement. -
su utilisateurchanger d'utilisateur.
Installer des programes avec apt-get
Note
On peut utiliser apt sans get ou cache notamment sur les chromebooks.
apt-get updatemettre à jour le cache des paquets.apt-cache search paquetrechercher un parquet.apt-get install paquetinstaller un paquet.apt-get autoremove paquetsupprimer un paquet.apt-get upgrademettre à jour tous les paquets.apt show paquet | grep installvérifier si le package est installé.apt list --installedlister les logicels installés.-
dpkglogicel de gestion des paquets debian (.deb). Paramètres :-llister les packages installer.-i packageinstaller un package.-r packagedésinstaller un package.
Application snap
snap listlister les applications snap installées.snap install packageinstaller une application snap.snap remove packagedésinstaller une application snap.
RTFM : lisez le manuel!
man commandeafficher le manuel d'une commande.apropos «cequejesais»affiche la liste de commande en rapport avec «cequejesais».commande -haffiche un résumé de la commande.whatis commandeaffiche un résumé trés leger de la commande.
Rechercher des fichiers
locate fichierrechercher rapidement dans la base de données.updatebdreconstruitre la base de données des fichiers du disque dur.-
find ou quoi actionrecherche approfondie.- ou : c'est le nom du dossier dans lequel la commande va faire la recherche.
- quoi : c'est le fichier de recherche (date de création, nom, taille etc)
- Que faire avec :
Paramètres :
* `name "fichier"` rechercher exactement le nom d'un fichier.
* `size «+/-/ »«tailleavecunité»` recherche a partir de la taille du fichier. Les unités sont : K ; M ; G ;...
* `atime «temps»` recherche à partir de la date de dernier accès.
* `type «d/f» «nom»` rechercher uniquement des répertoires ou des fichiers ( "d"=directories / "f"=files ).
* `print` afficher les résultats.
* `delete`supprimer les fichier trouvés.
* `exec «commande» {} \;` appeler un commande qui effectuera une action sur les fichiers trouvés.
* `maxdepth «nbre»` effectuer une recherche en limitant le nombre de répertoire [1;oo].
Extraire, trier et filtrer des données
-
grep texte fichieraffiche toute les lignes ou il y a «texte». Paramétres:iignore la casse (majuscules et minuscules).nconnaître les numéros des lignes.vignorer un mot.rrechercher dans tous les fichiers et sous dossiers.
-
sort fichiertrier les lignes Paramétres :oécrire le résultat dans un fichier.rtrier en ordre inverse.Rordre aléatoire.ntrier les nombres en ordre croissant.
-
wc fichier"word count" compter le nombre de lignes, de mots,...( nombre de l-gnes; nombre de caractéres; nombre d'octet ). Paramétres:lcompter le nombre de lignes.wcompter le nombre de mots.ccompter le nombre d'octets.mcompter le nombre de caractères.
-
uniq fichier <sortie>détecter et supprimer les doublons. Attention ne fonctionne que sur un fichier trié. Paramétres:ccompter le nombre d'occurences.dafficher uniquement les lignes en double.
-
cut intervalle fichiercouper une partie d'un fichier. L'intervalle se note "5-18". Paramétres:ccouper selon le nombre de caractéres de chaques lignes.d «délimiteur»indique quel le délimiteur dans le fichier.f «champs»indique le numéro du ou des champs à garder.
-
awk -
sed fichieréditeur de flux (Stream EDitor). Paramètre :n '«nbre»p'affiche la ligne «nbre»p du fichier.
-
sed -n "$(6,$((nbre+delta))p" document.info
Les flux de redirection
>rediriger vers un nouveau fichier (si celui-ci existe déjà, il sera écrasé). Exemple: cut -d , -f 1 notes.cvs > eleves.txt> /dev/nullrediririger le résultat dans le "trou noir" de Linux.>>rediriger à la fin d'un fichier.-
2>, 2>>, 2>1&rediriger les erreurs.2>rediriger les erreurs dans un fichier (s'il existe déjà il sera écraser ). exemple: cut -d , -f 1 fichier_inexistant.csv > eleves.txt 2> erreur.log .2>>redirgiger les erreurs à la fin d'un fichier( s'il n'existe pas, il sera créé).2>1&redirgier les erreurs au même endroit et de la même façon que la sorite standard. PS: 2>>&1 ne fonctionne pas, il faut >> sur le fichier ou le veut ecrire. Exemple: cut -d , -f 1 fichier_inexistant.csv >> eleves.txt 2>&1 .
-
<lire depuis un fichier <<lire depuis le clavier progressivement.|chaîner les commandes, tout ce qui sort de la commande1 est immédiatement envoyé à la commande2.dupermet d'obtenir la taille des sous-répertoires.
Surveiller l'activité du système
wqui fait quoi?dateafficher la date et l'heure.uptimedurée de fonctionnement de l'ordinateur.-
tloadafficher la charge de l'ordinateur ie l'indice de l'activité de l'ordinateur. Pour quitter le graphe, faire Crlt + C. PS : liste statique des processus.- PID : c'est le numéro d'identification du processus.Chaque processus a un numéro unique qui permet de l'identifier. Ce numéro nous sera utile plus tard lorsque nous voudrons arrêter le processus.
- TTY : c'est le nom de la console depuis laquelle a été lancé le processus.
- TIME : la durée d'exécution du processus. Plus exactement, cela correspond à la durée pendant laquelle le processus a occupé le processeur depuis son lancement.
- CMD : le programme qui a généré ce processus. Si vous voyez plusieurs fois le même programme, c'est que celui-ci s'est dupliqué en plusieurs processus.
Paramétres:
* `ef` lister tous les processus.
* `ejh` afficher les processus en arbre.
* `u [nomutilisateur]` lister les porcessus lancé par un utilisateur.
-
topliste dynamique des processus.qferme top.haffiche l'aide.
-
Crlt + Carrêter un processus lancé en console. -
kill [PID]tuer un processus. Paramétres:9tuer un processus sans lui laisser de temps!!!!!
-
killall processustuer les processus avec le même nom. haltarrêter l'ordinateur.rebootredémarrer l'oridnateur. (pour en savoir + voir commande shutdown).
Exécuter des programmes en arrière-plan
commande &lancer un processus en arrière-plan.nohub commandedétacher le processus de la console.Ctrl + zmettre en pause l'exécution d'un programme (Attention: le processus n'est pas détruit).bg[background] passer le processus en arrière-plan (ps: le processus doit être en pause).jobsconnaître les processus qui tournent en arrière-plan (ps: le processus doit être en pause).fg %num_processus[foreground] reprendre un processus au premier plan (ps: le processus doit être en pause).Crtl + carrête (détruit) un processus en cours en avant-plan.screenplusieurs consoles en une. (ps: porgramme non installer par défaut, il faut installer : screen). Pour la quitter, taper : Ctrl + d.
Exécuter un programme à une heure différée
daterégler l'heure.at heure <jour>exécuter une commande plus tard (l'heure doit être écrite : HH:MM et le jour : MM/JJ/AA). Ps: on rentre les commandes postérieurement. Pour quitter, taper : Ctrl + d.atqlister les «jobs» en attente.atrm chiffresupprimer les «jobs» en attentes.;enchaîner des commandes. Exemple: touch fichier.txt ; rm fichier.txt-
sleep chiffrefaire une pause, par défaut, la pause est en seconde. Pour utiliser les autres unités, il faut rajouter après de le chiffre :-mminutes.-hheures.-djours.
-
pauseattendre que l'utilisateur face la touche Entré. &&enchaîner plusieurs commande uniquement si les instructions précédentes ce sont correctements exécutées.-
crontabexécuter une commande régulièrement (ps: mettre nano comme éditeur de texte par défaut: echo "export EDITOR=nano" >> ~/.bashrc). Paramétres :-emodifier la crontab.-lafficher la crontab.-rsupprimer la crontab.
Utilisation générale (après crontab e). Shéma GÉNÉRAL : [minute(/60)][heure(/24)] [jour du mois(/31)][mois(/12)] [jour de la semaine(/6- dimanche=0)] «commande»
Les différentes notations (exemples) :
* `nombre` exécuté lorsque le chanp vaut le nombre.
* `*` exécuter tout le temps (toutes les valeurs bonnes).
* `nombre1,nombre2,nombre3` exécuter lorsque le champs prend la valeur nombre1, nomb...
* `nombre1-nombre2` exécuter pour les valeurs entre nombre1 à nombre2.
* `*/nombre` exécuté tous les multiples de nombre.
Example
47 * * * * commande : toutes les heures à 47 minutes exactement.
0 0 * * 1 commande : tous les lundis à minuit.
Les erreurs n'apparaissent pas, pour y remédier, il faut les rediriger vers un nouveau fichier.
Archiver et compresser
-
tarassembler des fichiers dans une archive. Paramétres :cvf «nomarchive.tar» «fichiers»créer une archive tar (ccréer une archive .tar;vafficher le détail des opérations;fassembler l'archive dans un fichier).tf «nomarchive.tar» «fichiers»afficher le contenu de l'archive sans l'extraire.xvf nomarchive.tarextraire les fichiers de l'archive (xpour eXtract).zcvfarchiver et compresser en gzip (zcompresser avec gzip).zxvfdésarchiver et décompresser en gzip.jcvfarchiver et compresser en bzip2.jxvfdésarchiver et décompresser en bzip2.ztfafficher le contenu...jtf
-
gunzip ficheirdécompresser un ficiher gz. -
gzip «nomarchive»compresser une archive (la plus courante). Paramétres:-vaffiche les détails de l'opération.
Commandes associées:
-zcatlire un fichier compressé en gzip en entier.-zmorelire un fichier compressé en gzip ligne par ligne.-
-zlesslire un fichier compressé en gzip page par page. -
bzip2 archivecompresser une archive (la plus puissante). Paramétres:-vaffiche les détails de l'opération.
-
unzipdécompresser un .zip (à installer). -
zip archive.zip dossiercompresser une archive en .zip (à installer). Paramétres:-rcompresse le dossier ainsi que les fichiers contenus.-vafficher les détails de l'opération.
-
unzipdécompresser des archives .zip. -
unrar archivedécompresser un .rar. (ps: rar est un format propriétaire du coup le logiciel est payant pour compresser). Paramétres :eobligatoire pour décompresser.1afficher le contenu.
La connexion sécurisée à distance avec SSH
Obligatoire : Installer le paquet «openssh-server».
sudo /etc/init.d/ssh startdémarrer SSH.sudo /etc/init.d/ssh stoparrêter SSH.ssh login@ipremplacer «lon» et l'«ip» du client. Ps: pour simuler une connextion «ip»=localhost.logoutdeconnexio. Ps : on peut aussi utilisé Ctrl+d.
Pour plus de renseignements, voir «puTTY».
Transférer des fichiers
-
wget «HTTP ou FTP»téléchargement de fichiers. Paramétres :-creprendre un téléchargment arrêté.--backgroundlancer un téléchargement en tâche de fond.
-
Crtl+c : arrêter le téléchargement en cours.
wget-logindique l'avancement du téléchargement lancer en arrère plan.scp fichier-origine copie-destinationcopier des fichiers sur le réseau.
Note
Chacun des élément peut s'écrire : login@ip:nom_fichier.
Analyser le réseau et filtrer le trafic avec un pare-feu
host «Ip/nom d'hôte»convertir une IP en nom d'hôte et inversement.whoistout savoir sur un nom de domaine ( il faut installer le paquet).ifconfigliste des interfaces réseau.ifconfig «nom de l'interface» «up/down»activer (up) et désactiver (down) des interfaces.-
netstatstatistiques sur le réseau. Paramères :istatistiques des interfaces réseau.utalister toutes les connexions ouvertes ou (u:afficher les connexions UDP ;t: afficher ls connexions TCD ;aafficher toutes les connexions quel que soit leur état ).nafficher le numéro des ports.ltlister les connexions en état d'écoute.
-
iptablesconsulter le iptables Rappel pour plus d'informations.
Compiler un programme
Requis : avoir installer "build-essential"
- Télécharger l'achive.
- Décompresser.
- Exécuter le fichier
./configure, il vérifie si tous les dépendances sont remplies. En cas d'erreurs, il faut faire une recherche sur internet et installer les paquets manquants. make installcompiler les fichiers. Le programme est maintenant installer.make uninstalldésinstaller le programme, à exécuter dans le dossier ou la compilation à eu lieu.
Warning
Il ne faut pas supprimer le dossier de "compilation".
bash fichier.shexécuter un programme sh.
Autres programmes
ImageMagick ( manipuler des images)
Paquet imagemagick
display imageafficher une image.-
convert image <paramètre> nv_imageconvertir une image. Paramètre :resize dimensionredimensionner un image. Pour forcer une redimension utiliser : «dimension»! et «dimension» peut s'écrire en pourcentage. (500x1050\!).quality nbrecompresser une image à tant de pourcentage.
-
rotate degrètouner une imgage de tant de degrés dans le sens des aiguilles d'une montre. import nom_capturecapturer l'écran. Paramètres :window rootcapturer tout l'écan.pause secondeattendre un nombre spécifié de seconde.
eyeD3 ( tagger les fichiers mp3/flac)
eyeD3 fichier/dossier gérer les tags lier à des fichiers audio de formats flac ou mp3 .
Paramères :
-to-v2.4convertir le tag du fichier en IDE v2.4 .-remove-imagessupprimer l'image du fichier.-add-image= imageajouter une image au fichiera artistemodifier/ajouter un artiste.A albummodifier/ajouter un album.t titremodifier/ajouter un titre.n numéromodifier/ajouter le numéro de la piste.N numéromodifier/ajouter le n° total des pistes de l'album.Y annéemodifier/ajouter l'année.p labelmodifier/ajouter le label.-i imageajouter un icône.
Commandes suplémentaires
calaffiche le calendrier.file commandeconnaître le statut d'une commande ( interne/ externe).invoke-rc.d kdm restartredémarrer l'interface graphique (kubuntu).
Android sur linux
Installer Anbox
sudo add-apt-get-repository ppa:morphis/andox-support
sudo apt-get update
sudo apt-get install anbox-modules-dkms
sudo mobprobe ashmen_linux
sudo mobprobe binder_linux
sudo apt-get install android-tools-adb android-tools-fastboot
Installer une application
adb install application.apk
Installer le Play Store
Requis : wget lzip unizip squahfs-tools. L'url github : https://github.com/geeks-r-us/anbox-playstore-installer/
wget https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.sh.- Autoriser les droits des settings > Apps > Google services.