Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[débat] dans les arcanes du shell...
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Tue Dec 12, 2006 3:33 pm    Post subject: [débat] dans les arcanes du shell... Reply with quote

Bonjour à tous,

Derrière ce titre énigmatique se cache en fait un débat que vous ne trouverez pas dans la boîte à idées. Il prend la suite du thread sur le support 64-bits de Gentoo, qui aura eu le mérite de battre le record de longévité précédemment établi. Et, accessoirement, nous en avons maintenant l'intime conviction, le concept des débats s'essoufle, et celui-ci va probablement être le dernier avant une pause salutaire de quelques semaines / mois. Veillez donc à lui faire bon accueil :wink: !

Mais revenons à nos bovidés. Vous êtes tous, d'une manière ou d'une autre, utilisateur d'un gestionnaire de fichiers. Qu'il s'appele nautilus, konqueror, ou bash, vous déplacez, renommez, supprimez, créez des douzaines de fichiers / répertoires chaque jour. L'objet de ce thread sera donc de regrouper vos expériences en la matière. Et, plus particulièrement, nous aimerions voir fleurir des posts sur des outils un peu atypiques (zsh, et sa complétion automatique qui me casse tant les bur...ettes :wink: et gentoo ne sont que les 2 exemples qui me viennent spontanément à l'esprit, la liste est non limitative).

:arrow: sortez des sentiers battus, donnez-nous vos expressions régulières pour la multi-sélection de fichiers avec bash, vos astuces pour configurer l'accès aux partages samba / nfs / dans votre gestionnaire graphique, etc... Tout ce qui, de près ou de loin, est susceptible de vous aider à ranger vos affaire dans votre home directory intéresse ce débat, alors n'hésitez pas :D.
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.


Last edited by anigel on Mon Feb 19, 2007 3:03 pm; edited 1 time in total
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Dec 12, 2006 3:50 pm    Post subject: Reply with quote

Rien de transcendant ici, j'utilise uniquement bash, et pour les multiselections en général je joue entre [tab] * ? et les {foo,bar} souvent utiles pour les extensions.

par exemple dans mon home, si j'ai quelques one-liners qui trainent, à "ranger" dans mon répertoire scripts: mv *.{pl,sh} scripts
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2885
Location: Grenoble, France

PostPosted: Tue Dec 12, 2006 3:56 pm    Post subject: Reply with quote

Honte à moi, je fais la plupart de mes rangements en graphique directement dans Nautilus... oui, je sais c'est pas bien!
J'utilise aussi bash de temps en temps mais je suis très nul en expression régulière, je pense jamais au {foo,bar} et autres. C'est bien triste, il faudrait que j'apprenne à mieux m'en servir, ainsi que sed. Par exemple pour renommer des photos de IMG_3290.JPG à lieu_date_#photo.jpg ou des trucs dans le genre.... Faudra que j'apprenne un jour.
Back to top
View user's profile Send private message
Magic Banana
Veteran
Veteran


Joined: 13 Dec 2005
Posts: 1912
Location: Belo Horizonte, Minas Gerais, Brasil

PostPosted: Tue Dec 12, 2006 4:03 pm    Post subject: Reply with quote

Pour renommer les photos ou les pistes de CD rippés et compressés en ogg (quand on ne peut pas accéder à Internet on se retrouve avec des nom du genre "Artiste Inconnu - Titre Inconnu.ogg"), j'utilise rename qui fait bien la job. Je vous laisse vous reporter à sa page de manuel qui est bien écrite. Elle contient notamment des exemples classiques.

Sinon qu'est-ce que tu as contre zsh anigel ? La completion des options c'est tellement bien ! Et puis ce Shell est quand même nettement plus intelligent que le bash. Par exemple la completion suivant un cd ne cherche que parmi les répertoires... Certes, il me seble qu'il ne supporte pas l'Unicode...
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Dec 12, 2006 4:05 pm    Post subject: Reply with quote

kopp wrote:
Par exemple pour renommer des photos de IMG_3290.JPG à lieu_date_#photo.jpg ou des trucs dans le genre.... Faudra que j'apprenne un jour.


Je peux pas le tester sur le moment, mais un truc genre :

for i in IMG_*.JPG; do read $lieu $date; `echo "mv $i $lieu_$date_#photo.jpg"`;done

ça passe pas?

# donc tu rentres sur une ligne : "tatawin 15/10/2006" (oh! le jour de mes 20 ans :wink: ) par exemple
Back to top
View user's profile Send private message
kaworu
Guru
Guru


Joined: 07 Dec 2005
Posts: 450

PostPosted: Tue Dec 12, 2006 4:14 pm    Post subject: Reply with quote

Salut !
j'utilise bash & sed pour ranger/renommer mes fichiers, et j'ai appris sed grâce aux tutos dans la doc Gentoo ;)

