La commande ls.

Le
G-raison
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 7
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas S.
Le #1904281
G-raison
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.

Thierry B.
Le #1904280
--{ 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 }--

Fabien LE LEZ
Le #1904278
On Tue, 23 Oct 2007 22:46:51 +0200, G-raison
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.

didier gaumet
Le #1904277
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

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

La commande file revoie [...]
...renvoie...


Fabien LE LEZ
Le #1904275
On 24 Oct 2007 06:31:45 GMT, didier gaumet

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.

Nicolas S.
Le #1904273
didier gaumet
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.

didier gaumet
Le #1904272
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 :-)


Nicolas George
Le #1904269
G-raison wrote in message
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.

didier gaumet
Le #1904258
On Wed, 24 Oct 2007 13:13:11 +0200, Cumbalero wrote:


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:

:~$ 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


Publicité
Poster une réponse
Anonyme