PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.linux.config > La commande ls.
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.linux.config Prise en main d'un système Linux.

La commande ls.

Réponse
 
LinkBack Outils de la discussion
Vieux 23/10/2007, 21h46   #1
G-raison
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut La commande ls.

Bonjour,

Ca fait un bon bout de temps que je regarde la page man de la commande "ls".
J'ai regardé aussi les otpions sur différents sites web.
On en fait un tas de truc avec cette commande!

Mais je n'ai pas trouvé ce que je voulais.

Je voudrais par exemple lister tous les exécutables qui se trouvent dans un
répertoire.
Comment faut-il écrire avec cette commande?

J'arrive à voir par exemple les répertoires avec ls -d */, ou même les
images jpg avec ls -d *.jpg, mais pas les exécutables?!

--
@+
gr
  Réponse avec citation
Vieux 23/10/2007, 22h06   #2
Nicolas S.
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

G-raison <jairaison@wanadoo.fr> a écrit:

> J'arrive à voir par exemple les répertoires avec ls -d */, ou même les
> images jpg avec ls -d *.jpg, mais pas les exécutables?!


Le fait qu'un fichier soit exécutable est un droit, pas un type de
fichier. Regarde plutôt du côté de find.


--
Nicolas S.
  Réponse avec citation
Vieux 23/10/2007, 22h15   #3
Thierry B.
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

--{ G-raison a plopé ceci: }--

> Je voudrais par exemple lister tous les exécutables qui se trouvent dans un
> répertoire.
> Comment faut-il écrire avec cette commande?
>
> J'arrive à voir par exemple les répertoires avec ls -d */, ou même les
> images jpg avec ls -d *.jpg, mais pas les exécutables?!


Il faut utiliser la commande "find".


--
"C makes it easy to shoot yourself in the foot. C++ makes it harder,
but when you do, it blows away your whole leg".
--{ Bjarne Stroustrup }--
  Réponse avec citation
Vieux 24/10/2007, 06h44   #4
Fabien LE LEZ
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

On Tue, 23 Oct 2007 22:46:51 +0200, G-raison <jairaison@wanadoo.fr>:

>Je voudrais par exemple lister tous les exécutables qui se trouvent dans un
>répertoire.


Si tu veux faire la liste de tous les fichiers d'un répertoire que tu
peux exécuter, tu peux par exemple taper :

ls -l|grep -E "^-..x"

find est plus compliqué, mais probablement plus fiable, et plus adapté
aux scripts.

  Réponse avec citation
Vieux 24/10/2007, 07h31   #5
didier gaumet
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

Bonjour,

On Tue, 23 Oct 2007 23:06:38 +0200, Nicolas S. wrote:

> Le fait qu'un fichier soit exécutable est un droit, pas un type de
> fichier. Regarde plutôt du côté de find.


En même temps, si quelqu'un a donné à un fichier texte le
droit d'exécution, tu ne vas pas être plus avancé ;-)