graphiquement j'utilise souvent Konqueror qui a quelques trucs bien sympa comme pouvoir scinder la fenêtre en autant de parties que l'on veut (pratique pour les transferts CD/USB/FTP/SFTP etc)

finalement, quand les choses deviennent sérieuses et que je peux pas jouer avec bash & sed, j'utilise Krusader, qui est un file manager très puissant fait pour l'administration. En faite c'est un front-end à *une tonne de programmes* (tar, md5sum etc) et on peut ajouter des actions personnalisées.
_________________
Macbook
Core2Duo @ 2.0GHz - 1Go RAM - HD 80Go - Intel GMA 945

Gentoo GNU/Linux
~amd64 - 2.6.24-gentoo-r2 - Fluxbox || (KDE && Compiz-Fusion)
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Tue Dec 12, 2006 4:30 pm    Post subject: Reply with quote

C'est marrant, j'ai installe krusader mais je ne m'en sers pas.. Je me sers de Gentoo quand je dois organiser des fichiers, c'est extremement similaire et ca se lance plus vite ;-)
Sinon, bon, locate, find et mv, mais je n'ai pas de petits trucs specifiques..

find / -name X --> Pour trouver, quand locate echoue :)
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
Mickael
Advocate
Advocate


Joined: 05 Sep 2005
Posts: 2387
Location: ~Belfort! - France - EU

PostPosted: Tue Dec 12, 2006 4:53 pm    Post subject: Reply with quote

Bon comme tout le monde je présume, de base mv, rm (ha souvenez-vous :lol:) enfin je l'évite un maximum, find quand locate échoue, cp et autres commandes de base grep, zgrep, cat....

un petit exemple de find que j'aime bien, pour retrouver une expression à l'intérieur d'un fichier :

Code:
find . -exec grep -l <ton texte> {} \;




Sinon, j'ai commencé avec les scripts bash car j'avais (et j'ai toujours) un besion de faire des sauvegardes sur le serveur du labo. Je me suis donc lancé dans les scripts car aucun des logiciels graphiques me convenaient, de plus n'étant pas ingénieur informaticien, je n'arrivais jamais à voir le réseau windows du labo depuis Nautilus par exemple. Cependant, en ligne de commande j'y parvenais : résultat ; pourquoi ne pas se lancer, et la doc sur le net est absolument énorme sans compter les exemples!!! Puis, faute de réussite encore une fois avec une interface graphique, j'ai dû graver des cd audio en console. Hum, au début je peux vous assurez que j'étais pas trop chaud, mais j'ai découvert que deux lignes suffisent pour convertir automatiquement dans un autre format, pour virer les accens, les espaces et autres conneries dans les noms de fichiers. Ha le pied, cette partie là en ligne de commande c'est du régal, surtout si le logiciel que vous aimez n'est pas capable de le faire! Je dois cependant avouer que la partie gravure, je n'aime pas, mais bon ça peu rendre service. Tous ces scripts, je suis tombé dessus, ici, il faut rendre à César ce qui est à César!

Après ma réussite, de mon premier script pompé à la base sur le net puis adapté à mon cas, je me suis résolu à continuer avec la config d'un scipt wifi pour une carte pcmcia qui fonctionnait avec ndiswrapper. Je suis toujours avec les scripts bashs, et je me souviens que l'ancien débat : quel langage pour les quick hacks m'avaient appris pas mal de chose. Pourquoi, ne pas passer à un autre, tout simplement par manque de temps, mais je viens de voir que Magic-Banana remet le couvert avec sed, et les premiers tests sont assez intéressant, donc je crois que bientôt, je vais rajouter une corde à mon arc :wink: pour ranger mes fichiers avec un petit script.
_________________
À LIRE : COMMENT POSTER ET OBTENIR DE L'AIDE ?
Qui suis-je ? Bon j'ai relu, comme d'habitude, je suis bon a rien le vendredi
Qui suis-je ? Je ne serai jamais modo


Last edited by Mickael on Tue Dec 12, 2006 4:59 pm; edited 1 time in total
Back to top
View user's profile Send private message
_Seth_
Guru
Guru


Joined: 15 Sep 2004
Posts: 539
Location: encore paumé dans un labo ;)

