« Commandes BASH » : différence entre les versions
| (34 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 45 : | Ligne 56 : | ||
export PS1="\[\e[\033[00;36m\]\u\[\e[m\]\[\e[\033[00;36m\]@\[\e[m\]\[\e[\033[00;36m\]\h\[\e[m\]:\[\e[\033[01;33m\]\w\[\e[m\]\[\e[\033[01;32m\]\`parse_git_branch\`\[\e[m\]\\$ " | export PS1="\[\e[\033[00;36m\]\u\[\e[m\]\[\e[\033[00;36m\]@\[\e[m\]\[\e[\033[00;36m\]\h\[\e[m\]:\[\e[\033[01;33m\]\w\[\e[m\]\[\e[\033[01;32m\]\`parse_git_branch\`\[\e[m\]\\$ " | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== .bashrc custom prompt == | |||
=== 1️⃣ Crée un fichier dédié === | |||
Par exemple : | |||
<syntaxhighlight lang="bash">~/.bash_prompt</syntaxhighlight> | |||
Contenu : | |||
<syntaxhighlight lang="bash"># Couleurs | |||
PINK='\[\033[38;2;255;105;180m\]' | |||
WHITE='\[\033[38;2;255;255;255m\]' | |||
BLUE='\[\e[1;38;2;74;138;228m\]' | |||
PURPLE='\[\e[2;38;2;245;176;245m\]' | |||
BG='\[\e[48;2;0;0;0m\]' | |||
RESET='\[\e[0m\]' | |||
# Prompt | |||
if tput setaf 1 >/dev/null 2>&1; then | |||
PS1="${debian_chroot:+($debian_chroot)}\ | |||
${PINK}\u🍇\h\ | |||
${WHITE}:\ | |||
${RESET}${BG}${BLUE}\w\ | |||
${RESET}${BG}${PURPLE}\$ " | |||
else | |||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' | |||
fi</syntaxhighlight> | |||
----- | |||
=== 2️⃣ Dans ton <code>~/.bashrc</code> === | |||
Ajoute simplement : | |||
<syntaxhighlight lang="bash"> | |||
# couleurs par defaut ls | |||
if [ -x /usr/bin/dircolors ]; then | |||
eval "$(dircolors -b)" | |||
alias ls='ls --color=auto' | |||
fi | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash"># Charger le prompt personnalisé | |||
[ -f ~/.bash_prompt ] && source ~/.bash_prompt</syntaxhighlight> | |||
----- | |||
== nano == | == nano == | ||
| Ligne 139 : | Ligne 198 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* http://jlbicquelet.free.fr/aix/commandes/lsof.php | * http://jlbicquelet.free.fr/aix/commandes/lsof.php | ||
=== [[Grep| Grep]] === | |||
== sudo == | == sudo == | ||
| Ligne 188 : | Ligne 249 : | ||
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 255 : | Ligne 344 : | ||
df -h | df -h | ||
</syntaxhighlight> | </syntaxhighlight> | ||
voir aussi => [[Logiciels_terminal#duf|duf]] | |||
=== Etat de la mémoire === | === Etat de la mémoire === | ||
| Ligne 312 : | Ligne 402 : | ||
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 341 : | Ligne 470 : | ||
== 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 361 : | Ligne 499 : | ||
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 435 : | Ligne 576 : | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
lsof -i | 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> | </syntaxhighlight> | ||
| Ligne 569 : | Ligne 715 : | ||
# 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> | </syntaxhighlight> | ||
=== En savoir plus sur le trafic sur un port | === En savoir plus sur le trafic sur un port === | ||
1. Utiliser netstat ou ss : Pour voir quelles applications utilisent ce port. | 1. Utiliser netstat ou ss : Pour voir quelles applications utilisent ce port. | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
| Ligne 580 : | Ligne 728 : | ||
sudo ss -tuln | grep 40252 | sudo ss -tuln | grep 40252 | ||
</syntaxhighlight> | </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. | 2. Utiliser lsof : Pour identifier le processus utilisant ce port. | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
| Ligne 588 : | Ligne 742 : | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo tcpdump -i eth0 port 40252 | sudo tcpdump -i eth0 port 40252 | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo tcpdump -i eth0 host <ip> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
En suivant ces étapes, vous devriez être en mesure de déterminer pourquoi ce port est utilisé sur votre système. | 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 === | === trace ip === | ||
| Ligne 621 : | Ligne 787 : | ||
=== Observer le trafic === | === Observer le trafic === | ||
==== tshark ==== | ==== tshark ==== | ||
[[Tshark| (Voir page Tshark)]] | |||
==== tcpdump ==== | ==== tcpdump ==== | ||
| Ligne 636 : | Ligne 796 : | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo tcpdump -i eth0 port 443 | 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> | </syntaxhighlight> | ||
| Ligne 645 : | Ligne 808 : | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo iftop -i eth0 | sudo iftop -i eth0 | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line copy> | |||
sudo iftop -f "host 192.168.1.10" | |||
</syntaxhighlight> | </syntaxhighlight> | ||