Le blog de Fatiha

Fan d'open source : Linux Fedora, Android, Firefox, MySQL, Gimp, php, python, … Je suis de près les actus du web.

Comment afficher la liste des répertoires sous Linux à partir du répertoire courant ?

 

Depuis le répertoire courant, cela donne :

ls -Rl | egrep « ^d »

Le petit ^signifie « commence par ». On recherche donc toutes les lignes commençant par d avec la commande ls (lister). d voulant dire directory ou répertoire en français. L’option -R indique qu’il faut parcourir aussi les sous-répertoires, … c’est l’option récursive. La commande egrep est utilisée lorsqu’on veut faire des recherches avec des expressions régulières en paramètre.

Nous pouvons bien sûr rediriger les résultats dans un fichier :

ls -Rl | egrep « ^d » > /home/fatiha/listeDeTousLesRepertoires

Nous pouvons aussi facilement les compter avec la commande wc :

ls -Rl | egrep « ^d » | wc -l

Exemple sur mon ordi :

[fatiha@localhost ~]$ ls -Rl | egrep « ^d » | wc -l
2205

Vous pourrez voir apparaître quelques erreurs au cas où vous n’auriez pas le droit de lister le contenu d’un répertoire « Permission denied », exemple :

ls: cannot open directory ./Téléchargements/android-sdk-linux: Permission denied
ls: cannot open directory ./workspace/HelloFedora/bin/res/drawable-hdpi: Permission denied
ls: cannot open directory ./workspace/HelloFedora/bin/res/drawable-ldpi: Permission denied
ls: cannot open directory ./workspace/HelloFedora/bin/res/drawable-mdpi: Permission denied
ls: cannot open directory ./workspace/HelloFedora/gen/com: Permission denied

Dans ce cas, soit vous changez les droits, soit vous redirigez les erreurs lors du lancement de la ligne de commande. Cela donnerait :

ls -Rl 2>/dev/null | egrep « ^d » | wc -l

Vous souhaitez afficher uniquement le nom du répertoire, c’est possible en utilisant la commande awk et en lui disant de n’afficher que la 9e colonne :

ls -Rl 2>/dev/null | egrep « ^d » | awk ‘{ print $9 }’

Vous pouvez classer les noms par ordre alphabétique avec la commande sort :

ls -Rl 2>/dev/null | egrep « ^d » | awk ‘{ print $9 }’ | sort

nmap : Quels sont les ports ouverts sur votre blog ?

 

Votre blog est-il un minimum sécurisé ? C’est en lisant un article publié sur Linuxaria que je me suis posée la question. Cela concerne plus précisément les blogs hébergés sous Linux et utilisant le serveur web apache.

Je lance la commande nmap sous Linux comme proposé sur leur site :

nmap -sV monsite.com

nmap_detection_service_version

Et j’analyse tranquillement le résultat. En effet, le site linuxaria indique que des programmes malveillants peuvent utiliser le port 25 par exemple pour lancer des campagnes de spamming en utilisant votre propre site ! Je suis rassurée, le port 25 de mon blog est fermé.

A vous de faire le test sur votre site ou votre blog. Alors, quel est le résultat ?

Source : linuxaria

Pourquoi apache ne démarre pas ? Réponse avec la commande strace…

 

Vous venez d’installer apache sous Linux, vous venez de paramétrer votre fichier httpd.conf et vous souhaitez démarrer apache. Problème ! Il ne démarre pas et vous n’avez pas de logs d’erreurs de générés. Avant de générer un core dump, commencez par lancer la commande strace :

strace -f -o httpd.trace /etc/init.d/httpd -f /myPath/httpd.conf -k start

Après avoir lancé la commande j’ai compris qu’il me manquait des librairies car j’avais des messages de ce genre :

open(« /myPath/lib/tls/x86_64/librt.so.1″, O_RDONLY) = -1 ENOENT (No such file or directory)

Source : wiki sur mandriva

Ne pas afficher les noms de fichiers dans les résultats d’un grep

 

Si vous souhaitez rechercher un motif dans plusieurs fichiers, un grep classique vous renverra le résultat suivant :

/répertoire/fichier1:ligne contenant le motif recherché

/répertoire/fichier2:ligne contenant le motif recherché

/répertoire/fichier3:ligne contenant le motif recherché

Ensuite, si vous souhaitez parser ces lignes, cela devient un peu plus difficile. Du coup, mieux vaut ne pas afficher du tout les noms de fichiers au début de la ligne. Cela est possible avec l’option -h :

-h, –no-filename

Ne pas afficher le nom des fichiers dans les résultats lorsque plusieurs fichiers sont parcourus.

Source : man grep