« Commandes BASH » : différence entre les versions
| (44 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
[http://tools.marmits.com/testcideo/dedie/chmod/info.php chmod]<br /> | [http://tools.marmits.com/testcideo/dedie/chmod/info.php chmod]<br /> | ||
== Processeur == | |||
Informations sur le processeur | |||
<syntaxhighlight lang="bash" line copy> | |||
lscpu | |||
</syntaxhighlight> | |||
Pour un affichage plus simple | |||
<syntaxhighlight lang="bash" line copy> | |||
lscpu | grep -E "Model name|CPU\(s\)|Thread|Core|Socket|Virtualization" | |||
</syntaxhighlight> | |||
== Ressources == | == Ressources == | ||
| Ligne 59 : | Ligne 70 : | ||
:- Tapez <code>/</code> suivi du mot que vous souhaitez rechercher, puis appuyez sur <code>Entrée</code>. | :- Tapez <code>/</code> suivi du mot que vous souhaitez rechercher, puis appuyez sur <code>Entrée</code>. | ||
:Par exemple, pour rechercher le mot "example", tapez : | :Par exemple, pour rechercher le mot '''"example"''', tapez : | ||
:<code>/example</code> | :<code>/example</code> | ||
:Vim mettra en surbrillance la première occurrence du mot dans le texte. | :Vim mettra en surbrillance la première occurrence du mot dans le texte. | ||
| Ligne 71 : | Ligne 82 : | ||
:- Si vous souhaitez rechercher en arrière (à partir de la fin du fichier vers le début), utilisez <code>?</code> au lieu de <code>/.</code> Par exemple : | :- Si vous souhaitez rechercher en arrière (à partir de la fin du fichier vers le début), utilisez <code>?</code> au lieu de <code>/.</code> Par exemple : | ||
:<code>?example</code> | :<code>?example</code> | ||
:Comme précédemment, utilisez <code>n</code> et <code>N</code> pour naviguer entre les occurrences. | |||
Comme précédemment, utilisez <code>n</code> et <code>N</code> pour naviguer entre les occurrences. | |||
== Compter == | == Compter == | ||
| Ligne 140 : | Ligne 150 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* http://jlbicquelet.free.fr/aix/commandes/lsof.php | * http://jlbicquelet.free.fr/aix/commandes/lsof.php | ||
=== [[Grep| Grep]] === | |||
== sudo == | == sudo == | ||
| Ligne 189 : | Ligne 201 : | ||
ls -lhS #Afficher les informations des fichiers, avec des tailles lisibles le tout ordonné du plus grand au plus petit. | ls -lhS #Afficher les informations des fichiers, avec des tailles lisibles le tout ordonné du plus grand au plus petit. | ||
ls -l --time-style=+"%d %b %H:%M" #affiche toujours l'heure | |||
ls -l --time-style=+"%d %b %Y" #Afficher toujours l'année | |||
ls -l --full-time #Afficher les dates complètes (heure + année) | |||
ou | |||
ls -l --time-style=long-iso | |||
stat history.log.7.gz #Affiche toutes les dates (accès, modification, changement) avec précision. | |||
ls -l ~/.bash* #Affiche les fichiers cachés de bash dans le home. | |||
ls [ab]* #Liste les fichiers commençant par a ou b. | |||
ls *.txt #Liste seulement les fichiers .txt | |||
ls -lX #Trier alphabétiquement par extension | |||
ls -lt #Trier par date et afficher les plus récents en premier | |||
ls -lt | head -n 5 #Afficher les 5 fichiers les plus récents | |||
ls -l | grep '^d........x' #avec permission d'exécution pour "autres" | |||
ls -1alR #arborescence complète | |||
ls -1alRls -m #arborescence complète format csv | |||
#Créer raccourci: | #Créer raccourci: | ||
| Ligne 256 : | Ligne 296 : | ||
df -h | df -h | ||
</syntaxhighlight> | </syntaxhighlight> | ||
voir aussi => [[Logiciels_terminal#duf|duf]] | |||
=== Etat de la mémoire === | === Etat de la mémoire === | ||
| Ligne 313 : | Ligne 354 : | ||
chmod -R 755 repertoire | chmod -R 755 repertoire | ||
</syntaxhighlight> | </syntaxhighlight> | ||
----- | |||
=== Affiche la structure d'un dossier === | |||
<code>tree</code> parcourt récursivement un répertoire et affiche son contenu (dossiers et fichiers) dans une représentation hiérarchique, en utilisant des indentations et des symboles (<code>├─</code>, <code>└─</code>) pour montrer la structure. | |||
==== ✅ '''Syntaxe de base'''==== | |||
<syntaxhighlight lang="bash">tree [options] [répertoire]</syntaxhighlight> | |||
* '''Sans argument''' : affiche l’arborescence du répertoire courant. | |||
* '''Avec un chemin''' : affiche l’arborescence du répertoire spécifié. | |||
==== ✅ '''Options utiles''' ==== | |||
* <code>-L <niveau></code> : limite la profondeur d’affichage (ex. <code>-L 2</code> pour 2 niveaux). | |||
* <code>-d</code> : affiche uniquement les dossiers. | |||
* <code>-f</code> : affiche le chemin complet des fichiers. | |||
* <code>-a</code> : inclut les fichiers cachés. | |||
* <code>--dirsfirst</code> : liste les dossiers avant les fichiers. | |||
==== ✅ '''Exemple''' ==== | |||
<syntaxhighlight lang="bash">tree -L 2 project</syntaxhighlight> | |||
* Affiche la structure du dossier <code>project</code> avec une profondeur de 2 niveaux. | |||
<pre>project/ | |||
├─ public/ | |||
│ ├─ index.html | |||
│ ├─ script.js | |||
├─ src/ | |||
│ └─ app.php | |||
├─ db/ | |||
│ └─ schema.sql | |||
└─ README.md</pre> | |||
* Exclure .git et .idea | |||
<syntaxhighlight lang="bash">tree -a -I '.git|.idea'</syntaxhighlight> | |||
----- | |||
== MySql == | == MySql == | ||
| Ligne 342 : | Ligne 422 : | ||
== Fichiers == | == Fichiers == | ||
=== bat === | |||
<code>cat</code> amélioré (syntax highlighting, numéros de ligne). | |||
<syntaxhighlight lang="bash" copy> | |||
sudo apt install bat | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" copy> | |||
batcat fichier.txt # sur ubuntu | |||
</syntaxhighlight> | |||
=== Lire les fichiers === | === Lire les fichiers === | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
| Ligne 362 : | Ligne 451 : | ||
chmod ugo+x fichier.sh | chmod ugo+x fichier.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Manipuler contenu fichier === | |||
Nettoyer des fichiers (supprimer des caractères, remplacer du texte) - Automatiser des modifications dans des scripts shell - Filtrer des logs ou des données structurées : voir => [[Sed_(Stream_EDitor)|sed]] | |||
== Autres == | == Autres == | ||
| Ligne 414 : | Ligne 506 : | ||
== Paquets == | == Paquets == | ||
[[ APT | voir APT]] | [[ APT | voir APT]] | ||
== processus == | |||
==== lsof ==== | |||
(List Open Files) est un outil en ligne de commande très puissant sur les systèmes Unix et Linux, y compris Debian. <br /> | |||
Il est utilisé pour lister les fichiers ouverts par les processus en cours d'exécution. <br /> | |||
Voici quelques-unes des principales utilisations de lsof : | |||
1. Identifier les fichiers ouverts par un processus : Vous pouvez utiliser lsof pour voir quels fichiers sont ouverts par un processus spécifique.<br /> | |||
Cela peut être utile pour le débogage ou pour comprendre ce qu'un processus fait. | |||
<syntaxhighlight lang="bash" line copy> | |||
lsof -p <PID> | |||
</syntaxhighlight> | |||
2. Trouver quel processus utilise un fichier : <br /> | |||
Si vous avez besoin de savoir quel processus utilise un fichier particulier, vous pouvez utiliser lsof pour le découvrir. | |||
<syntaxhighlight lang="bash" line copy> | |||
lsof /chemin/vers/le/fichier | |||
</syntaxhighlight> | |||
3. Lister les connexions réseau : lsof peut également lister les connexions réseau ouvertes et les ports utilisés par les processus. | |||
<syntaxhighlight lang="bash" line copy> | |||
lsof -i | |||
</syntaxhighlight> | |||
<code>lsof</code> peut être utilisé pour lister les fichiers ouverts par les processus, y compris les sockets réseau. | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo lsof -i @<ip> | |||
</syntaxhighlight> | |||
4. Vous pouvez filtrer par protocole (TCP/UDP) ou par port spécifique : | |||
<syntaxhighlight lang="bash" line copy> | |||
lsof -i :<port> | |||
</syntaxhighlight> | |||
5. Identifier les fichiers ouverts par un utilisateur : Vous pouvez lister tous les fichiers ouverts par un utilisateur spécifique. | |||
<syntaxhighlight lang="bash" line copy> | |||
lsof -u <username> | |||
</syntaxhighlight> | |||
5. Déboguer les problèmes de verrouillage de fichiers : <br /> | |||
Si un fichier est verrouillé et que vous ne pouvez pas le supprimer ou le modifier, lsof peut vous aider à identifier quel processus le maintient ouvert. | |||
6. Surveiller les ressources système : <br />En listant les fichiers ouverts, vous pouvez surveiller l'utilisation des ressources système, comme les fichiers de périphériques ou les sockets réseau. | |||
7. Exemple d'utilisation : | |||
Pour lister tous les fichiers ouverts par tous les processus, vous pouvez simplement exécuter : | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo lsof | |||
</syntaxhighlight> | |||
== Réseaux == | == Réseaux == | ||
| Ligne 526 : | Ligne 667 : | ||
# Le précédent scan ayant duré 17mn, on va essayer d'obtenir un résultat plus rapidement en changeant la politique de temporisation de nmap: | # Le précédent scan ayant duré 17mn, on va essayer d'obtenir un résultat plus rapidement en changeant la politique de temporisation de nmap: | ||
nmap -A -T5 192.168.0.254 | nmap -A -T5 192.168.0.254 | ||
</syntaxhighlight> | |||
=== En savoir plus sur le trafic sur un port === | |||
1. Utiliser netstat ou ss : Pour voir quelles applications utilisent ce port. | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo netstat -tuln | grep 40252 | |||
</syntaxhighlight> | |||
ou | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo ss -tuln | grep 40252 | |||
</syntaxhighlight> | |||
Identifier les connexions réseau actives et les ports utilisés. | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo ss -tunp | grep <ip> | |||
</syntaxhighlight> | |||
2. Utiliser lsof : Pour identifier le processus utilisant ce port. | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo lsof -i :40252 | |||
</syntaxhighlight> | |||
3. Vérifier les logs : Consultez les logs système pour voir s'il y a des informations sur les connexions utilisant ce port.<br /> | |||
4. Analyser le trafic : Utilisez des outils comme tcpdump ou Wireshark pour capturer et analyser le trafic sur ce port. | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo tcpdump -i eth0 port 40252 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo tcpdump -i eth0 host <ip> | |||
</syntaxhighlight> | |||
En suivant ces étapes, vous devriez être en mesure de déterminer pourquoi ce port est utilisé sur votre système. | |||
=== À utiliser ensemble === | |||
- Détecter des intrusions (ports ouverts non autorisés).<br /> | |||
- Résoudre des conflits (ex: "Port already in use").<br /> | |||
- Optimiser la sécurité (fermer les ports inutiles). <br /> | |||
<syntaxhighlight lang="bash" line copy> | |||
ss -tunp #Analyse des sockets et connexions réseau | |||
sudo lsof -i -P -n #Liste des fichiers ouverts (dont les sockets réseau) | |||
</syntaxhighlight> | |||
=== trace ip === | |||
<syntaxhighlight lang="bash" line> | |||
apt install traceroute | |||
traceroute 2000:e0e:e0e:e0e:e0e:e0e:e0e:e0e | |||
traceroute6 2000:e0e:e0e:e0e:e0e:e0e:e0e:e0e | |||
apt install mtr | |||
mtr -6 2000:e0e:e0e:e0e:e0e:e0e:e0e:e0e | |||
mtr -6 2000:e0e:e0e:e0e:e0e:e0e:e0e:e0e | |||
ip -6 route get 2000:e0e:e0e:e0e:e0e:e0e:e0e:e0e | |||
</syntaxhighlight> | |||
<code>hping3</code> est un outil flexible et puissant pour les administrateurs réseau et les professionnels de la sécurité, offrant des capacités avancées pour le diagnostic et le test des réseaux.<br /> | |||
Utilisation Éthique : <code>hping3</code> est un outil puissant qui peut être utilisé à des fins malveillantes, comme les attaques DoS. Il doit être utilisé de manière éthique et responsable, uniquement sur des réseaux et des systèmes pour lesquels vous avez l'autorisation. | |||
<syntaxhighlight lang="bash" line> | |||
apt install hping3 | |||
</syntaxhighlight> | |||
==== whois ==== | |||
Pour obtenir des informations sur l'enregistrement d'une adresse IP ou d'un nom de domaine : | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo apt-get install whois | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
whois 8.8.8.8 | |||
</syntaxhighlight> | |||
=== Observer le trafic === | |||
==== tshark ==== | |||
[[Tshark| (Voir page Tshark)]] | |||
==== tcpdump ==== | |||
Pour capturer et analyser le trafic réseau. Vous pouvez l'utiliser pour surveiller le trafic sur une interface spécifique. | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo tcpdump -i eth0 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo tcpdump -i eth0 port 443 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo tcpdump -i eth0 host 192.168.1.10 and port 53 | |||
</syntaxhighlight> | |||
==== ftop ==== | |||
Affiche une vue en temps réel de la bande passante utilisée par les connexions réseau. Vous pouvez l'installer avec la commande suivante : | |||
<syntaxhighlight lang="bash" line> | |||
sudo apt-get install iftop | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo iftop -i eth0 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo iftop -f "host 192.168.1.10" | |||
</syntaxhighlight> | |||
==== iptraf-ng ==== | |||
Outil de surveillance réseau qui fournit des statistiques détaillées sur le trafic réseau. Vous pouvez l'installer avec : | |||
<syntaxhighlight lang="bash" line> | |||
sudo apt-get install iptraf-ng | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo iptraf-ng | |||
</syntaxhighlight> | |||
==== nload ==== | |||
Affiche le trafic réseau en temps réel sous forme de graphiques. Installez-le avec : | |||
<syntaxhighlight lang="bash" line> | |||
sudo apt-get install nload | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo nload eth0 | |||
</syntaxhighlight> | </syntaxhighlight> | ||