PostPosted: Tue Dec 12, 2006 4:57 pm    Post subject: Reply with quote

Juste un truc bête qu'un certain nombre d'entre nous connaissent sans doute déjà : l'intégration de sftp dans konqueror. Je me suis souvent cassé la tête pour de la copie de fichiers sur des bécanes distantes : scp c'est très chiant (surtout quand on a des noms à la con...), sftp c'est quand même plus pratique, mais sftp dans konqueror ça peut permettre de gagner pas mal de temps ;) Il suffit de rentrer dans un onglet de konqueror "sftp://becane.domaine" et hop, une petite boîte de dialogue pour le user/passwd et c'est bon.
_________________
no tears to cry, no feelings left
the species has amused itself to death
amused itself to death
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Dec 12, 2006 5:05 pm    Post subject: Reply with quote

MickTux wrote:


Code:
find . -exec grep -l <ton texte> {} \;




Heu... ce serait pas un peu overkill ça? grep -rl <ton texte> .
Back to top
View user's profile Send private message
Mickael
Advocate
Advocate


Joined: 05 Sep 2005
Posts: 2387
Location: ~Belfort! - France - EU

PostPosted: Tue Dec 12, 2006 5:08 pm    Post subject: Reply with quote

Code:
grep -rl ton_texte /*


Plutôt comme ça non? avec le *

EDIT : Et oui, j'ai mis un point dans la commande find, désolé...

EDIT : T'es dur là, Enlight...
_________________
À LIRE : COMMENT POSTER ET OBTENIR DE L'AIDE ?
Qui suis-je ? Bon j'ai relu, comme d'habitude, je suis bon a rien le vendredi
Qui suis-je ? Je ne serai jamais modo


Last edited by Mickael on Tue Dec 12, 2006 5:26 pm; edited 2 times in total
Back to top
View user's profile Send private message
Magic Banana
Veteran
Veteran


Joined: 13 Dec 2005
Posts: 1912
Location: Belo Horizonte, Minas Gerais, Brasil

PostPosted: Tue Dec 12, 2006 5:11 pm    Post subject: Reply with quote

Je vote Enlight ! La commande de MickTux cherchais récursivement à partir du rèpertoire courrant. Donc :
Code:
grep -rl ton_expression_régulière .
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Dec 12, 2006 5:12 pm    Post subject: Reply with quote

MickTux wrote:
Code:
grep -rl ton_texte /*


Plutôt comme ça non? avec le *


je sais plus, j'ai aps sous la main, mais de mémoire j'aurais dit . vu qu'il opére de manière récursive.

edit : I win! \o/ :lol: MickTux tu vas me copier 3 fois la GPL pour m'avoir fait douter de moi!
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2885
Location: Grenoble, France

PostPosted: Tue Dec 12, 2006 6:33 pm    Post subject: Reply with quote

Tiens je suis con, j'avais commencé un script une fois pour faire cette histoire de renommage pi j'étais tombé sur rename... Bon je m'y plongerai plus tard :)
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Dec 12, 2006 6:35 pm    Post subject: Reply with quote

kopp wrote:
Tiens je suis con, j'avais commencé un script une fois pour faire cette histoire de renommage pi j'étais tombé sur rename... Bon je m'y plongerai plus tard :)


bah rename et son histoire de patterns est sympa mais dans ton cas avec lieu et date qui vont chnager d'une photo à l'autre...
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3772

PostPosted: Tue Dec 12, 2006 6:55 pm    Post subject: Reply with quote

Magic Banana wrote:
Sinon qu'est-ce que tu as contre zsh anigel ? La completion des options c'est tellement bien ! Et puis ce Shell est quand même nettement plus intelligent que le bash. Par exemple la completion suivant un cd ne cherche que parmi les répertoires... Certes, il me seble qu'il ne supporte pas l'Unicode...

Sisi zsh supporte l'unicode, mais seulement en cli pour le moment, pas dans les scripts, mais ça viendra ;)
Moi aussi je trouve zsh bien plus puissant que bash et les autres :
- la complétion intelligente, avec la liste des possibilité de complétion qui s'efface à la validation de la commande, comme ça le shell reste propre
- les expansions de noms de fichiers, genre un ls *(@) va lister tous les liens symboliques, et encore c'est un exemple mineur, il est capable de gérer ça par d'autres types de fichiers, et aussi les modes, owners, etc., et en plus plein de possibilité avec les expressions régulières et tout :)
- il est capable de gérer tout seul ce que font sed, awk, etc. et à ce que j'ai lu, refaire les scripts d'init en utilisant zsh accélère considérablement la vitesse de boot du fait que le nombre d'appels systèmes est diminué
- possibilité d'ajouter un prompt à droite (très important ^^), la possibilité d'executer une fonction avant le lancement d'une commande avec preexec() (et avant le prompt avec precmd() mais ça le bash l'a aussi), etc .bref plein de possibilité de customisation pour le rendre plus pratique et agréable :)
- etc., les pages de man sont assez énormes, comme quoi il est très riche :)
Ça vaut le coup de l'essayer, il est très agréable et très puissant je trouve :) Je n'y suis pas encore passé complètement un peu par manque de temps, mais ça pas tarder ;)

Bon à part ça, j'utilisais Nautilus jusque là pour gérer mes fichiers graphiquement, mais j'utilise de plus en plus la ligne de commande parce que je m'aperçois que je vais bien plus vite avec. La dernière utilisation que j'ai eu de Nautilus c'est pour les partages windows, mais ça ne me sert plus maintenant. Donc je pense qu'il va virer bientôt, et une bonne partie de Gnome avec parce que j'aime de moins en moins, mais là n'est pas le sujet :) Sinon, Konqueror m'a l'air bien mieux que Nautilus en fait, mais je préfère garder ma ligne de commande de toute façon :)
Une solution pour gérer les FS distants qui a l'air pas mal c'est d'utiliser Fuse. J'ai testé sshfs et ça marche pas mal, faudra que j'essaie fusesmb à l'occasion.

Voilà pour ce que j'ai à dire sur le sujet :)
Back to top
View user's profile Send private message
Oupsman
Veteran
Veteran


Joined: 19 Jul 2004
Posts: 1042

PostPosted: Tue Dec 12, 2006 7:04 pm    Post subject: Reply with quote

Personellement, mon home directory n'est pas sous Linux :mrgreen: . Mais si cela peut vous rassurer, je fais assez régulièrement des transferts vers mon serveur Linux pour faire des travaux dans les fichiers.

Y'a un grand classique, c'est la recherche récurssive d'une chaine dans les fichiers d'un sous répertoire (au hasard contenant des scripts PHP). Là un p'tit
Code:

find . -name '*.php' -exec grep -ni 'expr' {} /dev/null ';'


le fait très bien.

Pourquoi ajouter /dev/null après {} ? Tout simplement parce que sinon, grep n'affiche PAS le nom du fichier contenant l'expression, mais juste son numéro de ligne.

Ensuite, ben j'ai toute une collection de oneliners dans mon .sh_history, des trucs que j'écris une fois pour renommer des ensembles de fichiers ou y faire des traitements.

Mais j'en fais pas de scripts, je sais pas pourquoi?
_________________
--
L'idéal de nouveauté semble avoir remplacé l'idéal de progrès. C'est bien triste.

----
Unix philosophy: "Do one thing and do it well."
systemd: "Try to do everything and do it wrong."
Back to top
View user's profile Send private message
Temet
Advocate
Advocate


Joined: 14 Mar 2006
Posts: 2586
Location: 92

PostPosted: Tue Dec 12, 2006 9:12 pm    Post subject: Reply with quote

kaworu wrote:
Salut !
graphiquement j'utilise souvent Konqueror qui a quelques trucs bien sympa comme pouvoir scinder la fenêtre en autant de parties que l'on veut (pratique pour les transferts CD/USB/FTP/SFTP etc)


Dis, sftp, c'est tout pareil que fish ou pas ??? Enfin je vois pas vraiment la différence entre les deux alors du coup je me demande ;)
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Tue Dec 12, 2006 9:20 pm    Post subject: Reply with quote

Temet wrote:
kaworu wrote:
Salut !
graphiquement j'utilise souvent Konqueror qui a quelques trucs bien sympa comme pouvoir scinder la fenêtre en autant de parties que l'on veut (pratique pour les transferts CD/USB/FTP/SFTP etc)


Dis, sftp, c'est tout pareil que fish ou pas ??? Enfin je vois pas vraiment la différence entre les deux alors du coup je me demande ;)


oui sauf que tu le monte quelque part et que tu vas dans le répertoire monté. Y'a aussi shfs qui ne nécessite pas fuse.
Back to top
View user's profile Send private message
nico_calais
l33t
l33t


Joined: 09 Jun 2005
Posts: 628
Location: Saint Julien en Genevois

PostPosted: Wed Dec 13, 2006 10:22 am    Post subject: Reply with quote

J'utilise toujours bash. Etrangement, mon home directory est le seul endroit bien rangé dans mon appart :mrgreen:
_________________
"Unix IS user friendly... It's just selective about who its friends are." — Tollef Fog Heen tollef@add.no
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Wed Dec 13, 2006 2:36 pm    Post subject: Reply with quote

nico_calais wrote:
J'utilise toujours bash. Etrangement, mon home directory est le seul endroit bien rangé dans mon appart :mrgreen:


/me rêve de pouvoir iconifier le borde IRL
Back to top
View user's profile Send private message
Bapt
Veteran
Veteran


Joined: 14 Apr 2003
Posts: 1152
Location: Paris

PostPosted: Wed Dec 13, 2006 5:34 pm    Post subject: Reply with quote

Pour le rangement un petit zsh sous la main permet de faire plein de chose :
Pour range tous les fichiers photos_blabla.* dans le répertoires photos sous le nom vacances_blah_blah_année.*
Code:

zmv 'photos_(*).(*)' 'photos/vacances_$1_année.$2'


bien sûr, tous les globs zsh sont applicables, (suppression, remplacement de caratère, etc)
Il faut au préalable avoir charger zmv biensûr.

Code:
autoload -U zmv
dans son zshrc

zmv permet d'aller beaucoup plus loin, mais c'est déjà sympas :)
Back to top
View user's profile Send private message
_Seth_
Guru
Guru


Joined: 15 Sep 2004
Posts: 539
Location: encore paumé dans un labo ;)

PostPosted: Thu Dec 14, 2006 12:29 am    Post subject: Reply with quote

Une question qui me fout la honte : quelle est la solution la plus rapide pour tarrer + zipper (bz, gz, n'importe) des fichiers ?
Pour l'instant j'utilise encore
Code:
tar -c plein_de_fichiers | gzip -c > plein_de_fichiers.tgz

mais bon je sens bien que c'est pas le plus pratique :oops:
_________________
no tears to cry, no feelings left
the species has amused itself to death
amused itself to death
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2885
Location: Grenoble, France

PostPosted: Thu Dec 14, 2006 12:44 am    Post subject: Reply with quote

Code:
tar -c{j,z}f fichier.tar.{bz2,gz} tes fichiers à compresser
Back to top
View user's profile Send private message
Oupsman
Veteran
Veteran


Joined: 19 Jul 2004
Posts: 1042

PostPosted: Thu Dec 14, 2006 12:53 pm    Post subject: Reply with quote

Euh puis-je vous rappeler que la syntaxe tar -cv[z,j]f est obsolète ?
_________________
--
L'idéal de nouveauté semble avoir remplacé l'idéal de progrès. C'est bien triste.

----
Unix philosophy: "Do one thing and do it well."
systemd: "Try to do everything and do it wrong."
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum