Version imprimable du sujet
Forums MacBidouille _ UNIX _ Les Commandes de TERMINAL
Écrit par : ->bibeboss<- 21 Mar 2006, 14:01
Commandes pour le TERMINAL
Votre screenSaver en fond d'écran: /System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.aap/Contents/MacOS/ScreenSaverEngine-background &
Affiche la date du jour: date
Donne la liste des partitions, leur taille, l'espace restant et l'espace utilisé: df
Affiche les information sur les utilisateur connecter: finger
Fermer la session: logout
Changer son mot de passe: passwd
Réinitialiser le TERMINAL: reset
Affiche le temps depuis que le système est activé: uptime
Afficher les utilisateur connecter: who
Afficher le calendrier de l'année choisi: cal 2006
Voila, maintenant a vous d'en ajouter...
Écrit par : roseau 21 Mar 2006, 14:04
tu viens de découvrir un manuel unix?
Écrit par : ->bibeboss<- 21 Mar 2006, 14:06
Quand il y en aura pas mal sa serais pratique !!!
Écrit par : f_cam 21 Mar 2006, 14:11
CODE
perl -wle '(1 x $_) !~ /^(11+)\1+$/ && print while ++ $_'
Affiche 1 suivi des nombres premiers.
Écrit par : ->bibeboss<- 21 Mar 2006, 14:20
Et comment ont l'arête mis à par forcé a quitter le TERMINAL ???
Écrit par : philjfry 21 Mar 2006, 14:24
Toutes les commandes :
cd /bin ; for i in * ; do whatis $i ; done | more ; cd
En exercice : répéter l'opération pour tous les éléments du $PATH !
CITATION
Et comment ont l'arête mis à par forcé a quitter le TERMINAL ???
pour arrêter, taper ctrl -z !
Écrit par : benja 21 Mar 2006, 14:26
Pour toutes les commandes il y a aussi tabulation deux fois...
Écrit par : OSX-Siby 21 Mar 2006, 14:32
Lire un fichier en continu en partant de la fin ( très utile pour les fichiers log !! )
tail -f nom_du_fichier
liste récursive des répertoires à partir d'un point d'arborescence:
ls -R /Users/seb/Desktop/
Espace libre sur le disque :
df -kb /
# Affiche l'espace disque des répertoires au niveau actuel de l'arborescence
ls -l | du -sh *
Écrit par : f_cam 21 Mar 2006, 14:41
Ne pas oublier non plus http://www.macbidouille.com/articles/164/ de bad_duck
Écrit par : Origin 21 Mar 2006, 18:10
CITATION(philjfry @ 21 Mar 2006, 14:24) [snapback]1612782[/snapback]
Toutes les commandes :
cd /bin ; for i in * ; do whatis $i ; done | more ; cd
En exercice : répéter l'opération pour tous les éléments du $PATH !
CITATION
Et comment ont l'arête mis à par forcé a quitter le TERMINAL ???
pour arrêter, taper ctrl -z !
Heu, le CTRL-Z stoppe le programme en cours, certes, mais ne le supprime pas pour autant, on peut le relancer (comme tout unix) par un petit "fg" en ligne de commande.
l'arrêt d'un process sur un terminal (quand c'est possible) c'est CTRL-C plutôt
Écrit par : zoz_mac 21 Mar 2006, 18:16
oui l'idée est pas mauvaise, mais est-ce vraiment nécessaire d'afficher les 250 commandes d'unix ici? ne serait il pas plus simple de consulter des sites à ce propos comme la http://www.linuxfr.org ou de prendre un bouquin??
Écrit par : Dj No Smile 21 Mar 2006, 20:34
Control-Z, c'est pour suspendre un processus, pas pour l'arrêter... Pour l'arrêter, c'est control-C...
Sinon, je constate que personne ne donne la commande la plus utile dans un shell : man...
Écrit par : guerom00 21 Mar 2006, 23:57
Ctrl-D : logout
Ctrl-L : efface le Terminal
Ctrl-A / Ctrl-E : aller au début / fin de la ligne
w : pareil que finger ou who
lsa : en faire un alias pour "ls -al"
et faites vous un alias aussi pour "ls -alrt | tail"
Écrit par : macmacmac 22 Mar 2006, 00:29
CITATION(->bibeboss<- @ 21 Mar 2006, 14:06) [snapback]1612752[/snapback]
Quand il y en aura pas mal sa serais pratique !!!
marrant ta signature contre contre les fautes volontaires et le languages sms quand on voit ton message…
CITATION(->bibeboss<- @ 21 Mar 2006, 14:20) [snapback]1612775[/snapback]
Et comment ont l'arête mis à par forcé a quitter le TERMINAL ???
c'est volontaire où quoi toutes ces fautes???!!!
Écrit par : iLux 22 Mar 2006, 09:17
CITATION(guerom00 @ 21 Mar 2006, 23:57) [snapback]1613794[/snapback]
Ctrl-A / Ctrl-E : aller au début / fin de la ligne
Ça, ça marche dans toutes les applis Cocoa
Écrit par : ->bibeboss<- 22 Mar 2006, 14:53
CITATION(macmacmac @ 22 Mar 2006, 00:29) [snapback]1613831[/snapback]
CITATION(->bibeboss<- @ 21 Mar 2006, 14:20) [snapback]1612775[/snapback]
Et comment ont l'arête mis à par forcé a quitter le TERMINAL ???
c'est volontaire où quoi toutes ces fautes???!!!
NON gloup'sss
Écrit par : guerom00 22 Mar 2006, 15:11
which : vous indique oú se trouve une commande particulière. Et si vous avez plusieurs instances d'une commande d'installé, vous indique laquelle sera utilisé (en fonction du $path).
rehash : [tcsh] "mets à jour" les commandes de votre $path. Si vous installer une toute nouvelle commande dans un endroit inclus dans votre $path, celle-ci sera disponible après un rehash.
source : [tcsh] généralement utilisé pour exécuter des définitions de variables environnementales se trouvant dans un fichier. Par exemple, après avoir modifié votre ~/.cshrc, mettre tout ça à jour avec un "source ~/.cshrc".
Écrit par : turtlesquale 5 Apr 2006, 17:11
CITATION(->bibeboss<- @ 21 Mar 2006, 15:01) [snapback]1612743[/snapback]
Commandes pour le TERMINAL
Afficher les utilisateur connecter: who
Afficher le calendrier de l'année choisi: cal 2006
Voila, maintenant a vous d'en ajouter...
Heu... ses 2 commandes ne fonctionnent pas chez moi en tout cas, des collègues ce connectent et j'ai beau faire la commande
who je ne les vois pas
Et pour le calendrier
tcsh: cal2006: Command not found.
Écrit par : guerom00 5 Apr 2006, 19:17
CITATION(turtlesquale @ 5 Apr 2006, 12:11) [snapback]1634732[/snapback]
Et pour le calendrier tcsh: cal2006: Command not found.
Il y a un espace entre cal et 2006 : "cal" est le nom de la commande, "2006" est l'argument.
Écrit par : Hyp 5 Apr 2006, 19:19
Hello,
je profite de ce post pour une question de syntaxe:
CODE
cd /toto;mkdir test
Essaye de passer dans toto et crée test même si toto n'existe pas;
CODE
cd /toto && mkdir test
Crée le dossier test uniquement si toto existe ?
Écrit par : guerom00 5 Apr 2006, 19:28
CITATION(Hyp @ 5 Apr 2006, 14:19) [snapback]1635041[/snapback]
Hello,
je profite de ce post pour une question de syntaxe:
CODE
cd /toto;mkdir test
Essaye de passer dans toto et crée test même si toto n'existe pas;
CODE
cd /toto && mkdir test
Crée le dossier test uniquement si toto existe ?
Oui.
En fait, dans ton premier exemple, si /toto n'existe pas, ça créera test là où tu es...
Écrit par : Hyp 5 Apr 2006, 19:31
Merci
C'est pour ça que quand j'ai tapé cd .Trash;rm -rf * alors que je n'étais pas dans ~ j'ai tout cassé mon home
Écrit par : Dj No Smile 5 Apr 2006, 19:32
CITATION(turtlesquale @ 5 Apr 2006, 18:11) [snapback]1634732[/snapback]
des collègues ce connectent et j'ai beau faire la commande
who je ne les vois pas
A mon avis, il doivent être connecté en ssh... Sinon, la commande "w" est plus complête que "who"...
Écrit par : schlum 5 Apr 2006, 21:54
CITATION(Hyp @ 5 Apr 2006, 20:31) [snapback]1635069[/snapback]
Merci
C'est pour ça que quand j'ai tapé cd .Trash;rm -rf * alors que je n'étais pas dans ~ j'ai tout cassé mon home
C'est le genre de commande à ne jamais taper
Écrit par : Hyp 5 Apr 2006, 21:56
CITATION(schlum @ 5 Apr 2006, 22:54) [snapback]1635428[/snapback]
CITATION(Hyp @ 5 Apr 2006, 20:31) [snapback]1635069[/snapback]
Merci
C'est pour ça que quand j'ai tapé cd .Trash;rm -rf * alors que je n'étais pas dans ~ j'ai tout cassé mon home
C'est le genre de commande à ne jamais taper
Ouais, ça m'a servi de leçon (musclée, la leçon
)
Écrit par : schlum 5 Apr 2006, 22:23
CODE
#!/bin/bash
ligne=`disktool -l | grep "volName = '$1'"`
device=`echo $ligne | sed "s/.*'\(disk.*\)',Mount.*/\1/"`
device="/dev/$device"
hdiutil unmount $device
Pour démonter un volume...
CODE
#!/bin/bash
ligne=`disktool -l | grep "volName = '$1'"`
device=`echo $ligne | sed "s/.*'\(disk.*\)',Mount.*/\1/"`
device="/dev/$device"
hdiutil mountvol $device
Opération inverse... Monter un volume.
CODE
#!/bin/sh
ps auxwww | grep $1 | grep -v grep | grep -v "$$.*$0" |
while read user pid v1 v2 v3 v4 v5 v6 v7 v8 reste; do
echo -n "Suppression du processus \"$reste\" (pid $pid, utilisateur $user) ..."
kill -9 $pid
echo "done"
done
Pour tuer un processus avec une partie de son nom (attention aux drôles d'effets s'il y a d'autres processus contenant cette partie de nom
)
CODE
#!/bin/sh
iconv -f L1 -t MAC "$1" > "_$1"
Conversion de Latin-1 à l'encodage Mac
CODE
#!/bin/bash
#
esc="\033["
echo -n " _ _ _ _ _40 _ _ _ 41_ _ _ _ 42 _ _ _ 43"
echo "_ _ _ 44_ _ _ _45 _ _ _ 46_ _ _ _47 _"
for fore in 30 31 32 33 34 35 36 37;do
line1="$fore "
line2=" "
for back in 40 41 42 43 44 45 46 47; do
line1="${line1}${esc}${back};${fore}m Normal ${esc}0m"
line2="${line2}${esc}${back};${fore};1m Bold ${esc}0m"
done
echo -e "$line1\n$line2"
done
Joli rappel sur la gestion des couleurs dans le terminal (pas de moi ; "Précision Mac" si je me souviens bien)
CODE
#!/bin/bash
cd $1
ch=`pwd`
printf "<HTML>\n<HEAD>\n<TITLE>Visualiseur de gifs pour le dossier $ch/</TITLE>\n<\HEAD>\n<BODY>\n<TABLE BORDER=2 ALIGN='CENTER'>\n" > page_generee.html
for i in *.gif; do
printf "<TR ALIGN='center'><TD><IMG src='./$i'><BR></TD><TD>$i</TD>\n" >> page_generee.html
done
printf "</TABLE>\n</BODY>\n</HTML>\n" >> page_generee.html
Créer une page HTML qui présente une collection de gifs
CODE
curl -s --url www.whatismyip.com | tr '<' '\n' | grep -i "^title>" | sed "s/^[^0-9]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)[^0-9]*$/\1/"
Récupérer son IP externe
CODE
#!/bin/sh
latex $1.tex
dvips $1.dvi -o $1.ps
ps2pdf14 -sPAPERSIZE=a4 -dMaxSubsetPct=100 -dCompatibilityLevel=1.2 -dSubsetFonts=true -dEmbedAllFonts=true -dAutoFilterColorImages=false -dAutoFilterGrayImages=false -dColorImageFilter=/FlateEncode -dGrayImageFilter=/FlateEncode -dModoImageFilter=/FlateEncode $1.psrm -rf $1.ps $1.log $1.aux $1.dvi
Créer un pdf à partir d'un .tex (mieux que "tex2pdf" et customisable)
CODE
sudo /etc/daily
echo ""
echo ""
echo ""
sudo /etc/weekly
echo ""
echo ""
echo ""
sudo /etc/monthly
echo ""
echo ""
echo ""
Gros nettoyage
CODE
#!/bin/bash
osascript -e 'tell application "Finder" to display dialog "Mon beau message" '
Faire afficher un message AppleScript dans le Finder...
Idéal pour faire peur aux amis en ssh
CODE
ps -auxww
Liste de tous les processus en cours
CODE
top -o cpu
Pour voir ce qui bouffe votre processeur
CODE
find . -name "*nom*"
Recherche des fichiers / répertoires dont le nom contient "nom" dans l'emplacement en cours
CODE
find . -exec grep "expreg" {} \; -print 2> /dev/null
Recherche d'une expression régulière dans les fichiers
CODE
sudo ipfw -fq flush && sudo ipfw -q /etc/firewall.conf
Vider son firewall et lire les instructions firewall dans le fichier /etc/firewall.conf
CODE
open -a nom_appli fichier
Ouvrir un document avec une application particulière
CODE
/Applications/Nom_appli.app/Contents/MacOS/nom_appli
Lancer une appli Cocoa (on peut aussi lancer plusieurs instances de la même application) ; ajouter "sudo" devant permet d'avoir les droits root en plus dans l'application.
CODE
ioreg -w0 -l | grep IOBatteryInfo
Informations sur la batterie (charge) pour un portable ; fonctionnait sur mon iBook y a longtemps... Je ne sais pas si c'est encore d'actualité.
CODE
netstat -n -f inet
Pas mal d'informations sur les connexions en cours
CODE
sudo lsof -n | grep "nom"
Savoir quelles applications utilisent les fichiers dont le nom contient "nom"
Écrit par : fgiron 6 Apr 2006, 10:19
CITATION(schlum @ 5 Apr 2006, 23:23) [snapback]1635438[/snapback]
CODE
#!/bin/bash
#
esc="\033["
echo -n " _ _ _ _ _40 _ _ _ 41_ _ _ _ 42 _ _ _ 43"
echo "_ _ _ 44_ _ _ _45 _ _ _ 46_ _ _ _47 _"
for fore in 30 31 32 33 34 35 36 37;do
line1="$fore "
line2=" "
for back in 40 41 42 43 44 45 46 47; do
line1="${line1}${esc}${back};${fore}m Normal ${esc}0m"
line2="${line2}${esc}${back};${fore};1m Bold ${esc}0m"
done
echo -e "$line1\n$line2"
done
Joli rappel sur la gestion des couleurs dans le terminal (pas de moi ; "Précision Mac" si je me souviens bien)
Je confirme pour la source :
Précision Mac n° 5, p. 22-27. Bizarrement, je n'ai j'amais réussi à obtenir un alignement parfait de mes colonnes (encodage de mon Terminal?). Oups : c'est corrigé: je débutais alors avec le Terminal et je n'avais pas vu que c'est là qu'il y avait problème : line2=" ".
CITATION(schlum @ 5 Apr 2006, 23:23) [snapback]1635438[/snapback]
CODE
curl -s --url www.whatismyip.com | tr '<' '\n' | grep -i "^title>" | sed "s/^[^0-9]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)[^0-9]*$/\1/"
Récupérer son IP externe
Il n'y a aucune autre possibilité que de passer par un site pour récupérer son adresse externe (directement par une commande interne) ?
Et puis ma petite contribution pour afficher un calendrier francisé (mais sans l'accentuation).
CODE
#!/bin/sh
# alternative à echo pour un script entièrement en awk :
# awk 'BEGIN{ print strftime("%x", systime()) }'
echo $(date "+%e/%m/%Y") |\
/sw/bin/awk '{ split("Janvier/Fevrier/Mars/Avril/Mai/Juin/Juillet/Aout/\
Septembre/Octobre/Novembre/Decembre",arr,"/"); \
split($0,arg,"/"); a=" " int(arg[1]) " " arr[int(arg[2])] " " arg[3]; \
print substr(" ",1,(21-length(a))/2) a; }'; cal |\
/sw/bin/awk '{ getline; print " Lu Ma Me Je Ve Sa Di"; getline; \
if (substr($0,1,2) == "1") print " 1"; \
do { prevline=$0; if (getline == 0) exit; print "" substr(prevline,4,17) \
" " substr($0,1,2) " "; } while (1) }' | /sw/bin/awk -v cday=$(date "+%d") \
'{ fill=(int(cday)>9?"":" "); a=$0; sub(" "fill int(cday)" ",\
" "fill int(cday)" ",a); print a }'
J'utilise la version livrée par fink de awk. Il faut changer les /sw/bin/awk par awk, tout simplement.
Écrit par : Hyp 6 Apr 2006, 10:26
CITATION(schlum @ 5 Apr 2006, 23:23) [snapback]1635438[/snapback]
CODE
curl -s --url www.whatismyip.com | tr '<' '\n' | grep -i "^title>" | sed "s/^[^0-9]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)[^0-9]*$/\1/"
Récupérer son IP externe
Ca récupère l'ip dans le titre de la page de whatismyip.com c'est ça ?
Écrit par : pardon 6 Apr 2006, 11:22
CODE
#!/bin/rm
exit 0
deux bases possibles de références pour qui veut jouer avec Bash :
http://www.faqs.org/docs/bashman/bashref.html
http://www.faqs.org/docs/abs/HTML/
Écrit par : fgiron 6 Apr 2006, 12:16
CITATION(Hyp @ 6 Apr 2006, 11:26) [snapback]1636081[/snapback]
CITATION(schlum @ 5 Apr 2006, 23:23) [snapback]1635438[/snapback]
CODE
curl -s --url www.whatismyip.com | tr '<' '\n' | grep -i "^title>" | sed "s/^[^0-9]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)[^0-9]*$/\1/"
Récupérer son IP externe
Ca récupère l'ip dans le titre de la page de whatismyip.com c'est ça ?
Oui, c'est cela.
Écrit par : fgiron 17 Apr 2006, 22:22
Pour connaître la date des 10 dernières opérations de maintenance de l'année en cours:
CODE
% cat /var/log/daily.out | grep "$(date +%Y)" | tail -10
En fait,
grep "$(date +%Y)" est surtout nécessaire pour sélectionner la ligne où se trouve la date.
Écrit par : p1ngu01 17 Apr 2006, 22:52
CITATION(->bibeboss<- @ 21 Mar 2006, 15:01) [snapback]1612743[/snapback]
Votre screenSaver en fond d'écran: /System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.aap/Contents/MacOS/ScreenSaverEngine-background &
salut, je n'ai jamais vraiment utilisé le terminal
et lorsque j'ai essayé de faire la commande ci-dessus, ca n'a pas marché (no such file or directory). faut-il completer la commande avec le nom du screensaver?
MERCI
Écrit par : bad_duck 17 Apr 2006, 23:17
CODE
sudo halt
(man est votre ami
)
Écrit par : philjfry 17 Apr 2006, 23:23
CITATION(p1ngu01 @ 17 Apr 2006, 23:52) [snapback]1653561[/snapback]
CITATION(->bibeboss<- @ 21 Mar 2006, 15:01) [snapback]1612743[/snapback]
Votre screenSaver en fond d'écran: /System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.aap/Contents/MacOS/ScreenSaverEngine_ _-background &
salut, je n'ai jamais vraiment utilisé le terminal
et lorsque j'ai essayé de faire la commande ci-dessus, ca n'a pas marché (no such file or directory). faut-il completer la commande avec le nom du screensaver?
MERCI
il y a des phôtes d'orthographe, la commande correcte :
CODE
/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &
Écrit par : p1ngu01 18 Apr 2006, 10:01
Merci bien, j'ai essayé ca dans le terminal et ca marche, cependant j'ai essayé de faire ca dans applescript et ca lance le truc mais apres applescript plante :
CODE
do shell script "/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &"
Écrit par : philjfry 18 Apr 2006, 23:45
Pour t'en servir avec applescript, il faut changer un peu la commande :
CODE
try
do shell script "/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &>/dev/null &"
end try
Pour arrêter tu devras utiliser le moniteur d'activité (ou le terminal) pour quitter l'application ScreenSaverEngine (ou en quittant ta session, ou en éteignant la machine)
Écrit par : guerom00 18 Apr 2006, 23:55
CITATION(philjfry @ 18 Apr 2006, 18:45) [snapback]1655139[/snapback]
Pour t'en servir avec applescript, il faut changer un peu la commande :
CODE
try
do shell script "/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &>/dev/null &"
end try
Pour arrêter tu devras utiliser le moniteur d'activité (ou le terminal) pour quitter l'application ScreenSaverEngine (ou en quittant ta session, ou en éteignant la machine)
Intéressant...
Quel est le shell utilisé lors de l'utilisation de "do shell script" dans un Applescript ? bash ? sh ?
Écrit par : Alex_hihi 19 Apr 2006, 00:02
Je suis fan de ce topic : je n'y comprend rien !!!
Écrit par : pardon 19 Apr 2006, 01:16
CITATION(guerom00 @ 19 Apr 2006, 00:55) [snapback]1655149[/snapback]
Quel est le shell utilisé lors de l'utilisation de "do shell script" dans un Applescript ? bash ? sh ?
CITATION(do shell script in AppleScript)
do shell script always uses /bin/sh to interpret your command, not your default shell, which Terminal uses.
What shell does do shell script use, really?
do shell script always calls /bin/sh. However, in Mac OS X, /bin/sh is really a copy of another shell that emulates sh. In 10.2 and later, this is bash; prior to that it was zsh.
http://developer.apple.com/technotes/tn2002/tn2065.html
Écrit par : p1ngu01 19 Apr 2006, 02:04
salut,
c'est encore moi, pour quitter ScreenSaverEngine.app en utlisant un "do shell script", je dois faire comment? J'ai essayé de voir sur internet, y'a la fonction kill mais j'ose pas trop la tester dans le terminal.
Merci
Écrit par : pardon 19 Apr 2006, 02:08
kill pid
pid obtenu avec top -ocpu par exemple
Écrit par : guerom00 19 Apr 2006, 02:18
Ou alors killall qui marche avec le nom du processus (peut-être plus facile... )
Écrit par : pardon 19 Apr 2006, 02:22
oui, oui, d'autant que j'avais mal lu : c'était pour le faire dans un do shell script, donc manquait des options etc. pour récupérer le pid par top
killall ScreenSaverEngine devrait aller très bien
Écrit par : philjfry 19 Apr 2006, 03:50
Ou encore, pour connaitre le pid, ajouter echo $! à la commande et le récupérer , par exemple :
CODE
try
do shell script "/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &>/dev/null & echo $!"
set monPid to the result
end try
-- puis plus tard
do shell script "kill " & monPid
[small]La tn2065 , où j'avais déjà trouvé le truc du
&>/dev/null tout à l'heure est très utile ![/small]
Écrit par : pardon 19 Apr 2006, 05:02
mais ça impose de ne pas avoir quitté l'applescript tout le temps où le SS tourne
ça me semble mieux de tester au lancement si ScreenSaverEngine tourne, et soit le lancer soit le tuer
Écrit par : p1ngu01 19 Apr 2006, 10:15
salut, j'ai reussi a faire ce que je voulais :
CODE
property x : false
if x is false then
try
do shell script "/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &>/dev/null &"
set x to true
end try
else
try
do shell script "killall ScreenSaverEngine"
set x to false
end try
end if
ps : peut etre serait-il judicieux de changer le probleme de frappe dans le premier post (.aap -> .app)
Écrit par : philjfry 25 Apr 2006, 17:50
On peut aussi choisir le module avec l'option -m NomDuModule , pex :
/System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -module Forest -background &
(merci guerom00 http://forum.macbidouille.com/index.php?showtopic=169453 )
Écrit par : Hyp 8 May 2006, 22:01
Bien le bonjour,
un pro du Terminal saurait-il m'indiquer une commande qui affiche l'espace disque dispo et utilisé en Go et Mo ? Dans le style de "df" mais en unités compréhensibles
Merci d'avance
Écrit par : bad_duck 8 May 2006, 22:03
Les unités incompréhensibles de df sont juste des Ko
Écrit par : guerom00 8 May 2006, 22:04
CITATION(Hyp @ 8 May 2006, 17:01) [snapback]1686085[/snapback]
Bien le bonjour,
un pro du Terminal saurait-il m'indiquer une commande qui affiche l'espace disque dispo et utilisé en Go et Mo ? Dans le style de "df" mais en unités compréhensibles
Merci d'avance
option -h
(je pense pour
human readable
)
EDIT : après un petit tour dans la man page, ça veut bien dire Human-readable
Écrit par : UnAm 5 Jun 2006, 13:07
Salut tout le monde
Schlum, j'ai tapé la commande que tu as donné pour afficher la charge de la batterie... seulement voilà, elle n'a plus l'air d'être d'actualité
Voilà ce que mon «Gros» (comme ça que je l'ai appelé ) me donne:
CITATION("Gros")
usage: ioreg [-b] [-c class | -l | -n name] [-p plane] [-s] [-w width] [-x]
where options are:
-b show object name in bold
-c list properties of objects with the given class
-l list properties of all objects
-n list properties of objects with the given name
-p traverse registry over the given plane (IOService is default)
-s show object state (eg. busy state, retain count)
-w clip output to the given line width (0 is unlimited)
-x print numeric property values in hexadecimal
Autrement, je cherche une commande qui m'indique les débits up/download (à la menumeters, mais sans menumeters
) :oops:
Écrit par : Cochonou 6 Jun 2006, 06:48
Pourtant, cela marche encore chez moi (10.4.6, powerbook g4 avril 2004).
CITATION
FlyingPig:~ cochonou$ ioreg -w0 -l | grep IOBatteryInfo
| | | "IOBatteryInfo" = ({"Capacity"=4025,"Amperage"=0,"Cycle Count"=100,"Current"=3945,"Voltage"=12402,"Flags"=1090519045,"AbsoluteMaxCapacity"=4400})
| | | | "IOBatteryInfo" = ({"Capacity"=4025,"Amperage"=0,"Cycle Count"=100,"Current"=3945,"Voltage"=12402,"Flags"=1090519045,"AbsoluteMaxCapacity"=4400})
Écrit par : Hyp 1 Jul 2006, 14:51
Hello,
je cherche à obtenir mon IP locale (Airport);
pour l'instant:
CODE
var=`ifconfig en1 | grep netmask`;echo ${var:5:9};
Ne marche qu'avec des IPs de type 10.0.1.XX, quelqu'un a peut-être une meilleure idée ?
[small]Merci à
Fotz pour le ifconfig
[/small]
Écrit par : pardon 1 Jul 2006, 15:17
$ ifconfig en1 | grep netmask | awk '{print $2}'
ou bien
$ ifconfig en1 | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | head -n 1
mais il y a peut-être mieux que passer par ifconfig
Écrit par : Hyp 1 Jul 2006, 16:11
Si je comprends bien , pour la première méthode, awk prend le 2ème.. résultat, enfin ce qui vient après "inet" cad l'IP, qu'a renvoyé ifconfig en1 | grep netmask ?
Merci en tout cas
Écrit par : Fotz 1 Jul 2006, 16:46
CITATION(Hyp @ 1 Jul 2006, 18:11) [snapback]1767599[/snapback]
Si je comprends bien , pour la première méthode, awk prend le 2ème.. résultat, enfin ce qui vient après "inet" cad l'IP, qu'a renvoyé
ifconfig en1 | grep netmask ?
Merci en tout cas
Yep.
En awk, le print $x va te renvoyer le champ 'x' selon le séparateur de champ (FS). Et par défaut, ce séparateur est le caractère "espace"
Écrit par : yoman 1 Jul 2006, 17:21
Salut,
Vous pouvez trouver une liste des commandes dans OnyX, Onglet Utilitaires. man.
Ou encore, je l'ai trouvé y'a 2 jours, un petit soft nomméhttp://www.macupdate.com/info.php/id/21696, optimisé PPC mais fonctionne sur Intel.
Écrit par : Hyp 11 Jul 2006, 16:01
Bonjour,
je repose ici [small]un peu différemment[/small] ma http://forum.macbidouille.com/index.php?s=&showtopic=146031&view=findpost&p=1780346; est-il possible de récuperer un flux RSS à l'aide du Terminal ?
Écrit par : guerom00 11 Jul 2006, 16:15
CITATION(Hyp @ 11 Jul 2006, 17:01) [snapback]1781490[/snapback]
Bonjour,
je repose ici [small]un peu différemment[/small] ma http://forum.macbidouille.com/index.php?s=&showtopic=146031&view=findpost&p=1780346; est-il possible de récuperer un flux RSS à l'aide du Terminal ?
Bah dans le Terminal, tu récupéreras (au mieux) un fichier html... Donc ça ne t'avance pas...
As-tu regardé du coté de Vienna et NetNewsWire : ce sont 2 lecteurs RSS très populaires...
Écrit par : Hyp 11 Jul 2006, 17:04
CITATION(guerom00 @ 11 Jul 2006, 17:55) [snapback]1781586[/snapback]
tu peux aussi utiliser l'économiseur d'écran RSS Visualizer et Quartz Desktop
Ah oui j'avais vu ça
CITATION
Mais ça risque d'être un peu psychédélique à la longue
Ouais, je pense aussi
Bon, je suis en train de me prendre la migraine en esseyant de récupérer le contenu des news dans la page de MacBid'
Écrit par : EtienneC 11 Jul 2006, 17:19
CITATION(Hyp @ 11 Jul 2006, 17:01) [snapback]1781490[/snapback]
Bonjour,
je repose ici [small]un peu différemment[/small] ma http://forum.macbidouille.com/index.php?s=&showtopic=146031&view=findpost&p=1780346; est-il possible de récuperer un flux RSS à l'aide du Terminal ?
Snownews via fink :
http://kiza.kcore.de/software/snownews/index.en
Assez spécial à utiliser. Et pour le couplage avec geektool, je doute un peu
Écrit par : Hyp 11 Jul 2006, 20:11
CITATION(EtienneC @ 11 Jul 2006, 18:19) [snapback]1781628[/snapback]
CITATION(Hyp @ 11 Jul 2006, 17:01) [snapback]1781490[/snapback]
Bonjour,
je repose ici [small]un peu différemment[/small] ma http://forum.macbidouille.com/index.php?s=&showtopic=146031&view=findpost&p=1780346; est-il possible de récuperer un flux RSS à l'aide du Terminal ?
Snownews via fink :
http://kiza.kcore.de/software/snownews/index.en
Assez spécial à utiliser. Et pour le couplage avec geektool, je doute un peu
J'ai jeté un oeil dessus, et j'ai peur que ça ne fonctionne pas avec GT
Mais merci quand même pour l'info
Sinon 2 pistes:
* Essayer d'utiliser http://www.mackers.com/projects/theyoke/, je ne comprends pas comment l'installer [small]mais merci
Fotz pour le lien
[/small]
* Ou poursuivre "à la main"; je cherche à faire un truc dans ce style pour commencer [small]ben ouais je débute
[/small]:
CODE
test=`curl http://www.macbidouille.com/`
grep "Macbidouille" $test
Je me suis trompé quelque part (ça ne marche pas
) mais où ?
Écrit par : guerom00 11 Jul 2006, 20:41
Si tu veux pas te prendre la tête, je suis pratiquement sûr qu'il y a un widget Dashboard ou Konfabulator qui fait ça...
Pourquoi tu ne développerais pas un widget MacBidouille Tu as Dashcode ?
Écrit par : Fotz 11 Jul 2006, 20:46
CITATION(guerom00 @ 11 Jul 2006, 21:41) [snapback]1781897[/snapback]
Si tu veux pas te prendre la tête, je suis pratiquement sûr qu'il y a un widget Dashboard ou Konfabulator qui fait ça...
Pourquoi tu ne développerais pas un widget MacBidouille
Tu as Dashcode ?
Je n'ai jamais dévloppé de widgets mais je suis partant pour un développement collaboratif (qu'on ferait tous ensemble via SubEthaEdit par exemple)
Écrit par : Hyp 11 Jul 2006, 21:25
Ouff
CODE
curl http://www.macbidouille.com | grep "li class" | awk -F[\<\>] '{print $5}'
CITATION
Macplus en rade
Comprendre l'architecture Core 2 Duo
Test du K800 et de son usage avec un Mac
Les amours d'Apple et de la grande distribution
Des processeurs Intel 32 cores en 2010
Ricoh progresse sur un lecteur hybride pour les lasers bleus
Les graveurs Blu-Ray retard?s ? cause d'une p?nurie de diodes
La photo des Macbidouilleurs
Apple et Dashboard
Promos d'?t? chez les grossistes
Les photos ne sont pas contractuelles
Offre d'emploi
Pilotes HP en Universal Binaries
Nouvelle carte m?re pour les MacBook Pro
Sortie de Enfocus PitStop 7
AACS si simplement contournable ?
Encore un gros Refurb
Apple met le paquet sur le festival de Jazz de Montreux
Les d?fauts de fabrication arrivent m?me aux meilleurs
AOL va devenir gratuit aux Etats Unis
Un logiciel de gestion d'emploi du temps pour le milieu de l'?ducation
iMac ?ducation sur le Store
Sophos recommande le Mac
L'iPod killer de MS sortira d'ici No?l
Écrit par : Hyp 31 Jul 2006, 17:28
Hello,
sur un forum je viens de trouver ça:
CITATION
For those who are interested, I found a way to show airport signal strength (and other airport info). Download http://www.macstumbler.com/airport.tar.gz and find a place for it (I put mine in /usr/local/bin). After that, it's pretty easy. This is the script that I ended up using, it uses backslashes for a 10-bar display, then shows the percentage.
CODE
/usr/local/bin/airport | awk 'NR == 2 {for (a=10;a>0;a-=1) if ($1 / 10 < a) printf("`"); else printf("\\"); print " " $1}'
It was a lucky thing that I found this program, I was looking for stumbler software source code at the time to try to write something similar.
J'essaye de faire fonctionner le truc; j'ai placé le dossier "airport" au même endroit que l'auteur, essayé d'éxecuter sa commande dans le Terminal..
Ca ne marche pas.
J'ai du sauter une étape, je suppose qu'il doit falloir rendre exécutable un machin, ou quelque chose comme ça, mais quoi ?
Écrit par : guerom00 31 Jul 2006, 17:56
Ce que tu télécharges n'est pas compilé.
Après avoir décompressé, tu as un répertoire airport qui contient plusieurs fichiers.
Tu te mets dans ce répertoire et tape make :
CODE
$ cd ~/Desktop/airport !!! enfin, là où tu as mis ce dossier...
$ make
Après la compilation, tu obtiendras un exécutable nommé airport
que tu peux mettre par exemple dans /usr/local/bin
CODE
$ cp ~/Desktop/airport/airport /usr/local/bin/
Tu pourras ensuite faire un copier-coller de la commande que tu cites.
Voilà
Écrit par : guerom00 31 Jul 2006, 18:29
CITATION(Hyp @ 31 Jul 2006, 19:25) [snapback]1807641[/snapback]
Ben là je viens d'installer XCode et ça marche parfaitement
Cool
C'est donc XCode qui t'installe make ?
Je croyais que c'était standard...
Écrit par : zoz_mac 31 Jul 2006, 18:53
non c'est xcode qui t'installe tout ce qui faut pour compiler aisement, notamment si tu utilises fink ou que tu compiles c'est indispensable (a moins bien sur si tu veux t'amuser à installer les pkg à la min )
Écrit par : Hyp 1 Aug 2006, 17:23
Hello,
je passe du coq à l'âne
Est-il possible de récuperer des infos sur la chanson en cours (iTunes) à l'aide du Terminal ?
Je sais que c'est possible à l'aide d'Applescript
Écrit par : Hyp 1 Aug 2006, 18:31
Bon pour l'instant
CODE
tell application "iTunes"
artist of current track & "
" & name of current track & "
" & time of current track
end tell
CODE
osascript /iTunes_info.scpt
Si quelqu'un a mieux..
Écrit par : Val1984 1 Aug 2006, 22:28
CITATION(guerom00 @ 31 Jul 2006, 19:29) [snapback]1807649[/snapback]
C'est donc XCode qui t'installe make ?
Je croyais que c'était standard...
Oui, les outils de développement sont installés avec XCode (de toute façon, make n'aurait qu'assez peu d'intérêt sans gcc/g++
).
Écrit par : Hyp 2 Aug 2006, 22:17
Salut à vous Macbidoulleuses et eurs [small]c'est encore moi[/small]
Continuant mes investigations Terminalesques j'ai cherché à afficher cette fois l'état de ma connexion Internet; alors j'ai pondu une commande qui m'a l'air très lourde, longue et peu pas du tout optimisée donc si quelqu'un a une / des idée(s) pour arranger ça
CODE
echo $(if ping -c 5 www.google.fr | grep "bytes"; then echo "Connection: Active"; else echo "Connection: Inactive"; fi | grep "Connection" | awk '{print $(NF-1)" "$(NF)}')
Écrit par : pardon 3 Aug 2006, 11:27
bonjour la complication
[small]aucune idée s'il y a un meilleur moyen pour savoir cela, mais pour simplement améliorer ta commande tu pourrais[/small] plutôt faire :
CODE
if ping -oqc 5 www.google.fr >/dev/null 2>&1; then echo Connexion active; else echo Connexion inactive; fi
Écrit par : pardon 3 Aug 2006, 11:51
CITATION(Hyp @ 3 Aug 2006, 12:36) [snapback]1811975[/snapback]
comme un sourd
fait pareil en répondant
édité pour un peu simplifier/améliorer encore
Écrit par : Hyp 3 Aug 2006, 11:55
Tu peux m'expliqer le changement je ne comprends pas ">/dev/null 2>&1"
Écrit par : pardon 3 Aug 2006, 12:03
pas besoin de greper la sortie : ping sort en 0 si une réponse a eu lieu
le -o permet de s'arrêter à la première réponse
on renvoit la sortie d'erreur sur la sortie standard qui a elle-même été redirigée sur /dev/null afin d'éviter les affichage parasitaires (cause de mon édition) … donc le -q de ping n'est pas vaiment utile en fait ici
je te renvoie sur les liens que j'ai donné en page 1
Écrit par : Hyp 3 Aug 2006, 12:19
Merci pour l'explication
Écrit par : Das_Huhn 6 Aug 2006, 13:19
CITATION(Hyp @ 1 Aug 2006, 19:31) [snapback]1809234[/snapback]
Bon pour l'instant
CODE
tell application "iTunes"
artist of current track & "
" & name of current track & "
" & time of current track
end tell
CODE
osascript /iTunes_info.scpt
Si quelqu'un a mieux..
Si appscript est installé :
CODE
python -c 'from appscript import *; foo = app(u"/Applications/iTunes.app").current_track; print foo.artist.get(); print foo.name.get(); print foo.time.get() '
Je sais ce que vous allez me dire, c'est peut-être pas mieux
Plus utile maintenant : je n'ai vu personne citer la mailing-list de patpro.net, qui peut quand même être utile.
Écrit par : CrazyLiam 10 Oct 2006, 22:51
Une toute petite question :
Quel est l'équivalent de la commande "tac" (qui fonctionne comme cat mais qui inverse le texte) sous Mac OS X ? J'ai fink d'installé et j'arrive pas à le trouver.
Écrit par : Cochonou 12 Oct 2006, 12:58
Je n'ai jamais utilisé tac, mais j'imagine qu'en utilisant rev ça fait peut être ce que tu recherches :
cat bidule | rev
Écrit par : CrazyLiam 12 Oct 2006, 18:25
CODE
NAME
rev - reverse lines of a file
SYNOPSIS
rev [file]
DESCRIPTION
The rev utility copies the specified files to the standard output,
reversing the order of characters in every line. If no files are speci-
fied, the standard input is read.
D'après le man, ça a l'air de correspondre à ce que je cherche. Merci
Écrit par : pardon 12 Oct 2006, 18:35
euh, juste, pas besoin de piper rev après le cat
rev /ton/fichier fonctionnera aussi bien
mais tac ne fait-il pas plutôt l'inversion des lignes, et non des caractères de chaque lignes ?
Écrit par : CrazyLiam 12 Oct 2006, 18:52
Oui tac c'est pour l'inversion des lignes et non pas des caractères. Je vais essayer tout ça.
Sinon si vous savez où trouver le package pour tac je suis preneur
edit : effectivement, ça inverse tous les caractères
Écrit par : pardon 13 Oct 2006, 01:27
pour XCode, cherche pour Panther la 1.5 sur l'ADC - tu pourras accéder à la page de download de toutes les versions des Developer Tools en te logant
le fichier .c que tu donnes ne suffit pas, il fait appels à quelques .h qui manquent donc, avec leur .c, et ainsi de suite
mais je suppose que ça devrait être faisable, tant qu'il n'utilisent pas trop de trucs relativement exotiques
Écrit par : guerom00 13 Oct 2006, 09:59
CITATION(pardon @ 13 Oct 2006, 02:27) [snapback]1929840[/snapback]
pour XCode, cherche pour Panther la 1.5 sur l'ADC - tu pourras accéder à la page de download de toutes les versions des Developer Tools en te logant
le fichier .c que tu donnes ne suffit pas, il fait appels à quelques .h qui manquent donc, avec leur .c, et ainsi de suite
mais je suppose que ça devrait être faisable, tant qu'il n'utilisent pas trop de trucs
relativement exotiques
Indeed
Chez moi, il manque config.h, system.h, error.h, quote.h quoteargs.h, safe-read.h et stdlib--.h
Quand même
Écrit par : Cochonou 13 Oct 2006, 17:11
CITATION
mais tac ne fait-il pas plutôt l'inversion des lignes, et non des caractères de chaque lignes ?
Ah, je ne pensais pas que tac marchait comme ça. Dans ce cas, sort -r ne pourrait-il pas faire l'affaire ?
"cat truc | sort -r" ? ou même "sort -r truc" qui doit aussi marcher ?
Écrit par : pardon 13 Oct 2006, 18:34
non plus là, avec -r tu ne fais qu'inverser l'ordre du sort, mais il y a donc eu tri
Écrit par : Cochonou 13 Oct 2006, 19:06
Houlà, en effet... je me suis un peu fourvoyé sur le comportement par défaut de sort. Il faut que j'arrète le coca-cola.
Plus qu'à y aller à grands coups de awk.
Edit: bon, troisième essai !
avec cette commande awk :
CODE
{line[i++]=$0} END {for (j=i-1; j>=0;) print line[j--]}
et invoquons ça avec:
CODE
awk -f awkfile bidule
Après on doit peut être pouvoir rendre ça plus direct dans un script tac avec:
CODE
#/bin/sh
awk '{line[i++]=$0} END {for (j=i-1; j>=0;) print line[j--]}' $1
et invoquons ça avec
CODE
./tac bidule
après l'avoir rendu exécutable ?
Edit2: bon, j'ai l'impression que cette fois ça marche:
CITATION
FlyingPig:~ cochonou$ man yes | ./tac
4th Berkeley Distribution June 6, 1993 4th Berkeley Distribution
The yes command appeared in 4.0BSD.
HISTORY
yes outputs expletive, or, by default, ``y'', forever.
DESCRIPTION
yes [expletive]
SYNOPSIS
yes -- be repetitively affirmative
NAME
YES(1) BSD General Commands Manual YES(1)
Écrit par : pardon 14 Oct 2006, 11:38
ou dans .profile :
CODE
function tac { awk '{line[i++]=$0} END {for (j=i-1; j>=0;) print line[j--]}' "$@"; }
$@ puisque tac concatène aussi les fichiers comme cat, par contre je sais pas s'il les prend aussi en ordre inverse, comme là
Écrit par : CrazyLiam 14 Oct 2006, 11:56
Merci pour votre aide je viens à l'instant de le trouver dans le package "fileutils" grâce à apt-cache, donc j'ai installé tout ça proprement.
Par contre, après avoir installé xcode 1.5 plus la mise à jour de gcc, je ne pouvais même pas lancer la compilation de mon ficher source. Va falloir que je me penche sur la question car l'option était grisée
Écrit par : superfunkyeloi 18 Oct 2006, 18:15
Bonjour,
j'ai un petit problème. J'ai eu recours à la fonction "sudo".
Il me demande mon password mais là j'ai un problème je
peux plus rien taper, je peux seulement appuyer sur enter.
Quelqu'un peut il m'expliquer pourquoi???
Écrit par : fgiron 18 Oct 2006, 20:14
CITATION(superfunkyeloi @ 18 Oct 2006, 19:15) [snapback]1938239[/snapback]
Bonjour,
j'ai un petit problème. J'ai eu recours à la fonction "sudo".
Il me demande mon password mais là j'ai un problème je
peux plus rien taper, je peux seulement appuyer sur enter.
Quelqu'un peut il m'expliquer pourquoi???
Tout simplement parce que la saisie du mot de passe se fait en aveugle, par sécurité :
CODE
% sudo su 21:13
Password:
eMac:/Users/frangi root#
Écrit par : v1nce 18 Oct 2006, 20:18
CITATION(roseau @ 21 Mar 2006, 15:04) [snapback]1612748[/snapback]
tu viens de découvrir un manuel unix?
héhé !
Écrit par : vi55cent 23 Oct 2006, 23:14
Alors j'ajoute ma petite commande.
CODE
sudo kill $(ps -aux | grep user |cut -c 11-15 | tr -s "\n" " ")
Explication : tue tout les process de l'utilisateur user.
Très pratique quand ma petite soeur oublie de fermer sa session
Écrit par : Val1984 26 Oct 2006, 12:08
Il me semble qu'il suffit de simplement tuer le WindowServer appartenant à ta soeur pour fermer sa session
Écrit par : fgiron 26 Oct 2006, 14:03
CITATION(Val1984 @ 26 Oct 2006, 13:08) [snapback]1949852[/snapback]
Il me semble qu'il suffit de simplement tuer le WindowServer appartenant à ta soeur pour fermer sa session
En effet il suffit de tuer le processus loginwindow correspondant à son nom :
CODE
#!/bin/sh
# -- ksession --
# supprime la session passée en argument
#####
U=$1
if [ $# -eq 0 ]; then
cat <<EOF >&2
-- $(basename $0) --
SYNTAXE : $(basename $0) <Utilisateur>.
EOF
exit 1
else
S=$(ps auxcww | grep loginwindow | grep $U | awk ' { print $2 }')
if [ "$S" != "" ]; then
cat <<EOF
***********************************
Le PID de $U est le numéro
- $S -
Il va être supprimé sitôt votre mot
de passe saisi à condition que vous
soyez administrateur.
Si préférez renoncer à le supprimer,
saisissez la séquence « Ctrl c ».
***********************************
EOF
sudo kill $S
echo "La session de $U a été supprimée."
else
echo "Aucune session n'est ouverte sous le nom de « $U »."
fi
fi
exit 0%
Écrit par : guerom00 28 Oct 2006, 17:00
http://macromates.com/blog/archives/2006/01/07/word-movement-in-terminal/
Cela se révèle terriblement pratique
Écrit par : fgiron 28 Oct 2006, 17:30
CITATION(guerom00 @ 28 Oct 2006, 18:00) [snapback]1953222[/snapback]
http://macromates.com/blog/archives/2006/01/07/word-movement-in-terminal/
Cela se révèle terriblement pratique…
Ctrl-F (avancer d'une lettre) et
Ctrl-B (reculer d'une lettre);
esc-F (avancer d'un mot) et
esc-B (reculer d'un mot);
ctrl-e (aller à la fin de la ligne) et
ctrl-a (retour en début de ligne);
esc-d pour effacer le mot suivant;
esc-delete pour effacer le mot précédent;
ctrl-k pour effacer la ligne à partir du point d'insertion.
Et tout cela fonctionne aussi dans la plupart des autres applications (mail, TextEdit, ici-même... sauf les raccourcis avec
esc).
Enfin, dans les manpages,
ctrl-F pour avancer d'une page et
ctrl-b pour remonter d'une page.
Et tout cela est extrêmement pratique.
Écrit par : pardon 28 Oct 2006, 19:47
et des dizaines d'autres à retrouver dans le man bash (si emacs mode, sous bash) : ^-d, ^-t, ^-k, etc.
mais tu peux très bien avoir envie d'avoir les raccourcis clavier présents sur Mac depuis presque toujours dans ton Terminal, parce que ESC en tant que Meta, c'est pas non plus très pratique (d'autant qu'on ne peut pas faire M-b-b-b-… pour se déplacer autant de fois ; il faut refaire ESC à chaque fois)
mais si tu veux a contrario en rajouter dans toutes les applis Cocoa que tu cites, tu peux chercher DefaultKeyBinding sur le forum
enfin bon, y'a rien d'extraordinaire dans le lien : le mec vient de découvrir les préfs de Terminal.app
et sinon pour le déplacement dans les man pages, sans ctrl c'est aussi bien …
Écrit par : guerom00 28 Oct 2006, 20:02
CITATION(pardon @ 28 Oct 2006, 20:47) [snapback]1953402[/snapback]
enfin bon, y'a rien d'extraordinaire dans le lien : le mec vient de découvrir les préfs de Terminal.app
Dis tout de suite que mon lien est tout pourri !
Je ne suis pas sûr que tout le monde ici connaissent ces préférences
Écrit par : fgiron 28 Oct 2006, 21:57
CITATION(pardon @ 28 Oct 2006, 20:47) [snapback]1953402[/snapback]
et des dizaines d'autres à retrouver dans le man bash (si emacs mode, sous bash) : ^-d, ^-t, ^-k, etc.
mais tu peux très bien avoir envie d'avoir les raccourcis clavier présents sur Mac depuis presque toujours dans ton Terminal, parce que ESC en tant que Meta, c'est pas non plus très pratique (d'autant qu'on ne peut pas faire M-b-b-b-
pour se déplacer autant de fois ; il faut refaire ESC à chaque fois)
Je n'ai cité que les principaux raccourcis, effectivement.
C'est juste pour esc comme meta, mais j'ai pris l'habitude de m'en accommoder, et c'est maintenant tellement spontané...
CITATION(pardon @ 28 Oct 2006, 20:47) [snapback]1953402[/snapback]
et sinon pour le déplacement dans les man pages, sans ctrl c'est aussi bien
En effet. Là aussi, l'habitude: celle d'utiliser très fréquemment ctrl en tant qu'usager quotidien d'Emacs, même si justement C-f et C-b ne donnent pas le même résultat dans emacs (les automatismes ne sont pas toujours très rationnels
).
Écrit par : iLux 30 Oct 2006, 11:21
CITATION(fgiron @ 28 Oct 2006, 17:30) [snapback]1953266[/snapback]
CITATION(guerom00 @ 28 Oct 2006, 18:00) [snapback]1953222[/snapback]
http://macromates.com/blog/archives/2006/01/07/word-movement-in-terminal/
Cela se révèle terriblement pratique
Ctrl-F (avancer d'une lettre) et
Ctrl-B (reculer d'une lettre);
esc-F (avancer d'un mot) et
esc-B (reculer d'un mot);
ctrl-e (aller à la fin de la ligne) et
ctrl-a (retour en début de ligne);
esc-d pour effacer le mot suivant;
esc-delete pour effacer le mot précédent;
ctrl-k pour effacer la ligne à partir du point d'insertion.
Et tout cela fonctionne aussi dans la plupart des autres applications (mail, TextEdit, ici-même... sauf les raccourcis avec
esc).
Enfin, dans les manpages,
ctrl-F pour avancer d'une page et
ctrl-b pour remonter d'une page.
Et tout cela est extrêmement pratique.
Ces raccourcis originaires d'emacs sont effectivement disponibles dans toutes les applicatiosn Cocoa
Écrit par : fgiron 30 Oct 2006, 12:16
CITATION(iLux @ 30 Oct 2006, 12:21) [snapback]1955475[/snapback]
Ces raccourcis originaires d'emacs sont effectivement disponibles dans toutes les applicatiosn Cocoa
Je ne sais pas si elles ont leur origine dans emacs, ou si emacs a pris ces commandes permettant de naviguer en console en les étendant. Je pencherais pour la seconde hypothèse. Elles fonctionnent en mode >console, dans pico (pas toutes), links et lynx, etc.
Écrit par : iLux 31 Oct 2006, 20:59
CITATION(fgiron @ 30 Oct 2006, 12:16) [snapback]1955570[/snapback]
CITATION(iLux @ 30 Oct 2006, 12:21) [snapback]1955475[/snapback]
Ces raccourcis originaires d'emacs sont effectivement disponibles dans toutes les applicatiosn Cocoa
Je ne sais pas si elles ont leur origine dans emacs, ou si emacs a pris ces commandes permettant de naviguer en console en les étendant. Je pencherais pour la seconde hypothèse. Elles fonctionnent en mode >console, dans pico (pas toutes), links et lynx, etc.
links et lynx sont posterieurs à emacs, pico, je sais pas (je suppose), donc, et bah
on sait pas
Écrit par : fgiron 1 Nov 2006, 10:02
CITATION(iLux @ 31 Oct 2006, 21:59) [snapback]1958176[/snapback]
links et lynx sont posterieurs à emacs, pico, je sais pas (je suppose), donc, et bah
on sait pas
Pas grave. Le principal, c'est que ces raccourcis soient pratiques... et ils le sont.
Écrit par : iLux 1 Nov 2006, 20:58
CITATION(fgiron @ 1 Nov 2006, 10:02) [snapback]1958683[/snapback]
CITATION(iLux @ 31 Oct 2006, 21:59) [snapback]1958176[/snapback]
links et lynx sont posterieurs à emacs, pico, je sais pas (je suppose), donc, et bah
on sait pas
Pas grave. Le principal, c'est que ces raccourcis soient pratiques... et ils le sont.
Et leur présence dans de nombreuses applications les rends encore plus.
J'éspère qu'une prochaine version de Carbon ajoutera le support de ces raccourcis à toutes les applications codées avec
Écrit par : Hyp 8 Nov 2006, 21:10
Bonsoir..
Je suis à la recherche d'une méthode / d'un système / d'un script qui me permettrait d'afficher correctement les accents que je tire d'un code HTML; quelqu'un aurait-il une piste à m'indiquer ?
(Pour l'instant jai des pelletées de ? )
Dans un autre registre, je me demande également si il est possible de gérer une entrée clavier pendant le déroulement d'un script ?
Quelque chose du type
CODE
echo "Coucou !";
prompt mavariable;
echo "Vous avez tapé $mavariable !";
Est-ce possible ?
Merci d'avance pour vos réponses
et bonne soirée.
Écrit par : Fotz 8 Nov 2006, 21:21
CITATION(Hyp @ 8 Nov 2006, 21:10) [snapback]1971018[/snapback]
Dans un autre registre, je me demande également si il est possible de gérer une entrée clavier pendant le déroulement d'un script ?
Quelque chose du type
CODE
echo "Coucou !";
prompt mavariable;
echo "Vous avez tapé $mavariable !";
Est-ce possible ?
Merci d'avance pour vos réponses
et bonne soirée.
Ralala, si tu venais sur MSN, j'aurai pu t'expliquer tout ça.
Jettes un il à ce code (je l'avais fait pour pouvoir changer les permissions d'un dossier et de tout ce qu'il contient), ça correspond exactement à ce que tu veux :
CODE
#!/bin/sh
echo "À quel utilisateur voulez-vous donner les permissions ?"
read user
echo "Dans quel répertoire voulez-vous changer les permissions ?"
read directory
sudo chmod -R 0777 $directory
sudo chown -hR $user $directory
Ici, tu vas stocker respectivement dans des variables l'utilisateur saisi par l'utilisateur (
) et le répertoire saisi par l'utilisateur pour pouvoir les utiliser dans un chmod et un chown
Écrit par : Hyp 8 Nov 2006, 21:28
Merci beaucoup
[small]Msn merdouille, Adium mouline dans le vide et me met Unable to connect [/small]
Écrit par : Fotz 8 Nov 2006, 21:33
CITATION(Hyp @ 8 Nov 2006, 21:28) [snapback]1971048[/snapback]
Merci beaucoup
Bah de rien
CITATION(Hyp @ 8 Nov 2006, 21:28) [snapback]1971048[/snapback]
[small]Msn merdouille, Adium mouline dans le vide et me met Unable to connect
[/small]
Sacré Hyp va !
Ça sait utiliser le Terminal mais ça ne sait même pas faire fonctionner Adium
!!
Écrit par : guerom00 9 Nov 2006, 00:09
CITATION(Hyp @ 8 Nov 2006, 21:10) [snapback]1971018[/snapback]
Bonsoir..
Je suis à la recherche d'une méthode / d'un système / d'un script qui me permettrait d'afficher correctement les accents que je tire d'un code HTML; quelqu'un aurait-il une piste à m'indiquer ?
(Pour l'instant jai des pelletées de
? )
Peux-tu élaborer là-dessus
J'ai pas bien compris
Est-ce un problème d'encodage ? Si oui, jette un coup d'oeil à la commande
iconv.
Écrit par : fgiron 9 Nov 2006, 08:16
CITATION(guerom00 @ 9 Nov 2006, 02:09) [snapback]1971285[/snapback]
CITATION(Hyp @ 8 Nov 2006, 21:10) [snapback]1971018[/snapback]
Bonsoir..
Je suis à la recherche d'une méthode / d'un système / d'un script qui me permettrait d'afficher correctement les accents que je tire d'un code HTML; quelqu'un aurait-il une piste à m'indiquer ?
(Pour l'instant jai des pelletées de
? )
Peux-tu élaborer là-dessus
J'ai pas bien compris
Est-ce un problème d'encodage ? Si oui, jette un coup d'oeil à la commande
iconv.
Sinon, un script sed substituant les caractères accentués au code html (À). On peut inverser ce script qui substitue le html aux accents) :
CODE
#!/sw/bin/sed -f
# latin2html - remplace tous les caractères accentués
# par leur équivalent HTML
s/À/\À/g
s/Â/\Â/g
s/Ä/\Ä/g
s/Æ/\Æ/g
s/Ç/\Ç/g
s/È/\È/g
s/É/\É/g
s/Ê/\Ê/g
s/Ë/\Ë/g
s/Î/\Î/g
s/Ï/\Ï/g
s/Ô/\Ô/g
s/Ö/\Ö/g
s//\&\#140;/g
s/Ù/\Ù/g
s/Û/\Û/g
s/Ü/\&Uulm;/g
s/ß/\ß/g
s/à/\à/g
s/â/\â/g
s/ä/\ä/g
s/æ/\æ/g
s/ç/\ç/g
s/è/\è/g
s/é/\é/g
s/ê/\ê/g
s/ë/\ë/g
s/î/\î/g
s/ï/\ï/g
s/ô/\ô/g
s/ö/\ö/g
s//\&\#156;/g
s/ù/\ù/g
s/û/\û/g
s/ü/\&uulm;/g
[EDIT]Décidément, la précipitation ne vaut rien. Ce script ne peut pas répondre à la question fort obscure de Hyp. La réponse de guerom00 est plus appropriée. Ce script ne sert d'ailleurs à rien (une balise meta suffit), mais je le laisse pour l'esthétique.[/EDIT]
Écrit par : schlum 9 Nov 2006, 10:01
CITATION(fgiron @ 6 Apr 2006, 10:19) [snapback]1636066[/snapback]
Il n'y a aucune autre possibilité que de passer par un site pour récupérer son adresse externe (directement par une commande interne) ?
Rha, je n'ai jamais été notifié des réponses à ce sujet
Jamais trouvé en tout cas... "ifconfig" ne donne pas cette information...
CITATION(Hyp @ 6 Apr 2006, 10:26) [snapback]1636081[/snapback]
CITATION(schlum @ 5 Apr 2006, 23:23) [snapback]1635438[/snapback]
CODE
curl -s --url www.whatismyip.com | tr '<' '\n' | grep -i "^title>" | sed "s/^[^0-9]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)[^0-9]*$/\1/"
Récupérer son IP externe
Ca récupère l'ip dans le titre de la page de whatismyip.com c'est ça ?
C'est bien ça
CITATION(vi55cent @ 23 Oct 2006, 23:14) [snapback]1945312[/snapback]
Alors j'ajoute ma petite commande.
CODE
sudo kill $(ps -aux | grep user |cut -c 11-15 | tr -s "\n" " ")
Explication : tue tout les process de l'utilisateur user.
Très pratique quand ma petite soeur oublie de fermer sa session
Un peu violent si elle a oublié de sauver ses documents
Écrit par : Hyp 9 Nov 2006, 11:57
Pour ma question d'accents c'est vrai que je suis pas clair.
J'ai des pages encodées en, euh, je ne sais pas trop ce n'est pas indiqué dans l'en tête de la page
Les caractères accentués ne sont pas affichés à l'aide du HTML
Autrement dit, pour essayer de résumer, j'ai des é, è, à et autres (et pas de é ou è) que je dois afficher correctement dans le Terminal, pour l'instant j'ai des ? évidemment.
Je m'en vais regarder iconv...
Merci.
Ah et j'en profite pour poser une dernière [small]pour l'instant[/small] question;
je rame pour remplacer dans une variable une chaîne de caractères par un retour chariot;
exemple:
CODE
variable=loltestloltestloltest;
mavariable=`echo $variable | sed 's/lol/\r/g'`;
echo $mavariable;
CODE
rtestrtestrtest
Comprends pas
Même chose si je mets \\r..
[small]On s'amuse bien quand même avec le Terminal
[/small]
Écrit par : schlum 9 Nov 2006, 13:05
sed est un éditeur qui travaille ligne à ligne... Je doute qu'on puisse utiliser \n ou \r avec.
Écrit par : Hyp 9 Nov 2006, 13:39
J'ai aussi essayé avec tr
Euh
CODE
mavariable=`echo $variable | tr 'lol' '\r'`;
Ca me fait un peu n'importe quoi je crois que ma syntaxe est mauvaise
[small]C'est pas faute d'avoir cherché je vous jure
mais les
man de 15 pages et moi ça fait 3
[/small]
Écrit par : schlum 9 Nov 2006, 14:25
CITATION(Hyp @ 9 Nov 2006, 13:39) [snapback]1971924[/snapback]
J'ai aussi essayé avec
trEuh
CODE
mavariable=`echo $variable | tr 'lol' '\r'`;
Ca me fait un peu n'importe quoi je crois que ma syntaxe est mauvaise
[small]C'est pas faute d'avoir cherché je vous jure
mais les
man de 15 pages et moi ça fait 3
[/small]
"tr" remplace des caractères... Pas des séquences !
Écrit par : Hyp 9 Nov 2006, 14:37
Ah tant pis alors je vais chercher dans une autre direction..
[small]Pourtant j'avais cru lire dans man tr que la commande prenait deux paramètres string1 et string2 [/small]
Écrit par : guerom00 9 Nov 2006, 14:42
CITATION(Hyp @ 9 Nov 2006, 14:37) [snapback]1972010[/snapback]
Ah
tant pis alors je vais chercher dans une autre direction..
[small]Pourtant j'avais cru lire dans man tr que la commande prenait deux paramètres string1 et string2
[/small]
Ça marche par séquence de caractères (pour vous réconcilier, tous les deux
)
tr "abcde" "ABCDE" va remplacer a-> A, b->B, etc…
Donc, pour ce que tu veux faire, ça devrait marcher… en passant par un sed avant…
Edo : Ah nan… Marche pas
CODE
#!/usr/bin/env bash
variable=loltestloltestloltest;
mavariable=`echo $variable | sed 's/lol/%/g'`;
echo $mavariable
mavariable=`echo $mavariable | tr "%" "\r"`;
echo $mavariable;
CODE
[guerout:~/Desktop] rom% ./untitled.sh
%test%test%test
test
[guerout:~/Desktop] rom%
Ça en imprime qu'un… Des gourous vont te faire ça
Écrit par : fgiron 9 Nov 2006, 14:44
CITATION(schlum @ 9 Nov 2006, 16:25) [snapback]1971997[/snapback]
CITATION(Hyp @ 9 Nov 2006, 13:39) [snapback]1971924[/snapback]
J'ai aussi essayé avec
trEuh
CODE
mavariable=`echo $variable | tr 'lol' '\r'`;
Ca me fait un peu n'importe quoi je crois que ma syntaxe est mauvaise
[small]C'est pas faute d'avoir cherché je vous jure
mais les
man de 15 pages et moi ça fait 3
[/small]
"tr" remplace des caractères... Pas des séquences !
Mieux vaudrait utiliser la fonction de substitution de bash:
CODE
$ echo ${variable/motif/remplacement}
ou
CODE
$ echo ${variable//motif/remplacement}
Écrit par : fgiron 9 Nov 2006, 15:13
CITATION(Hyp @ 9 Nov 2006, 16:57) [snapback]1972030[/snapback]
Génial
ça marche
Merci à vous
Pas de quoi
CITATION(Hyp @ 9 Nov 2006, 16:57) [snapback]1972030[/snapback]
[small]Maintenant je vais pouvoir creuser la question des accents[/small]
Précisez un peu la question.
CODE
$ iconv -f UTF-8 -t MACROMAN source > cible
ou
CODE
$ iconv -f UTF-8 -t L1 source > cible
ou quelque chose du genre.
Écrit par : fgiron 27 Nov 2006, 00:00
CITATION(Hyp @ 26 Nov 2006, 23:22) [snapback]1996834[/snapback]
Bonsoir,
tout d'abord désolé de ne pas avoir répondu, je me suis passé finalement des accents
J'ai une autre question, dans un domaine tout à fait différent;
je recherche un équivalent à la commande
play, autrement dit une commande permettant de jouer un fichier son
Il ne me manque plus que cette commande et j'aurai un synthétiseur vocal qui parle français, et gratuitement
mplayer est la commande qu'il vous faut. Disponible avec fink et DarwinPort.
Écrit par : Hyp 27 Nov 2006, 17:56
Merci pour cette réponse
À priori c'est parfait, mais lorsque je veux lire un fichier .au (ce dont j'ai besoin) je n'entends qu'une suite de grésillements inaudibles
(le son est lu par QT sans problème et mplayer joue normalement d'autres types de fichiers)
Si ça peut aider voilà ce que dit mplayer:
CODE
bacbidi:~/Desktop/esound-0.2.8 johan$ /Users/johan/Desktop/mplayer /Users/johan/Desktop/test.au
MPlayer 1.0pre8-4.0.1 (C) 2000-2006 MPlayer Team
AltiVec found
CPU: PowerPC
Playing /Users/johan/Desktop/test.au.
libavformat file format detected.
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 16000 Hz, 1 ch, floatle, 0.0 kbit/0.00% (ratio: 0->32000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [macosx] 16000Hz 1ch floatle (4 bytes per sample)
Video: no video
Starting playback...
A: 6.7 (06.7) of -9223372013568.0 (unknown) 11.2%
Exiting... (End of file)
bacbidi:~/Desktop/esound-0.2.8 johan$
Bizarre
Écrit par : fgiron 27 Nov 2006, 18:12
Malheureusement, j'ai évoqué MPlayer en raison d'un article lu sur ce programme utilisable en ligne de commande, mais je ne l'utilise pas personnellement. Je ne peux donc pas répondre. Toutefois, une recherche sur les forums permettrait d'avancer, car il me semble qu'il y a eu, il y a assez longtemps, des questions à son sujet.
Il me vient aussi à l'esprit que VLC peut fonctionner également en ligne de commande.
Écrit par : Hyp 28 Nov 2006, 18:28
J'ai trouvé mon bonheur, il s'agit d'esdplay disponible dans le package esound
J'ai également testé VLC qui marche bien en ligne de commande mais il était trop lent pour http://forum.macbidouille.com/index.php?showtopic=198249
Écrit par : Dj No Smile 12 Jan 2007, 13:04
je déterre ce topic car il est approprié à ma question : j'aimerais pouvoir régler le volume général d'un mac via ssh... Quelqu'un a-t-il une idée? (sans passer par l'éxécution d'apple script...)
Écrit par : guerom00 12 Jan 2007, 13:11
CITATION(Dj No Smile @ 12 Jan 2007, 13:04) [snapback]2058077[/snapback]
je déterre ce topic car il est approprié à ma question : j'aimerais pouvoir régler le volume général d'un mac via ssh... Quelqu'un a-t-il une idée? (sans passer par l'éxécution d'apple script...)
Pas sûr que ce soit possible…
(à part la commande
osascript )
Écrit par : schlum 12 Jan 2007, 13:38
CITATION(Dj No Smile @ 12 Jan 2007, 13:04) [snapback]2058077[/snapback]
je déterre ce topic car il est approprié à ma question : j'aimerais pouvoir régler le volume général d'un mac via ssh... Quelqu'un a-t-il une idée? (sans passer par l'éxécution d'apple script...)
Pourquoi vouloir éviter l'AS ?
Écrit par : Dj No Smile 12 Jan 2007, 14:22
comme ça... juste pour savoir...
Écrit par : iLux 12 Jan 2007, 14:50
CITATION(guerom00 @ 12 Jan 2007, 13:11) [snapback]2058087[/snapback]
CITATION(Dj No Smile @ 12 Jan 2007, 13:04) [snapback]2058077[/snapback]
je déterre ce topic car il est approprié à ma question : j'aimerais pouvoir régler le volume général d'un mac via ssh... Quelqu'un a-t-il une idée? (sans passer par l'éxécution d'apple script...)
Pas sûr que ce soit possible
(à part la commande
osascript )
Où avec http://hayne.net/MacDev/Ash/ qui est tout de même plus pratique qu'Osascript.
Écrit par : schlum 28 Feb 2007, 00:25
CODE
find / -name "*.f" -or -name "*.f90" -exec cat {} \; | wc -l
Ca risque d'être long
Écrit par : guerom00 28 Feb 2007, 00:30
CITATION(schlum @ 28 Feb 2007, 00:25) [snapback]2122776[/snapback]
CODE
find / -name "*.f" -or -name "*.f90" -exec cat {} \; | wc -l
Ca risque d'être long
Ah bah oui, chuis con
J'avais mis le “wc -l” dans le
find Merci
Edo : 162695… C'est beaucoup ?
Écrit par : schlum 28 Feb 2007, 00:53
CITATION(guerom00 @ 28 Feb 2007, 00:30) [snapback]2122781[/snapback]
Edo : 162695
C'est beaucoup ?
Ca dépend si c'est condensé ou pas
(sauts de lignes, commentaires, aérations etc...)
Et puis en fortran 77 t'as droit qu'à 72 (-6) caractères par lignes, donc faut les couper, ça fait de fausses lignes
(faut bien laisser la place pour la numérotation des cartes perforées
)
Écrit par : guerom00 28 Feb 2007, 01:41
CITATION(schlum @ 28 Feb 2007, 00:53) [snapback]2122799[/snapback]
Et puis en fortran 77 t'as droit qu'à 72 (-6) caractères par lignes, donc faut les couper, ça fait de fausses lignes
Avec des bons compilateurs, on peut coder sur 120 colonnes maintenant. Certains compilateurs acceptent des codes en forme libres. (bien souvent, le compilateur f77 n'est rien d'autre que le compilateur f95 appelé avec certaines options
)
Mais pour avoir vu marcher ces machines à cartes perforées, c'est assez impressionnant dans le genre…
Écrit par : lascapi 19 Mar 2007, 16:46
CITATION(schlum @ 5 Apr 2006, 22:23) [snapback]1635438[/snapback]
CODE
#!/bin/bash
osascript -e 'tell application "Finder" to display dialog "Mon beau message" '
Faire afficher un message AppleScript dans le Finder...
Idéal pour faire peur aux amis en ssh
Super intéressant ce topic.
J'ai voulu faire cette commande sans la mettre dans un script et ça a pas marché....
Bon, c'est assez logique. En le mettant dans un script c'est bon.
mais ma qeustion est : comment faire apparaitre ce message sur le bureau d'un autre ??? Par ssh certe, mais comment faire ? J'ai déjà essayé de comprendre ssh et je m'y perd dans les notions serveur/client et tout le bazar.
Concretement, est-il possible de faire apparaitre ce message a un ordi d'IP 192.168.1.102 (je suis l'IP 192.168.1.101) "automatiquement".... En fait ça serait pour remplacé en parti le système de discutions par Msn/AIm/Bonjour etc... quand on n'a qu'un truc a dire.....
Bref. C'est cool d'avoir toute ces astuces et ces exemples.
Écrit par : schlum 19 Mar 2007, 17:10
Ça fonctionne sans problème en dehors d'un script
Écrit par : lascapi 19 Mar 2007, 17:32
Ah oui, tiens.... J'ai du mettre un espace de trop ou un truc comme ça.
N'empêche que j'arrive pas le faire sur l'ordi distant.... C'est parce que je connais pas assez ssh, mais pourtant j'ai essayé avec command, open et je cherche dans l'aide et sur internet, mais j'arrive pas a "manipuler" mon ordi quand j'ai ouvert ssh .... Bon, si vous avez des conseil pour pas faire de bétise je suis preneur, et si vous en avez pour réussir à faire faire afficher le message sur l'ordi distant je suis preneur aussi.
Écrit par : schlum 19 Mar 2007, 18:00
"ssh" permet d'avoir un shell à distance... Après on fait ce qu'on veut dessus.
Écrit par : lascapi 19 Mar 2007, 20:09
J'ai compris que ssh permet d'avoir un shell a distance, ce que je ne comprend pas c'est comment "naviguer" sur l'ordi local avec une session ssh ouverte... Autrement dis :
Comment peut-on exécuter un script local sur la machine distante ? Et si non alors comment utilisé le script sur la machine distante ????
Bon, je retourne a mes recherche.
Merci pour votre aide en tout cas.
Écrit par : schlum 19 Mar 2007, 21:17
Ben... comme chez toi dans le terminal Il n'y a aucune différence ! (à part éventuellement les variables d'environnement perso que tu aurais définies chez toi et qui ne sont pas sur l'autre machine...)
Écrit par : lascapi 19 Mar 2007, 21:53
CITATION(schlum @ 19 Mar 2007, 21:17) [snapback]2146535[/snapback]
Ben... comme chez toi dans le terminal
Il n'y a aucune différence ! (à part éventuellement les variables d'environnement perso que tu aurais définies chez toi et qui ne sont pas sur l'autre machine...)
Heu soit j'ai vraiment rien compris, soit je me suis mal exprimé...
Replay again : Je suis sur mon ordi A et ma sur est à l'ordi B.
Moi je veux prendre le contrôle de B avec A et exécuter sur B un script qui est sur A.
Ce que je sais faire c'est exécuter sur B un script qui est sur B. Mais pas l'autre.... C'est sans doute assez bête, mais je trouve pas..... Je ne sais pas comment faire....
Bon, j'espère que vous avez compris cette fois.
Écrit par : schlum 20 Mar 2007, 02:16
ssh login@ipOrdiB
Taper le passe du login (en aveugle)
Valider
Le login / passe doit bien entendu être un compte valide sur l'ordi B et l'ordi B doit avoir activé le partage de session à distance.
Écrit par : Dj No Smile 20 Mar 2007, 09:07
et tu dois faire passer d'une manière un d'une autre le script de l'ordi A vers le B.
note, je ne sais pas ce que c'est comme script mais si c'est de l'applescript, tu peux l'executer à l'aide de la commande osascript. (Et dans ce cas, tu peux faire un copier coller depuis le fichier du script vers le terminal ssh.)
Écrit par : lascapi 20 Mar 2007, 09:55
CITATION(Dj No Smile @ 20 Mar 2007, 09:07) [snapback]2146884[/snapback]
et tu dois faire passer d'une manière un d'une autre le script de l'ordi A vers le B.
note, je ne sais pas ce que c'est comme script mais si c'est de l'applescript, tu peux l'executer à l'aide de la commande osascript. (Et dans ce cas, tu peux faire un copier coller depuis le fichier du script vers le terminal ssh.)
Ouuula, ça c'est pas bête. Bon en tout cas apparement c'est pas possible d'exécuter un script ou une application que j'ai sur mon ordi sur l'ordi de ma sur... Tant pis.
Mais bon, comme c'est le script pour afficher un popup sur le finder et qu'il tient sur une ligne, ça ne devrait pas posé de problème.
En fait c'est pour lui dire de ce connceté à Adium.
Je sais je pourrais me levé ou bien crié a traers toute la maison, mais je crois que je suis un peu geek sur les bord.
Au fait, schlum, comme je l'ai dis dans mon message précédant, j'arrive a me connecté et a exécuter des commandes sur l'ordi distant, ce qu'il me manque c'est la manière de procéder pour exécuter une commande local (mo ordi) sur l'ordi distant (celui de ma sur). Mais c'est probablement impossible....
Merci en tout cas, ça fait plaisir d'avoir de l'aide.
Écrit par : schlum 20 Mar 2007, 10:03
CITATION(schlum @ 19 Mar 2007, 21:17) [snapback]2146535[/snapback]
Ben... comme chez toi dans le terminal
Il n'y a aucune différence ! (à part éventuellement les variables d'environnement perso que tu aurais définies chez toi et qui ne sont pas sur l'autre machine...)
Moi aussi je l'ai dit dans mon message précéd
ent !
Et ça fonctionne, je l'ai déjà fait.
Écrit par : Hyp 22 Mar 2007, 21:58
Bonsoir,
j'ai voulu rendre invisible le dossier /sw à l'aide de SetFile
CODE
setfile -a V /sw/
Ce qui me renvoit:
CODE
ERROR: Unexpected Error. (-5000) on file: /sw
Quelqu'un saurait-il m'expliquer pourquoi ?
Merci d'avance
[édition] Trouvé tout seul, sw est en lecture seulement pour moi
Écrit par : schlum 22 Mar 2007, 22:53
Envoie avec "sudo"...
Écrit par : crashRay 23 Mar 2007, 16:41
Bravo pour ce post.
Je recherche un petit lien d'explication ou une explication sur l'utilisation du .profile
J'ai du mal à piger.
Dans mon mien, j'ai :
CODE
##
# DELUXE-USR-LOCAL-BIN-INSERT
# (do not remove this comment)
##
echo $PATH | grep -q -s "/usr/local/bin"
if [ $? -eq 1 ]; then
PATH=$PATH:/usr/local/bin
export PATH
fi
#
# Your previous .profile (if any) is saved as .profile.dpsaved
# Setting the path for DarwinPorts.
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/teTeX/bin/p$
PATH=/opt/local/bin:$PATH
export PATH
J'ai installé macports et quand j'essaye un bête :
CODE
port -d selfupdate
Il me renvoie :
CODE
-bash: port: command not found
A savoir macports est bien installé car je l'utilise à default du terminale par l'interface graphique PortAuthority.
Écrit par : pardon 23 Mar 2007, 17:29
bizarre, un copier-coller de son contenu ne pose pas de problème chez moi
[small]mais il est pas très propre : tu fais gaffe à bien n'ajouter /usr/local/bin que s'il n'est pas déjà dans le PATH (il n'y est pas par défaut) et à conserver son ancienne valeur, puis tu effaces tout et remets ce qu'il contenait, plus un répertoire où il semble y avoir des fautes de frappes … [/small]
je te propose de simplement remplacer ce que tu nous as montré par :
CODE
PATH=/usr/local/bin:$PATH
PATH=/usr/local/teTeX/bin:$PATH
#PATH=/Developer/Tools:$PATH
#PATH=/usr/X11R6/bin:$PATH
PATH=/opt/local/bin:/opt/local/sbin:$PATH
export PATH
## et puis ca fait pas de mal
export MANPATH=/opt/local/share/man:/usr/local/man:/usr/X11R6/man:/usr/share/man:$MANPATH
[small]tu peux tout faire sur une ligne si tu préfères pour le PATH
les deux lignes ici en commentaire sont à décommenter si tu as les DevTools resp. X11 installé - à supprimer si ça t'intéresse pas, et idem pour/dans le MANPATH[/small]
mais si ça marchait pas avant, ça m'étonnerait que ça aille mieux
t'es sûr que
port est dans /opt/local/bin ? (où il devrait être normalement)
Écrit par : guerom00 23 Mar 2007, 17:56
CITATION(pardon @ 23 Mar 2007, 17:29) [snapback]2151590[/snapback]
t'es sûr que port est dans /opt/local/bin ? (où il devrait être normalement)
Oui voilà
Pour tous ces command not found, y a pas de secret : echo $PATH et locate port pour être fixé
Écrit par : crashRay 23 Mar 2007, 19:44
CITATION(pardon @ 23 Mar 2007, 18:29) [snapback]2151590[/snapback]
bizarre, un copier-coller de son contenu ne pose pas de problème chez moi
[small]mais il est pas très propre : tu fais gaffe à bien n'ajouter /usr/local/bin que s'il n'est pas déjà dans le PATH (il n'y est pas par défaut) et à conserver son ancienne valeur, puis tu effaces tout et remets ce qu'il contenait, plus un répertoire où il semble y avoir des fautes de frappes
[/small]
je te propose de simplement remplacer ce que tu nous as montré par :
CODE
PATH=/usr/local/bin:$PATH
PATH=/usr/local/teTeX/bin:$PATH
#PATH=/Developer/Tools:$PATH
#PATH=/usr/X11R6/bin:$PATH
PATH=/opt/local/bin:/opt/local/sbin:$PATH
export PATH
## et puis ca fait pas de mal
export MANPATH=/opt/local/share/man:/usr/local/man:/usr/X11R6/man:/usr/share/man:$MANPATH
[small]tu peux tout faire sur une ligne si tu préfères pour le PATH
les deux lignes ici en commentaire sont à décommenter si tu as les DevTools resp. X11 installé - à supprimer si ça t'intéresse pas, et idem pour/dans le MANPATH[/small]
mais si ça marchait pas avant, ça m'étonnerait que ça aille mieux
t'es sûr que
port est dans /opt/local/bin ? (où il devrait être normalement)
Après changement de mon .profile pour ce que tu as mis pas de changement.
Et oui
port est bien dans /opt/local/bin
CITATION(guerom00 @ 23 Mar 2007, 18:56) [snapback]2151623[/snapback]
CITATION(pardon @ 23 Mar 2007, 17:29) [snapback]2151590[/snapback]
t'es sûr que port est dans /opt/local/bin ? (où il devrait être normalement)
Oui voilà
Pour tous ces command not found, y a pas de secret : echo $PATH et locate port pour être fixé
Le echo $PATH me donne :
CODE
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple-darwin-current:/usr/local/bin
Ah tiens, il n'apparait pas
Pourtant j'ai relancé le terminale
Le locate port me donne des tonnes de lignes
Écrit par : guerom00 23 Mar 2007, 19:47
CITATION(crashRay @ 23 Mar 2007, 19:44) [snapback]2151746[/snapback]
Le locate port me donne des tonnes de lignes
C'était au cas où
Va pas chercher plus loin : ton $path est faux. T'es sûr que .profile est exécuté ? (c'est le bordel avec bash pour savoir quels fichiers sont exécutés, suivant que ton shell est interactif ou login
)
Et un “source ~/.profile” ? Ça rouspète ou pas ?
Écrit par : crashRay 23 Mar 2007, 19:52
CITATION(guerom00 @ 23 Mar 2007, 20:47) [snapback]2151752[/snapback]
CITATION(crashRay @ 23 Mar 2007, 19:44) [snapback]2151746[/snapback]
Le locate port me donne des tonnes de lignes
C'était au cas où
Va pas chercher plus loin : ton $path est faux. T'es sûr que .profile est exécuté ? (c'est le bordel avec bash pour savoir quels fichiers sont exécutés, suivant que ton shell est interactif ou login
)
Et un source ~/.profile ? Ça rouspète ou pas ?
ça ne fait rien.
Malgré un redémarrage, j'ai toujours le même résultat pour
echo $PATH. Je pense que je dois pas modifier le bon fichier. Celui que je modifiais était dans /Users/Nick . Y aurait-t'il un autre fichier qui est utilisé à la place ?
Écrit par : guerom00 23 Mar 2007, 19:54
Ah bah
Si source ~/profile ne donne rien, c'est qu'il doit y avoir une erreur de syntaxe dedans, alors
Écrit par : crashRay 23 Mar 2007, 20:07
CITATION(guerom00 @ 23 Mar 2007, 20:54) [snapback]2151766[/snapback]
Ah bah
Si source ~/profile ne donne rien, c'est qu'il doit y avoir une erreur de syntaxe dedans, alors
Nan !! ça a marché une fois
Je crois me souvenir que j'avais mis juste :
CODE
PATH=/usr/local/bin:$PATH
Le
port a été "reconnu". Après j'ai voulu rajouter les autres lignes et ça marche plus
Écrit par : pardon 24 Mar 2007, 00:58
bizarre c't'histoire les lignes que je te donne devraient aller
mais j'ai déjà eu des comportements un peu similaires avec une version de bash 3.1 : le .profile n'était pas pris en compte si un .bashrc existait (une bonne pratique est de faire un lien symbolique de l'un vers l'autre pour éviter ce genres de conneries)
étant sous bash, vire ~/.basrhc, ~/.bash_profile [small](s'ils existent, donc)[/small] et ne laisse que ~/.profile avec ce que je t'ai donné (où faudra donc corriger la ligne pour teTex vu ce que ton PATH contient actuellement), puis relance un shell ou source-le
sinon, aurais-tu par hasard ce fichier : ~/.MacOSX/environment.plist
et où dans lequel serait redéfini également la variable PATH ? pas testé, mais peut-être est-il lu après et supplante toute définition concurrente dans les fichiers habituels (selon ce qu'il contient aussi, je suppose)
également, aurais-tu modifié des fichiers tels que /etc/profile ou /etc/bashrc ? parce que faut pas
ou déjà, que contiennent-il ?
c'est le contenu intégral de ton .profile ou un extrait seulement que tu as posté plus haut ?
Écrit par : crashRay 24 Mar 2007, 12:40
CITATION(pardon @ 24 Mar 2007, 01:58) [snapback]2152031[/snapback]
bizarre c't'histoire
les lignes que je te donne devraient aller
mais j'ai déjà eu des comportements un peu similaires avec une version de bash 3.1 : le .profile n'était pas pris en compte si un .bashrc existait
(une bonne pratique est de faire un lien symbolique de l'un vers l'autre pour éviter ce genres de conneries)étant sous bash, vire ~/.basrhc, ~/.bash_profile [small](s'ils existent, donc)[/small] et ne laisse que ~/.profile avec ce que je t'ai donné
(où faudra donc corriger la ligne pour teTex vu ce que ton PATH contient actuellement), puis relance un shell ou
source-le
sinon, aurais-tu par hasard ce fichier : ~/.MacOSX/environment.plist
et où dans lequel serait redéfini également la variable PATH ? pas testé, mais peut-être est-il lu après et supplante toute définition concurrente dans les fichiers habituels (selon ce qu'il contient aussi, je suppose)
également, aurais-tu modifié des fichiers tels que /etc/profile ou /etc/bashrc ? parce que faut pas
ou déjà, que contiennent-il ?
c'est le contenu intégral de ton .profile ou un extrait seulement que tu as posté plus haut ?
J'avais bien des fichiers ~/.basrhc, ~/.bash_profile , après suppression ça marche. Désolé d'avoir pollué le post. Je t'ai envoyé un mp pour résoudre un dernier petit souci et pour vérifier que tout est "normal"
Écrit par : fgiron 24 Mar 2007, 19:16
CITATION(crashRay @ 23 Mar 2007, 22:07) [snapback]2151781[/snapback]
CITATION(guerom00 @ 23 Mar 2007, 20:54) [snapback]2151766[/snapback]
Ah bah… Si “source ~/profile” ne donne rien, c'est qu'il doit y avoir une erreur de syntaxe dedans, alors
Nan !! ça a marché une fois
Je crois me souvenir que j'avais mis juste :
CODE
PATH=/usr/local/bin:$PATH
Le
port a été "reconnu". Après j'ai voulu rajouter les autres lignes et ça marche plus
Ce n'est pas
CODE
PATH=/usr/local/bin:$PATH
mais
CODE
PATH=/opt/local/bin:$PATH
qu'il faut mettre. Ensuite, plutôt que locate, lancer la commande :
CODE
$ find / -name "port" -print 2>/dev/null
Une fois le Terminal relancé, pour voir si la commande est prise en compte, saisir :
CODE
$ which port
Avec Zsh, inutile de relancer le Terminal ou un nouveau shell. Il suffit de lancer la commande :
CODE
% rehash
Mais elle n'est pas disponible sous bash.
Écrit par : pardon 24 Mar 2007, 19:26
nan mais c'est bon, faut lire - c'est réglé
c'était a priori un conflit dans les fichiers de conf
Écrit par : fgiron 25 Mar 2007, 00:39
CITATION(pardon @ 24 Mar 2007, 21:26) [snapback]2152837[/snapback]
nan mais c'est bon, faut lire - c'est réglé
c'était a priori un conflit dans les fichiers de conf
Désolé de vous avoir offensé avec mon post (qui d'ailleurs, s'il est inutile pour le cas en présence, pourrait ne pas l'être tout à fait pour d'autres).
Écrit par : pardon 25 Mar 2007, 00:49
CITATION(fgiron @ 25 Mar 2007, 00:39) [snapback]2153103[/snapback]
offensé
bon, je mettrai un smiley la prochaine fois
Écrit par : lascapi 29 Mar 2007, 01:08
Bonsoir tout le monde.
J'ai une question qui reste tout a fait entière malgré de nombreuse recherche infructueuse.
Comment faire marché un truc du style :
find ./ -name "coucou" | ls
L'idée c'est de faire passer le résultat de find (ou de grep ou de ls ou d'une autre commande) à une commande comme ls ou cp ou encore rm ??? J'arrive pas à comprendre comment il faut faire ?!! Est-ce qu'il y a un paramètre qui existe à mettre après la deuxième commande ??? Ou la même question posé autrement, quelle est la différence entre une commande comme grep qui marche très bien si je la met à la place de ls et d'une commande comme ls ??? Pourquoi
C'est vraiment trop bizarre... Il y a un truc que j'ai pas compris, c'est sur... mais quoi ???
Écrit par : schlum 29 Mar 2007, 06:13
ls -> -print (ou -exec ls {} \; pour lister le contenu...)
rm -> -exec rm {} \;
grep -> -exec grep "blabla" {} \; -print
Écrit par : Cochonou 29 Mar 2007, 06:29
On peut aussi définir des variables. Par exemple, dans un petit script:
CODE
#!/bin/bash
LIST=$(ls *.txt| awk -F. '{print $1}')
for NAME in $LIST
do
mv $NAME.txt $NAME.dat
done
Ce qui renommera tous les fichiers truc.txt du répertoire courant en fichiers truc.dat. La syntaxe clé, c'est $(), qui te permet de transformer les résultats d'une commande en variable. Une autre syntaxe qui marche sous tous les shells utilise les backquotes:
CODE
LIST=`ls *.txt| awk -F. '{print $1}'`
Pour comprendre pourquoi le pipe (|) ne marche pas dans tes cas, il faut savoir à quoi il correspond: le pipe, c'est le transfert du flux de données sur lequel l'on travaille.
Ca a un sens pour faire du traitement sur un texte, par exemple
CODE
ls | awk '{print $1}'
ls génére un flux de texte sur lequel awk travaille, et après modification renvoie un second flux de texte.
Par contre, sur la commande rm, ça ne veut pas dire grand chose:
CODE
ls | rm
ls génère un flux de texte... mais rm ne travaille pas sur du texte, rm travaille sur le système de fichiers.
Edit: grillage du matin par le terminaltor. J'aurais du me lever plus tôt.
Écrit par : darenzana 30 Mar 2007, 20:57
Pour transformer le flux de texte généré en arguments, on peut utiliser la commande xargs. Exemple:
CODE
ls | xargs rm
Écrit par : pardon 30 Mar 2007, 21:19
à tester : http://docs.info.apple.com/article.html?artnum=301446
sinon Launchd ?
Écrit par : guerom00 30 Mar 2007, 21:25
CITATION(pardon @ 30 Mar 2007, 22:19) [snapback]2160537[/snapback]
à tester : http://docs.info.apple.com/article.html?artnum=301446
sinon Launchd ?
Merci, j'essaye ça
(mais je veux pas que ça s'exécute en tant que root
)
Pensais que ce serait plus simple que ça
Écrit par : pardon 30 Mar 2007, 21:37
bah sinon, essaye avec Launchd (dans Lingon, "My agents")
et tu peux toujours essayer sinon de faire un AppleScript qui fait un "do shell script" et que tu lances comme LoginItem, en réglant ça dans les Préfs Système > Comptes
Écrit par : OSX-Siby 30 Mar 2007, 21:56
Une petite commande pour compter le nombre de fichiers ( sans les répertoires ) à partir du niveau d'arborescence sur laquelle vous êtes.
ls -R | grep "^[^ ]" | grep "^[^\./]" | wc -l
Je m'en sers pour compter mes photos.. 10 922
C'est plus rapide qu'à la main
Pour info: La totalité des fichiers présent sur mon Macbook pro est de : 389 137 ( ce connecter en sudo obligatoirement )
je sais pas si c'est normal
Écrit par : guerom00 30 Mar 2007, 21:56
CITATION(pardon @ 30 Mar 2007, 22:37) [snapback]2160551[/snapback]
et tu peux toujours essayer sinon de faire un AppleScript qui fait un "do shell script" et que tu lances comme LoginItem, en réglant ça dans les Préfs Système > Comptes
Vi, ça roule
Merci.
Les LoginHook ne marchaient pas
J'ai pas su m'en sortir avec
do shell script et le chemin vers mon script qui comporte des espaces
Chuis pô doué
Mais c'est bon
Écrit par : pardon 30 Mar 2007, 22:11
CITATION(OSX-Siby @ 30 Mar 2007, 22:56) [snapback]2160574[/snapback]
Une petite commande pour compter le nombre de fichiers ( sans les répertoires ) à partir du niveau d'arborescence sur laquelle vous êtes.
ls -R | grep "^[^ ]" | grep "^[^\./]" | wc -l
tu peux aussi faire plus rapidement :
CODE
find . | wc -l
[edit] lu trop vite ; pour virer les dossiers, et faire en gros comme un ls (pas vraiment, ça ne vire que les fichiers commençant par '.'), plutôt faire :
CODE
find . -false -type d -false -name ".*" | wc -l
CITATION(OSX-Siby @ 30 Mar 2007, 22:56) [snapback]2160574[/snapback]
Je m'en sers pour compter mes photos.. 10 922
pour faire ça, tu peux aussi utiliser Spotlight
un truc de ce genre en bash :
CODE
function combiendimage { mdfind -onlyin "$PWD" "kMDItemContentTypeTree == public.image" | wc -l; }
à placer dans ton .profile
Écrit par : darenzana 31 Mar 2007, 02:33
CITATION(guerom00 @ 30 Mar 2007, 22:04) [snapback]2160517[/snapback]
Faîtes gaffe à la commande ci-dessus quand même
Ça n'a rien à voir avec les commandes Unix mais je ne veux pas ouvrir de nouveau sujet pour un petit problème que je suppose trivial : comment exécuter un script Shell à l'ouverture du compte ?
J'ai mon script, il est exécutable, mais bien évidemment quand je me connecte, il s'ouvre dans TextMate (l'appli par défaut)
Pas grand chose de probant dans le menu « Ouvrir avec
»
C'est tout con, je suis sûr
Merci d'avance
Heu oui pour la commande, je reprenais l'exemple sur lequel on était à la page précédente, mais la tout seul en haut de la page hors contexte, ça manque de warning!
Sinon pour ton script shell, renomme-le pour que son extension soit '.command', et il va s'ouvrir dans le terminal.
Écrit par : pardon 31 Mar 2007, 02:46
je pense pas trop m'avancer en disant que guerom00 préférerais une exécution transparente de son script
Écrit par : OSX-Siby 31 Mar 2007, 06:19
CITATION(pardon @ 30 Mar 2007, 23:11) [snapback]2160597[/snapback]
CITATION(OSX-Siby @ 30 Mar 2007, 22:56) [snapback]2160574[/snapback]
Une petite commande pour compter le nombre de fichiers ( sans les répertoires ) à partir du niveau d'arborescence sur laquelle vous êtes.
ls -R | grep "^[^ ]" | grep "^[^\./]" | wc -l
tu peux aussi faire plus rapidement :
[edit] lu trop vite ; pour virer les dossiers, et faire en gros comme un ls (pas vraiment, ça ne vire que les fichiers commençant par '.'), plutôt faire :
CODE
find . -false -type d -false -name ".*" | wc -l
....
Je pense pas que ça soit la même commande pardon
je sais pas ce que
find sort en liste mais apparement, pas tout
Si je vais dans mon dossier Applications ( toujours en root )
CODE
find . -false -type d -false -name ".*" | wc -l
résultat : 110416
CODE
ls -R | grep "^[^ ]" | grep "^[^\./]" | wc -l
résultat : 136481
Soit 26 065 fichiers d'écarts... pas vraiment une paille
Je sais pas vraiment expliquer la différence
Écrit par : pardon 31 Mar 2007, 10:09
bah, ta commande n'est pas juste (ça ne rend pas la mienne nécessairement juste )
avec la tienne, tu comptes bien les dossiers contrairement à ce que tu dis vouloir faire !
enlève le "-false -type d" et tu devrais retomber sur tes pieds alors
Écrit par : guerom00 31 Mar 2007, 10:40
CITATION(pardon @ 31 Mar 2007, 03:46) [snapback]2160774[/snapback]
je pense pas trop m'avancer en disant que
guerom00 préférerais une exécution transparente de son script
Bah surtout que c'est un script qui exécute Terminal plus ou moins
C'est le serpent qui se mord la queue
Merci
darenzana, c'est réglé
Écrit par : pardon 31 Mar 2007, 11:08
mais j'ai pas compris la fin de ton message précédent t'as fait quoi au final ?
-----
CITATION(pardon @ 31 Mar 2007, 11:09) [snapback]2160926[/snapback]
et tu devrais retomber sur tes pieds alors
… modulo le fait que tu ne rentres pas non plus dans les répertoires dont le nom commence par un '.' , invisibles à un ls sans l'option "-a"
[small]
edit: pour compréhension[/small]
Écrit par : guerom00 31 Mar 2007, 11:23
CITATION(pardon @ 31 Mar 2007, 12:08) [snapback]2160992[/snapback]
mais j'ai pas compris la fin de ton message précédent
t'as fait quoi au final ?
Qui ça ? Moi ?
Écrit par : pardon 31 Mar 2007, 11:28
oui
Écrit par : guerom00 31 Mar 2007, 15:35
CITATION(pardon @ 31 Mar 2007, 12:28) [snapback]2161013[/snapback]
oui
j'ai fait un lien symbolique vers mon script dans /usr/local/bin/, puis un AppleScript qui exécute
CODE
do shell script "/usr/local/bin/mon_lien"
Écrit par : schlum 31 Mar 2007, 17:50
CITATION(OSX-Siby @ 30 Mar 2007, 22:56) [snapback]2160574[/snapback]
Une petite commande pour compter le nombre de fichiers ( sans les répertoires ) à partir du niveau d'arborescence sur laquelle vous êtes.
ls -R | grep "^[^ ]" | grep "^[^\./]" | wc -l
Je m'en sers pour compter mes photos.. 10 922
C'est plus rapide qu'à la main
Pour info: La totalité des fichiers présent sur mon Macbook pro est de : 389 137 ( ce connecter en sudo obligatoirement )
je sais pas si c'est normal
Bizarre ta commande...
grep "^[^ ]" -> ca enlève les lignes vides, OK...
grep "^[^\./]" -> ca enlève les "entêtes", OK...
Mais tu as toujours les répertoires
Pourquoi pas simplement :
CODE
find . -type f | wc -l
??
Écrit par : guerom00 31 Mar 2007, 17:54
CITATION(OSX-Siby @ 30 Mar 2007, 22:56) [snapback]2160574[/snapback]
Pour info: La totalité des fichiers présent sur mon Macbook pro est de : 389 137 ( ce connecter en sudo obligatoirement )
je sais pas si c'est normal
767 233
C'est indiqué dans l'utilitaire de disque
Écrit par : OSX-Siby 1 Apr 2007, 09:27
Pas faux schlum
ls -lR | grep "^[^ ]" | grep "^[^\./]" | grep "^[^total ]" | grep "^[^d]" | wc -l
ca devrrait être mieux
Par contre, ça me ramène
ls: 5: Bad file descriptor
ls: 3: directory causes a cycle
ls: 6: directory causes a cycle
Pas glop
Écrit par : pardon 1 Apr 2007, 13:04
CITATION(schlum @ 31 Mar 2007, 18:50) [snapback]2161440[/snapback]
tu as toujours les répertoires
CITATION(OSX-Siby @ 1 Apr 2007, 10:27) [snapback]2161859[/snapback]
Pas faux schlum
CITATION(pardon @ 31 Mar 2007, 11:09) [snapback]2160926[/snapback]
tu comptes bien les dossiers contrairement à ce que tu dis vouloir faire !
mais tu veux faire quoi au juste ?
compter le nombre de fichier (sans les répertoires, qui en sont) à partir d'une position quelconque sur ton disque ?
bah à nouveau, tu oublies avec ton ls (qui est bien plus lent qu'un find, sans compter les 40 grep d'affilé) tous les fichiers rendus invisibles par un '.' au début de leur noms, ainsi que tous les fichiers contenus dans un répertoire invisbles dont le nom commence par un '.'
de plus, certaines de tes regexp ne sont pas bonnes non plus :
tu fais
grep "^[^total ]" pour essayer de supprimer les lignes commençant par "total " ; avec ça, tu suprimes toutes les lignes començant par 't', 'o', 'a', 'l' ou ' ' (donc tu perds au passage tous les liens symboliques en pipant ça sur un
ls -l)
c'est plutôt un truc comme ça qu'il faudrait que tu fasses :
grep -v "^total "idem pour ton grep
"^[^\./]", ça vire les lignes commençant par '.' ou par '/' (mais pour le cas, ça doit pas changer grand chose, ce que devais avoir vu
schlum j'imagine
)
et de fait, tu vois aussi comment condenser quelques-un de tes grep en un seul, parce que ça coûte cher de traiter des centaines de milliers de lignes
Écrit par : OSX-Siby 1 Apr 2007, 16:03
ba je veux compter tous les fichiers à partir d'un poind'arborescence donnée.
Qu'il commence par . ou pas, peu importe
Je suis pas un spécialiste du grep non plus
mais je le note
Merci
Donc, la commande sous la forme :
ls -lR | grep -v "^ " | grep -v "^\./" | grep -v "^total " | grep "^[^d]" | wc -l
semble beaucoup mieux
PS : ça se condense comment un grep ?
Écrit par : pardon 1 Apr 2007, 16:14
bah alors comme dit plus haut, si tu veux absolument passer par "ls", il faut aussi que tu rajoutes l'option "-a" (mais ça va rajouter des lignes à supprimer), en plus de corriger tes erreurs sur les grep
mais bon, c'est bien aussi "find"
Écrit par : schlum 1 Apr 2007, 16:15
CITATION(schlum @ 31 Mar 2007, 18:50) [snapback]2161440[/snapback]
Pourquoi pas simplement :
CODE
find . -type f | wc -l
??
Compte tous les fichiers réguliers qu'ils commencent par un point ou non
Écrit par : pardon 1 Apr 2007, 16:40
oui, on retombe sur les premières commandes (mais c'est peut-être mieux effectivement de ne compter que les fichiers réguliers)
-----
CITATION(OSX-Siby @ 1 Apr 2007, 17:03) [snapback]2162324[/snapback]
ça se condense comment un grep ?
relis mon post, ou lis la doc :
man grep
man regex
man re_format
Écrit par : guerom00 2 May 2007, 16:16
Salut à tous
J'ai un répertoire qui est subdivisé en sous répertoire de travail que j'appelle work1, work2, etc
(vous allez comprendre
). Et j'ai une commande qui me liste la taille de ces répertoires qui est
CODE
du -ks -h ~/work/work*
.
Ça me donne comme résultat un truc comme ça
CODE
2,6G /home/rom/work/work1
0 /home/rom/work/work10
5,2G /home/rom/work/work100
3,6G /home/rom/work/work101
2,4G /home/rom/work/work11
0 /home/rom/work/work12
0 /home/rom/work/work13
0 /home/rom/work/work14
0 /home/rom/work/work15
0 /home/rom/work/work16
0 /home/rom/work/work17
0 /home/rom/work/work18
0 /home/rom/work/work19
2,2G /home/rom/work/work2
Ce que je voudrais, c'est que mes répertoires soient classés par ordre croissant
Donc, un truc comme ça
CODE
rom/work> work
2,6G /home/rom/work/work1
2,6G /home/rom/work/work2
2,6G /home/rom/work/work3
2,6G /home/rom/work/work4
2,6G /home/rom/work/work5
2,6G /home/rom/work/work6
etc
J'ai essayé un peu de piper ma commande
du avec un
sort mais j'y suis pas arrivé
Merci d'avance pour vos réponses
Écrit par : schlum 2 May 2007, 16:25
CODE
du -ks -h ~/work/work* | sed "s/\(.*work\)\([0-9]*\)/\2 - \1\2/" | sort -n | sed "s/[0-9]* - \(.*\)/\1/"
(comment ça c'est tordu ?
)
Écrit par : schlum 2 May 2007, 17:11
Hum, il y a peut-être plus optimisé hein... Parce-ce que là, ma commande ajoute le numéro du work devant chaque ligne, puis fait un tri numérique, puis supprime le numéro ajouté !
Écrit par : darenzana 4 May 2007, 22:25
Après une bonne prise de tête sur le man de sort:
CODE
du -sh ~/work/work* | sort +1.19n
doit faire l'affaire (si ton ~ est bien /home/rom).
On indique à sort de choisir la clef de tri comme suit:
+1 = 2e champ de la ligne
.19 = 20e caractere de ce champ
n = indique qu'on veut un tri numérique et pas alphabétique.
Écrit par : guerom00 4 May 2007, 22:40
Yep, ça marche mais c'est +1.20n
Merci à toi
Écrit par : schlum 5 May 2007, 07:56
CITATION(darenzana @ 4 May 2007, 23:25) [snapback]2199459[/snapback]
Après une bonne prise de tête sur le man de sort:
CODE
du -sh ~/work/work* | sort +1.19n
doit faire l'affaire (si ton ~ est bien /home/rom).
On indique à sort de choisir la clef de tri comme suit:
+1 = 2e champ de la ligne
.19 = 20e caractere de ce champ
n = indique qu'on veut un tri numérique et pas alphabétique.
Effectivement, ça fonctionne avec le "sort" de Mac OS X... (pas avec le sort GNU de Fink
)
Écrit par : darenzana 5 May 2007, 16:22
CITATION(schlum @ 5 May 2007, 08:56) [snapback]2199615[/snapback]
Effectivement, ça fonctionne avec le "sort" de Mac OS X... (pas avec le sort GNU de Fink
)
Effectivement. Apparement, la version POSIX serait plutôt
CODE
du -sh ~/work/work* | sort -k 2.21n
qui doit marcher dans les 2 cas...
Écrit par : schlum 6 May 2007, 23:14
J'ai déjà essayé, malheureusement, ça n'a pas l'air de fonctionner très bien...
Écrit par : polux748 5 May 2009, 19:24
Pas mal. Merci pour certain info TERMINAL Mac.
Écrit par : rudx 22 Jun 2009, 23:19
Raccourcis clavier pour éditer et ce déplacer dans le terminal
Écrit par : rudx 22 Jun 2009, 23:59
Suite du message précédent...
Positionnement du curseur
Ctrl-B ou flèche gauche Déplace le curseur d'un caractère vers la gauche
Ctrl-F ou flèche droite Déplace le curseur d'un caractère vers la droite
Esc- B Déplace le curseur d'un mot vers la gauche, lâcher esc à chaque fois
Esc-F Déplace le curseur d'un mot vers la droite, lâcher esc à chaque fois
Ctrl-A Déplace le curseur au début de la ligne
Ctrl-E Déplace le curseur a la fin de la ligne
Suppression de texte
Ctrl-H ou Retour arrière Efface le caractère à gauche du curseur
Ctrl-D Efface le caractère sous le curseur
Esc-D Efface le mot suivant
Esc-Retour arrière Efface le mot précédent
Ctrl-K Efface tout depuis le curseur jusqu'à la fin de la ligne (à droite du curseur)
Ctrl-U Efface toute la ligne
Ctrl-Y Colle la dernière chaîne de caractère supprimée
Cmd-K Efface toutes les informations dans la fenêtre du terminale en supprimant la possibilité de revenir en arrière différent de clear
Cmd-(point) ou Ctrl-C Interrompt le processus ;annule la commande précédente
Esc-C Met la première lettre du mot qui suit le curseur en Majuscule et les suivantes en minuscules
Esc-L Met le mot suivant en minuscule
Esc-U Met le mot suivant en Majuscule
Ctrl-S Arrête le défilement de la sortie d'un programme à l'écran
Ctrl-Q Permet à l'écran de défiler à nouveau après Ctrl-S
Ctrl-Z Suspend un processus , pour le relancer taper bg ou fg pour background ou foreground
Écrit par : lhtd 23 Jun 2009, 07:17
Citation (Origin @ 21 Mar 2006, 19:10)
Citation (philjfry @ 21 Mar 2006, 14:24)
Toutes les commandes :
cd /bin ; for i in * ; do whatis $i ; done | more ; cd
En exercice : répéter l'opération pour tous les éléments du $PATH !
Citation
Et comment ont l'arête mis à par forcé a quitter le TERMINAL ???
pour arrêter, taper ctrl -z !
Heu, le CTRL-Z stoppe le programme en cours, certes, mais ne le supprime pas pour autant, on peut le relancer (comme tout unix) par un petit "fg" en ligne de commande.
l'arrêt d'un process sur un terminal (quand c'est possible) c'est CTRL-C plutôt
sous le terminal mac (pomme + .) marchent bien pour tuer les processus.
Écrit par : m.ngr 6 Aug 2019, 13:02
C'est kdo
Écrit par : frankie00 8 Aug 2019, 13:00
Utile pour savoir les processus lancés==> une tonne sont lancés par Apple mais on a les N° de process avec donc on peut killer ceux qui bloquent
>launchctl list
Écrit par : jeanjd63 8 Aug 2019, 18:17
Citation (frankie00 @ 8 Aug 2019, 14:00)
,........
Pour bloquer la mise en veille automatique==> Très pratique si vous devez downloader la série complète des X-filles et que vous partez en WE à pedzec-sur-Ypou
........
C'est pournous ça ?
Écrit par : frankie00 12 Aug 2019, 06:26
sinon ça marche les commandes Terminal que j'ai données ?
Tu n'es pas obligé de remercier remarqUE...
Écrit par : jeanjd63 12 Aug 2019, 06:31
Citation (frankie00 @ 12 Aug 2019, 07:26)
sinon ça marche les commandes Terminal que j'ai données ?
Tu n'es pas obligé de remercier remarqUE...
You talk to me?
Coté terminal j'en connais suffisamment, donc pour les remerciement si ça te fais plaisir pourquoi pas.
Écrit par : baron 15 Aug 2019, 19:59
Note de la modération aux deux loustics :
Pas besoin de vous asticoter ainsi : des échanges personnels hors-sujet peuvent éventuellement se faire via MP mais n'avaient pas leur place ici.
J'ai élagué.
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)