La commande file revoie le type des fichiers passés en argument (type qui
effectivement ne dépend pas de l'extension).

$ find /repertoire_a_analyser/* |grep executable
  Réponse avec citation
Vieux 24/10/2007, 07h32   #6
didier gaumet
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

On Wed, 24 Oct 2007 06:31:45 +0000, didier gaumet wrote:

> La commande file revoie [...]

....renvoie...
  Réponse avec citation
Vieux 24/10/2007, 07h52   #7
Fabien LE LEZ
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

On 24 Oct 2007 06:31:45 GMT, didier gaumet
<didier.gaumet@libertysurf.fr>:

>En même temps, si quelqu'un a donné à un fichier texte le
>droit d'exécution, tu ne vas pas être plus avancé ;-)


Ça dépend ce que tu entends par "fichier texte".

Si le fichier texte en question contient quelque chose comme

#!/bin/bash
echo Hello World!

il est parfaitement normal de lui donner un droit d'exécution.

  Réponse avec citation
Vieux 24/10/2007, 07h57   #8
Nicolas S.
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

didier gaumet <didier.gaumet@libertysurf.fr> a écrit:

> En même temps, si quelqu'un a donné à un fichier texte le
> droit d'exécution, tu ne vas pas être plus avancé ;-)


Heu, si. C'est sur ce seul principe qu'est basé une bonne partie de ton
système. Ça s'appelle un script.

> La commande file revoie le type des fichiers passés en argument (type
> qui effectivement ne dépend pas de l'extension).
>
> $ find /repertoire_a_analyser/* |grep executable

^^^^
J'imagine que tu voulais mettre file.

C'est acceptable occasionnellement, _mais_ tu dois bien être conscient
que ça va aussi te renvoyer les fichiers dont le _nom_ contient
'executable'.

--
Nicolas S.
  Réponse avec citation
Vieux 24/10/2007, 08h26   #9
didier gaumet
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

On Wed, 24 Oct 2007 08:57:38 +0200, Nicolas S. wrote:


> Heu, si. C'est sur ce seul principe qu'est basé une bonne partie de ton
> système. Ça s'appelle un script.

[...]

Certes, mais pour être plus précis, si tu rends exécutable un fichier
texte qui contient ta recette de la charlotte aux fraises, tu vas être
chocolat ;-)
étymologiquement, c'est aussi un script, mais ton ordi risque d'avoir du
mal ;-)

>> $ find /repertoire_a_analyser/* |grep executable

> ^^^^
> J'imagine que tu voulais mettre file.


Oui :-)

> C'est acceptable occasionnellement, _mais_ tu dois bien être conscient
> que ça va aussi te renvoyer les fichiers dont le _nom_ contient
> 'executable'.


oui :-)
  Réponse avec citation
Vieux 24/10/2007, 09h06   #10
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

G-raison wrote in message <471e5d8d$0$27366$ba4acef3@news.orange.fr>:
> Je voudrais par exemple lister tous les exécutables qui se trouvent dans un
> répertoire.


ls bin

Si ça ne marche pas, c'est que tu dois faire du ménage.
  Réponse avec citation
Vieux 24/10/2007, 12h13   #11
Cumbalero
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

didier gaumet a écrit :
>
> Certes, mais pour être plus précis, si tu rends exécutable un fichier
> texte qui contient ta recette de la charlotte aux fraises,


Si tu as un interpréteur capable d'exécuter la séquence d'instructions
que constitue la recette, je ne vois pas où est le problème.

L'OP demande comment trouver une liste d'exécutables, pas nécessairement
de binaires exécutables, la liste que renvoie la commande que tu
proposes est donc incomplète.

man find

A+
JF
  Réponse avec citation
Vieux 24/10/2007, 15h20   #12
didier gaumet
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

On Wed, 24 Oct 2007 13:13:11 +0200, Cumbalero wrote:

> didier gaumet a écrit :
>>
>> Certes, mais pour être plus précis, si tu rends exécutable un fichier
>> texte qui contient ta recette de la charlotte aux fraises,

>
> Si tu as un interpréteur capable d'exécuter la séquence d'instructions
> que constitue la recette, je ne vois pas où est le problème.


Ben, le problème, c'est que je suis toujours à la recherche du shell
qui me permettra d'éviter de cuisiner moi-même une charlotte aux fraises ;-)
Donc le script shell charlotte_aux_fraises.sh ne risque pas d'être
exécutable même si on lui confère des droits d'exécution.

> L'OP demande comment trouver une liste d'exécutables, pas nécessairement
> de binaires exécutables, la liste que renvoie la commande que tu
> proposes est donc incomplète.

[...]

la commande
$ file * | grep executable
ne renvoie pas que les binaires mais aussi entre autres les shells:

didier@laptop-didier:~$ file /etc/init.d/* | grep executable | head
/etc/init.d/915resolution: Bourne shell script text executable
/etc/init.d/acpid: Bourne shell script text executable
/etc/init.d/acpi-support: Bourne-Again shell script text executable
/etc/init.d/alsa: Bourne shell script text executable
/etc/init.d/alsa-utils: Bourne shell script text executable
/etc/init.d/amavis: Bourne shell script text executable
/etc/init.d/anacron: Bourne shell script text executable
/etc/init.d/apache2: Bourne shell script text executable
/etc/init.d/apmd: Bourne shell script text executable
/etc/init.d/atd: Bourne shell script text executable
  Réponse avec citation
Vieux 24/10/2007, 15h28   #13
Nina Popravka
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

On 24 Oct 2007 14:20:32 GMT, didier gaumet
<didier.gaumet@libertysurf.fr> wrote:

>Ben, le problème, c'est que je suis toujours à la recherche du shell
>qui me permettra d'éviter de cuisiner moi-même une charlotte aux fraises ;-)


Le shell n'y est pour rien.
Simple problème d'abord de normalisation de l'interface des appareils
de la cuisine, et de l'existence d'un langage de gestion d'iceux, qui
pourrait certes être une extension du shell :-)
(pas dans ma cuisine, hein...)
--
Nina
  Réponse avec citation
Vieux 24/10/2007, 16h00   #14
Erwan David
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

Nina Popravka <Nina@nospam.invalid> écrivait:

> On 24 Oct 2007 14:20:32 GMT, didier gaumet
> <didier.gaumet@libertysurf.fr> wrote:
>
>>Ben, le problème, c'est que je suis toujours à la recherche du shell
>>qui me permettra d'éviter de cuisiner moi-même une charlotte aux fraises ;-)

>
> Le shell n'y est pour rien.
> Simple problème d'abord de normalisation de l'interface des appareils
> de la cuisine, et de l'existence d'un langage de gestion d'iceux, qui
> pourrait certes être une extension du shell :-)
> (pas dans ma cuisine, hein...)


Le shell, c'est pour cuisiner les coquilles St Jacques.

--
Erwan
  Réponse avec citation
Vieux 24/10/2007, 16h05   #15
Nina Popravka
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

On Wed, 24 Oct 2007 17:00:12 +0200, Erwan David <erwan@rail.eu.org>
wrote:

>Le shell, c'est pour cuisiner les coquilles St Jacques.


Si on me trouve un ouvreur à huîtres automatique efficace commandé par
un shell *nix, je promet de ne plus utiliser que du *nix, et même une
slack si il le faut :-)
(faut que ça aille les prendre dans la bourriche et les mette dans
l'assiette, hein...)
--
Nina
  Réponse avec citation
Vieux 24/10/2007, 17h51   #16
G-raison
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

didier gaumet wrote:

> $ find /repertoire_a_analyser/* |grep executable


Ah, ça ne liste rien chez moi. ;-)

--
@+
gr
  Réponse avec citation
Vieux 24/10/2007, 17h55   #17
G-raison
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls. merci à tous.

Fabien LE LEZ wrote:

> ls -l|grep -E "^-..x"


Ah ça, ça marche.
Mais faut avouer quand même que la syntaxe est complexe.

Par exemple sur un autre OS on aurait tapé "dir *.exe", mais bon ce n'est
pas la même chose.

En tout cas merci à tous pour vos réponses.
Par contre, faut que je trouve la page man de find en Français, car là c'est
en anglais sur mon truc.

--
@+
gr
  Réponse avec citation
Vieux 24/10/2007, 17h56   #18
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls. merci à tous.

G-raison wrote in message <471f78ae$0$5065$ba4acef3@news.orange.fr>:
> Par exemple sur un autre OS on aurait tapé "dir *.exe"


Et on aurait raté les .com et les .bat.
  Réponse avec citation
Vieux 24/10/2007, 17h58   #19
G-raison
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

Nicolas George wrote:

> ls bin
>
> Si ça ne marche pas, c'est que tu dois faire du ménage.


Là, ça me donne le contenu du répertoire bin/ que j'ai dans mon dossier
personnel.
D'ailleurs je n'ai pas grand chose à part deux liens symboliques.

--
@+
gr
  Réponse avec citation
Vieux 24/10/2007, 17h59   #20
Nicolas S.
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls. merci à tous.

Nicolas George <nicolas$george@salle-s.org> a écrit:

> G-raison wrote in message <471f78ae$0$5065$ba4acef3@news.orange.fr>:
> > Par exemple sur un autre OS on aurait tapé "dir *.exe"

>
> Et on aurait raté les .com et les .bat.


Et les .vbs, et les .trucs, etc...

--
Nicolas S.
  Réponse avec citation
Vieux 24/10/2007, 18h02   #21
Nicolas S.
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls. merci à tous.

G-raison <jairaison@wanadoo.fr> a écrit:

> Par exemple sur un autre OS on aurait tapé "dir *.exe", mais bon ce
> n'est pas la même chose.


Mais sur un autre OS de ce genre, c'est un bordel monstre pour
localiser les fichiers appartenant à un programme.
Ce n'est pas le cas pour une distribution GNU/Linux.

Pourquoi cherches tu à faire ça?

--
Nicolas S.
  Réponse avec citation
Vieux 24/10/2007, 18h03   #22
Nicolas S.
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

G-raison <jairaison@wanadoo.fr> a écrit:

> Là, ça me donne le contenu du répertoire bin/ que j'ai dans mon
> dossier personnel.
> D'ailleurs je n'ai pas grand chose à part deux liens symboliques.


D'où le sens de sa remarque: si tes exécutables ne sont pas dans bin,
tu as un sacré tri à faire.

--
Nicolas S.
  Réponse avec citation
Vieux 24/10/2007, 18h05   #23
didier gaumet
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls.

On Wed, 24 Oct 2007 18:51:33 +0200, G-raison wrote:

>> $ find /repertoire_a_analyser/* |grep executable

>
> Ah, ça ne liste rien chez moi. ;-)


C'est normal, j'ai écrit avec mes pieds ;-)
Je voulais parler de la commande file mais comme on parlait de la
commande find, je me suis trompé en écrivant.

$ file /repertoire_a_analyser/* |grep executable
  Réponse avec citation
Vieux 24/10/2007, 18h09   #24
Fabien LE LEZ
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls. merci à tous.

On Wed, 24 Oct 2007 18:55:05 +0200, G-raison <jairaison@wanadoo.fr>:

>> ls -l|grep -E "^-..x"

>
>Ah ça, ça marche.
>Mais faut avouer quand même que la syntaxe est complexe.


En tant que recette de cuisine, oui.
Mais bon, la clé est de connaître les regex[*], et d'observer la
sortie de ls -l.

Le début d'une ligne renvoyée par "ls -l" est quelque chose comme
"drwx", avec chaque lettre remplacée par un tiret si l'attribut est
inactif. Le d indique qu'il s'agit d'un répertoire ; tu n'en veux pas,
donc tu veux un tirer à cette position. Les deux lettres suivantes, on
s'en fout ici ; la quatrième lettre indique le droit en exécution, ce
qui t'intéresse -- tu veux un x à cet emplacement.
Tu passes donc la sortie de "ls -l" à grep avec les arguments :
-E -> ce qui suit est une regex
^ -> chercher uniquement au début de la ligne
- -> la première "lettre" doit être un tiret (ignorer les
répertoires)
. -> n'importe quelle lettre (deux fois)
x -> la quatrième lettre doit être un x

On rajoute des guillemets pour faire joli (et pour éviter quelques
surprises), et le tour est joué !




[*] Regex : "regular expressions" en anglais, "expressions régulières"
ou "expressions rationnelles" en français. C'est le genre de truc
totalement indispensable quand, d'une manière générale, on veut
rechercher ou remplacer du texte. Cf Google.

  Réponse avec citation
Vieux 24/10/2007, 18h11   #25
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: La commande ls. merci à tous.

Fabien LE LEZ wrote in message
<h1vuh35vlt6004q7euml5muidkhuoo5ceb@4ax.com>:
>[*] Regex : "regular expressions" en anglais, "expressions régulières"
> ou "expressions rationnelles" en français.


Normalement, seulement rationnelles.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 02h46.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,80538 seconds with 33 queries