View previous topic :: View next topic |
Author |
Message |
anigel Bodhisattva
Joined: 14 Apr 2003 Posts: 1894 Location: Un petit bled pas loin de Limoges ;-)
|
Posted: Tue Dec 12, 2006 3:33 pm Post subject: [débat] dans les arcanes du shell... |
|
|
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 !
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 et gentoo ne sont que les 2 exemples qui me viennent spontanément à l'esprit, la liste est non limitative).
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 . _________________ 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 |
|
|
Enlight Advocate
Joined: 28 Oct 2004 Posts: 3519 Location: Alsace (France)
|
Posted: Tue Dec 12, 2006 3:50 pm Post subject: |
|
|
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 |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Tue Dec 12, 2006 3:56 pm Post subject: |
|
|
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 |
|
|
Magic Banana Veteran
Joined: 13 Dec 2005 Posts: 1912 Location: Belo Horizonte, Minas Gerais, Brasil
|
Posted: Tue Dec 12, 2006 4:03 pm Post subject: |
|
|
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 |
|
|
Enlight Advocate
Joined: 28 Oct 2004 Posts: 3519 Location: Alsace (France)
|
Posted: Tue Dec 12, 2006 4:05 pm Post subject: |
|
|
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 ) par exemple |
|
Back to top |
|
|
kaworu Guru
Joined: 07 Dec 2005 Posts: 450
|
Posted: Tue Dec 12, 2006 4:14 pm Post subject: |
|
|
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 |
|
|
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Tue Dec 12, 2006 4:30 pm Post subject: |
|
|
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 |
|
|
Mickael Advocate
Joined: 05 Sep 2005 Posts: 2387 Location: ~Belfort! - France - EU
|
Posted: Tue Dec 12, 2006 4:53 pm Post subject: |
|
|
Bon comme tout le monde je présume, de base mv, rm (ha souvenez-vous ) 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 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 |
|
|
_Seth_ Guru
Joined: 15 Sep 2004 Posts: 539 Location: encore paumé dans un labo ;)
|
Posted: Tue Dec 12, 2006 4:57 pm Post subject: |
|
|
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 |
|
|
Enlight Advocate
Joined: 28 Oct 2004 Posts: 3519 Location: Alsace (France)
|
Posted: Tue Dec 12, 2006 5:05 pm Post subject: |
|
|
MickTux wrote: |
Code: | find . -exec grep -l <ton texte> {} \; |
|
Heu... ce serait pas un peu overkill ça? grep -rl <ton texte> . |
|
Back to top |
|
|
Mickael Advocate
Joined: 05 Sep 2005 Posts: 2387 Location: ~Belfort! - France - EU
|
Posted: Tue Dec 12, 2006 5:08 pm Post subject: |
|
|
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 |
|
|
Magic Banana Veteran
Joined: 13 Dec 2005 Posts: 1912 Location: Belo Horizonte, Minas Gerais, Brasil
|
Posted: Tue Dec 12, 2006 5:11 pm Post subject: |
|
|
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 |
|
|
Enlight Advocate
Joined: 28 Oct 2004 Posts: 3519 Location: Alsace (France)
|
Posted: Tue Dec 12, 2006 5:12 pm Post subject: |
|
|
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/ MickTux tu vas me copier 3 fois la GPL pour m'avoir fait douter de moi! |
|
Back to top |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Tue Dec 12, 2006 6:33 pm Post subject: |
|
|
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 |
|
|
Enlight Advocate
Joined: 28 Oct 2004 Posts: 3519 Location: Alsace (France)
|
Posted: Tue Dec 12, 2006 6:35 pm Post subject: |
|
|
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 |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772
|
Posted: Tue Dec 12, 2006 6:55 pm Post subject: |
|
|
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 |
|
|
Oupsman Veteran
Joined: 19 Jul 2004 Posts: 1042
|
Posted: Tue Dec 12, 2006 7:04 pm Post subject: |
|
|
Personellement, mon home directory n'est pas sous Linux . 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 |
|
|
Temet Advocate
Joined: 14 Mar 2006 Posts: 2586 Location: 92
|
Posted: Tue Dec 12, 2006 9:12 pm Post subject: |
|
|
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 |
|
|
Enlight Advocate
Joined: 28 Oct 2004 Posts: 3519 Location: Alsace (France)
|
Posted: Tue Dec 12, 2006 9:20 pm Post subject: |
|
|
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 |
|
|
nico_calais l33t
Joined: 09 Jun 2005 Posts: 628 Location: Saint Julien en Genevois
|
Posted: Wed Dec 13, 2006 10:22 am Post subject: |
|
|
J'utilise toujours bash. Etrangement, mon home directory est le seul endroit bien rangé dans mon appart _________________ "Unix IS user friendly... It's just selective about who its friends are." Tollef Fog Heen tollef@add.no |
|
Back to top |
|
|
Enlight Advocate
Joined: 28 Oct 2004 Posts: 3519 Location: Alsace (France)
|
Posted: Wed Dec 13, 2006 2:36 pm Post subject: |
|
|
nico_calais wrote: | J'utilise toujours bash. Etrangement, mon home directory est le seul endroit bien rangé dans mon appart |
/me rêve de pouvoir iconifier le borde IRL |
|
Back to top |
|
|
Bapt Veteran
Joined: 14 Apr 2003 Posts: 1152 Location: Paris
|
Posted: Wed Dec 13, 2006 5:34 pm Post subject: |
|
|
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.
dans son zshrc
zmv permet d'aller beaucoup plus loin, mais c'est déjà sympas |
|
Back to top |
|
|
_Seth_ Guru
Joined: 15 Sep 2004 Posts: 539 Location: encore paumé dans un labo ;)
|
Posted: Thu Dec 14, 2006 12:29 am Post subject: |
|
|
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 _________________ no tears to cry, no feelings left
the species has amused itself to death
amused itself to death |
|
Back to top |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Thu Dec 14, 2006 12:44 am Post subject: |
|
|
Code: | tar -c{j,z}f fichier.tar.{bz2,gz} tes fichiers à compresser |
|
|
Back to top |
|
|
Oupsman Veteran
Joined: 19 Jul 2004 Posts: 1042
|
Posted: Thu Dec 14, 2006 12:53 pm Post subject: |
|
|
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 |
|
|
|
|
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
|
|