Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

La commande ls.

64 réponses
Avatar
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

10 réponses

3 4 5 6 7
Avatar
Cumbalero
didier gaumet 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


Ben écris-le!

:~$ file /etc/init.d/* | grep executable | head


find . -perm /111
find . -perm -o+x,g+x,u+x

est plus élégant et plus souple. C'est juste dans les exemples founi dans le
man find...


A+
JF

Avatar
didier gaumet
Ce que j'essayais de dire c'est simplement que find et ls vont permettre
de trouver des fichiers (pas forcément exécutables) ayant des droits
d'exécution, tandis que file permettra plutôt de trouver des exécutables
(i.e. dont la finalité est d'être exécutés) même si ils n'ont pas de
droits d'exécution.
Un exemple: find et ls listeront des images jpeg ayant des droits
d'exécution et omettront la commande rm si tu lui as retiré les droits
d'exécution. Dans cet exemple file omettra les images jpeg et listera la
commande rm, ce qui correspond à mon avis mieux à le demande du posteur
d'origine :-)
Avatar
Thierry B.
--{ Fabien LE LEZ a plopé ceci: }--


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




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.


Il reste quand même le cas des liens symboliques vers un exécutable.

:~$ ls -l foo toto
lrwxrwxrwx 1 tth tth 4 Oct 25 11:21 foo -> toto
-rwxr--r-- 1 tth tth 679 Aug 5 17:59 toto

. -> n'importe quelle lettre (deux fois)


Et en étant pinailleur, d'ailleurs, un autre cas ambigu:

:~$ cat >> toto.sh
#!/bin/sh
echo "plop"
:~$ chmod 100 toto.sh
:~$ ls -l toto.sh
---x------ 1 tth tth 22 Oct 25 11:24 toto.sh

Rien n'est simple...

--
| Par le menu mon noyau choisira. | De dépendances absconses
| Tu ne t'encombrera | Par le menu mes packages mettra.
| Qui sur le disque dur | Se mettrons dans la joie.
----------------------- L'évangile selon St Volkerding -----------------



Avatar
didier gaumet
On Thu, 25 Oct 2007 11:15:38 +0200, Cumbalero wrote:

Par définition, sous unix, si tu enlèves les droits d'exécution, ce
n'est plus un exécutable...


Prenons toujours le cas de la commande rm: supposons que l'administrateur
choisisse d'enlever les droits d'exécution aux autres et de les laisser au
groupe toto. Pour Paul qui ne fait pas partie du groupe toto, rm n'est pas
un exécutable (nom) puisque pour lui il n'est pas exécutable (adjectif)?
Je préfère dire que rm reste un exécutable même si il n'est pas toujours
exécutable. Sinon on peut trouver autant de définitions que
de contextes ou d'utilisateurs.

Avatar
Fabien LE LEZ
On Thu, 25 Oct 2007 11:26:42 +0200, "Thierry B." :

un autre cas ambigu:


Ben oui, on tourne en rond : l'op a parlé d'"exécutables" sans dire ce
qu'il entend par là.
Apparemment il est décédé depuis, donc j'imagine qu'on ne saura jamais
ce qu'il voulait.

Avatar
Nicolas S.
didier gaumet a écrit:

Pour Paul qui ne fait pas
partie du groupe toto, rm n'est pas un exécutable (nom) puisque pour
lui il n'est pas exécutable (adjectif)?


Oui. C'est la définition la plus précise pour le mot exécut_able_.
Et oui, c'est variable selon les droits des catégories
owner/group/other.

Sinon, comment tu appelles un script shell sur lequel tu as les droits
d'exécution?

--
Nicolas S.

Avatar
Nicolas S.
Fabien LE LEZ a écrit:

Bof... ça peut effectivement poser problème pour les exécutables, si
l'interface chaise-clavier a un QI inférieur à sa pointure de
chaussures.


Ça me fait penser à un jeune étudiant en _informatique_ que j'ai croi sé
la semaine dernière. Il se propose de me faire passer un .doc
(contenant surtout du texte). Gentillement, je
lui demande .rtf (pour être sûr que ça passe chez moi).

Vlan! Il s'est lancé dans un "clic droit -> renommer" pour changer
l'extension.

Certes, il est en première année, mais avec une définition comme
celle-là, j'aurais tendance à dire que les personnes dont le « QI est
inférieur à sa pointure de chaussures » sont légions. Pourtant,
statistiquement, il doit bien se situer dans la moyenne...

--
Nicolas S.

Avatar
Fabien LE LEZ
On Thu, 25 Oct 2007 13:19:54 +0200, "Nicolas S." :

Vlan! Il s'est lancé dans un "clic droit -> renommer" pour changer
l'extension.


C'est bien un informaticien hors pair, puisqu'il sait renommer un
fichier.
En plus, c'est un informaticien travailleur -- l'informaticien
fainéant tape F2, c'est moins fatiguant.

Avatar
Nina Popravka
On Thu, 25 Oct 2007 17:19:16 +0200, Fabien LE LEZ
wrote:

En plus, c'est un informaticien travailleur -- l'informaticien
fainéant tape F2, c'est moins fatiguant.


Ah non... Faut tendre la main vers le clavier, au lieu de la laisser
mollement reposer sur la souris :-)
--
Nina

Avatar
Fabien LE LEZ
On Thu, 25 Oct 2007 17:22:29 +0200, Nina Popravka :

Ah non... Faut tendre la main vers le clavier, au lieu de la laisser
mollement reposer sur la souris :-)


Et pour taper "rtf", tu le fais comment à la souris ?
Ce qui est fatiguant, et qu'il faut éviter le plus possible, c'est
passer la main droite du clavier à la souris.

3 4 5 6 7