#0 -1 » un micro script a améliorer : sommer les tailles de lots de fichiers » Le 10/05/2010, à 15:25
- francoisp31
- Réponses : 3
slt,
j'ai eu besoin de me faire une commande de la mort, pour trouver la somme en taille 'Mo' de tous les fichiers que j'ai choisis mais aucun autre....
bref ducoup j'ai adapter pour vous donner un premier jet du script que chacun adaptera a ses besoins:
ça donne ça :
$ ./size_type ../*pdf * ../*gz /home/francois/Documents/*
418.44 Mo
$
et
#!/bin/sh
while [ -n "$1" ]
do
# juste pour rendre le nombre de paramètres indéfini et les fichiers avec espaces
ls -l "${1}"
shift
done | awk '{print $5}'| sed '/^$/d ; 3,$ s/$/+/ ; $,$ s/$/\ 2k\ 1024\ \/\ 1024\ \/\ pq/' | dc | sed "s/$/\ Mo/"
concrètement comment ça marche ? tout simplement
après le awk on a une liste de tailles de fichier (1 par ligne)
la séquence sed sert à ajouter des caractères de contrôle pour la desktop calculator (dc) par exemple
343254
53453+
[...]
423424+
42342+
423+ 2k 1024 / 1024 / pq
et le tour est joué y'a plus qu'a ajouter "Mo" en fin de ligne
#1 Re : -1 » un micro script a améliorer : sommer les tailles de lots de fichiers » Le 11/05/2010, à 07:29
- francoisp31
- Réponses : 3
oui bien vu, j'ai posté tel quel, en épurant certaines actions perso (d'où l'usage de sed) qui ici ne se justifient plus.
#2 Re : -1 » Accès au bureau à distance de mon serveur dédié OVH impossible » Le 10/05/2010, à 11:04
- francoisp31
- Réponses : 2
c'est surement le nxservice qui est tombé relance le
/etc/init.d/nxserver ou nxd ou nxserver (je sais plus le nom) restart
#3 -1 » jeux de train electiques ou assimilté sous linux (no-WINE !!! merci) » Le 15/05/2010, à 22:09
- francoisp31
- Réponses : 3
bonjour,
je suis à la recherche de simlateurs de trains divers et variés de tout type ne nécessitant pas WINE ou de WM
donc jeux linux, ou java à la limite
Quelque ce soit le type
des simples jeux de gestion de circulation,
de synchronisation de signaux (sans voir les trains donc)
des jeux flashs même à la limite
de schématiseur de circuit modelisme HO
bref tout sauf des jeux de gestion multiple comme transport tycoon ou simutrans
donc si vous en connaissez merci de les mentionner ici.
#4 Re : -1 » jeux de train electiques ou assimilté sous linux (no-WINE !!! merci) » Le 16/05/2010, à 18:08
- francoisp31
- Réponses : 3
merci pour ces deux premiers là, manifestement ça fonctionne bien et ca semble convenir au voisin... hesitez pas à en citer d'autres.
#5 Re : -1 » Lister les périphériques connectés mais pas encore montés? » Le 12/05/2010, à 10:07
- francoisp31
- Réponses : 6
cette solution ne fonctionnera pas car ca ne défini pas les partitions montées ou non.
en plus ca affichera aussi les partitions de type swap, ni les ram-disks ni les montages réseaux
il vaut mieux faire un comparatif entre df -h qui affiche ce qui est monté et ce qui est monté automatiquement par la fstab, le mtab et la liste remonté par ls /dev/[sh]d[a-z]
exemple du pourquoi ça ne marche pas :
undertaker:/home/francois# cat /proc/partitions
major minor #blocks name
22 0 156290904 hdc
22 1 345366 hdc1
22 2 15623212 hdc2
22 3 3903795 hdc3
22 4 1 hdc4
22 5 345366 hdc5
22 6 4883728 hdc6
22 7 2931831 hdc7
22 8 1510078 hdc8
22 9 393561 hdc9
22 10 126351193 hdc10
undertaker:/home/francois# df -h
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
/dev/hdc1 327M 243M 67M 79% /
tmpfs 1014M 0 1014M 0% /lib/init/rw
udev 10M 744K 9,3M 8% /dev
tmpfs 1014M 0 1014M 0% /dev/shm
/dev/hdc10 119G 65G 48G 58% /home
/dev/hdc7 2,8G 69M 2,6G 3% /opt
/dev/hdc2 15G 5,6G 8,4G 41% /usr
/dev/hdc6 4,6G 162M 4,2G 4% /usr/games
/dev/hdc3 3,7G 535M 3,0G 16% /var
/dev/ram0 7,8M 45K 7,4M 1% /var/www/cgi-bin
/dev/ram1 7,8M 45K 7,4M 1% /var/www/icons
/dev/ram2 7,8M 45K 7,4M 1% /var/www/html
/dev/hdc9 373M 11M 343M 3% /home/tmp/francois
//nas.pagnol.net/PUBLIC
77G 48G 29G 63% /mnt
//baccus.pagnol.net/public/
291G 77G 215G 27% /mnt2
curlftpfs 7,5T 0 7,5T 0% /mnt3
undertaker:/home/francois#
y'a pas de solution simple pour ça, un script va s'avérer indispensable car il y a plusieurs choses à comparer et tester...
#6 Re : -1 » Echanger régulierement des fichiers entre 2 serveurs » Le 12/05/2010, à 09:58
- francoisp31
- Réponses : 3
pour cet usage rsync est en effet le meilleur moyen, il faut juste faire attention à bien donner les clefs d'accès aux machines pour que le script ne demande pas le password à chaque fois.
#7 Re : -1 » [RAID0] Problème d'installation sur du RAID0 » Le 10/05/2010, à 07:59
- francoisp31
- Réponses : 8
normal tu n'as pas de raid matériel, mais un raid windows (un raid pseudo-matériel mais qui nécessite quand même une couche soft)
pour linux par conséquent, tu dois paramétrer un raid soft avec mdadm
#8 Re : -1 » [RAID0] Problème d'installation sur du RAID0 » Le 11/05/2010, à 07:27
- francoisp31
- Réponses : 8
avant install ? non pendant oui mais sous debian ceci dit la racine en raid soft est tjrs un POF (point of failure) c'est pourquoi il est recommandé de ne pas l'integré, et pourquoi je l'interdit formellement à mes collaborateurs et prestataires.
#9 Re : -1 » [RAID0] Problème d'installation sur du RAID0 » Le 11/05/2010, à 11:23
- francoisp31
- Réponses : 8
le mieux c'est d'avoir 3 disques
1 petit rapide (installation de / de /boot du swap de /tmp et /var/log et /var
2 identiques en raid 0+1 ou raid 1 enfin comme tu as besoin, et tu mets tout le reste dessus à savoir /usr, /opt, /usr/local, /usr/share, /home /var/mysql
et tu créer pendant l'installation au moment du partitionnement des partition raid qui contiendra les sous-partitions /usr /opt /usr/local /usr/share et /home
une fois le boot post-install terminé, tu aura pas a re-créer le raid mais juste a faire un assemblage du raid (mdadm .... --assemble device device) si ma mémoire est bonne..
par contre l'install easy-to-use toute graphique je crois pas que ces fonctions avancées y soient disponibles si ??
#10 Re : -1 » Logiciel traduction interface graphique > Shell » Le 06/05/2010, à 14:02
- francoisp31
- Réponses : 2
tu peux surtout et plus efficacement faire l'inverse c'est à dire utiliser un shell dans l'interface graphique et effectuer tes lancements depuis cette fenetre "terminal" afin de progresser rapidement.
#11 Re : -1 » [resolu] ssh + faire afficher un message à l'écran » Le 08/05/2010, à 12:59
- francoisp31
- Réponses : 6
par exemple si tk est installé tu peux lui faire des petits messages comme ça
ssh -l utilisateur machine
puis une fois connecter par exemple :
wish << EOT
wm title . "hi!"
button .hello -text "Hello, World!" -command exit
pack .hello
EOT
ou bien sur tu peux automatiser en faisant un script
#12 Re : -1 » [resolu] ssh + faire afficher un message à l'écran » Le 08/05/2010, à 17:42
- francoisp31
- Réponses : 6
détailler plus ???
la connection ssh classique
ssh -l utilisateur machine
commande wish pour ouvrir une fenetre locaclement (donc sur la machine distante)
dans cet exemple un simple "bouton" qui affiche hello et quitte quand l'utilisatrice locale clique dessus
c'est du tk comme langage l'avantage c'est que ta copine sous X recoit une fenetre sur l'interface graphique
demonstration :
le terminal local construit donc la fenetre HI sur la session X n°1 de la machine undertaker
avec le message "hello world"
L'interet de la méthode est uniquement contrairement au notify-send, qu'il marche quel que soit l'interface distante meme TWM la supporte, l'inconveignant c'est qu'il faut ecrire un bout de code en TK....
#13 Re : -1 » creer tar en fonction date » Le 11/05/2010, à 11:32
- francoisp31
- Réponses : 1
comme ça sans refléchir la solution de facilité :
find . -type f -mtime +1 -exec tar uf t.tar {} \;
ou encore
DATE=#mise en forme à j-1
tar czf t.tar --mtime=$DATE ...........
la seule difficulté c'est de faire -1 sur le jour et le moi et l'année en tennant compte du fais que les mois peuvent avoir 31 30 29 ou 28 jours et non pas un nombre fixe. et que le jour n°0 n'existe pas idem pour le moi
exemple 15 janvier 2010 - 20 = 25 décembre 2009 tout change le n° de jour celui du moi celui de l'année.
#14 Re : -1 » Script Bash: lancer trackmania sur un autre server X » Le 10/05/2010, à 11:07
- francoisp31
- Réponses : 16
cd: 9: can't cd to ~/home/enbas/.wine/dosdevices/c:/Program Files/TmNationsForever
wine: invalid directory ~/.wine in WINEPREFIX: not an absolute path
mets le chemin réel plustot que le relatif visiblement c'est ça l'erreur si tu lis le message d'erreur
#15 Re : -1 » Ouvrir un fichier sur un autre bureau ? » Le 07/05/2010, à 11:34
- francoisp31
- Réponses : 8
sinon tu peux utiliser 2 serveurs X sur TF7 et TF8 (les display 0 et 1)
et de faire par exemple
export DISPLAY=localhost:1 ; oowriter
pour envoyer oowriter sur le serveur X TF8
export DISPLAY=localhost:0 ; oowriter
pour envoyer oowriter sur le serveur X TF7
par contre c'est pas le même BUREAU mais bien deux session X distinctes donc c'est bien moins souple....
#16 Re : -1 » Ouvrir un fichier sur un autre bureau ? » Le 08/05/2010, à 13:01
- francoisp31
- Réponses : 8
À part me planter mes applications (je sais les envoyer mais pas les rapatrier), ça ne fait pas grand chose .. ?!
Je ne savais même pas qu'on avait 2 serveurs X
tu peux en démarrer autant que ta machine peut en supporter en terme de performances en fait...
#17 Re : -1 » Quota Base Mysql » Le 07/05/2010, à 16:16
- francoisp31
- Réponses : 1
la solution facile mais malpropre
quota systeme sur le repertoire qui contient les fichier de la base toto de mysql à quota de X
quota systeme sur le repertoire qui contient les fichier de la base tutu de mysql à quota de Y
quota systeme sur le repertoire qui contient les fichier de la base tata de mysql à quota de Z
(en prime ça peut ramer si les bases sont sur un meme disque physique !)
sinon tu peux gerer le quota au niveau MYSQL mais ca necessite des outils externes en particulier le daemon mysql-quota dispo depuis la version 4 de mysql
http://lrem.net/software/mysql-quota-daemon.xhtml
je ne l'ai jamais testé personnellement mais ca semble pas trop trop complexe à mettre en place
#18 Re : -1 » Aide à un newbie please ... » Le 05/05/2010, à 09:32
- francoisp31
- Réponses : 5
comprendre l'erreur ou c'est pas facile je sais surtout les messages traduits...
en fait il dit juste que tu ne précise pas où il doit faire la copie (nom de fichier ou nom de répertoire ou variable contenant une de ces deux informations)
sudo cp /home/philippe/bureau/Ytek-border_V1.2.scm /usr/share/gimp/2.0/scripts/
puisque tu es deja dans le bon repertoire tu peux simplifier en "." pour répertoire courant comme ça :
sudo cp /home/philippe/bureau/Ytek-border_V1.2.scm .
#19 Re : -1 » [resolu] suppr et a ajout de lignes avec sed » Le 02/05/2010, à 22:53
- francoisp31
- Réponses : 7
francois@francois-laptop:~$ cat > toto
fdsfdsg
fgdsfgsdf
fdgdfsgs
fdgdsgdfs
rezarezr
erazeraz
arzazreaz
francois@francois-laptop:~$ cat toto | sed "1,5d ; s/^$// ;$,$ a\Exit"
erazeraz
arzazreaz
Exit
francois@francois-laptop:~$
tu es obligé de mettre le numero de ligne complet $,$ pour l'append de "EXIT" c'est pour ça
#20 Re : -1 » Monter un disque en RAID » Le 04/05/2010, à 19:32
- francoisp31
- Réponses : 2
si tu boutes pas sur le systeme source du createur des MD oui normal il connait pas le MD tu dois alors le "reconstituer"
#21 Re : -1 » Linux sans GNU ca existe? ca donne quoi? » Le 04/05/2010, à 09:39
- francoisp31
- Réponses : 3
Petite explication
Linux comme Sputnik l'indique n'est que le noyau, c'est à dire le coeur du système, ces principaux rôles sont la gestion des entrées/sorties entre les drivers et le materiel, les entrées/sorties pour les materiels à accès immédiat et les logiciels, et bien sur la liaison entre les softs et les librairies du systèmes, (pour les librairies software ca se passe ailleurs dans les couches hautes).
C'est un résumé extrème mais en gros c'est ça ...
Ce que tu compares à MSDOS (le shell) c'est une interface texte vers toutes les application textes et les commandes standardisée unix (les applications texte fournies de base comme étant un minimum) c'est ce qu'on appelle une LSB (linux standard base) dans les années 90 cette base était constitué des outils GNU et du noyau linux d'ou le nom GNU-Linux.
Je pense qu'ainsi c'est plus clair.
Les possibilités sont donc :
Linux + des commandes drivers et shell écrits par d'autres organisations que GNU
autre noyau + les commandes GNU (exemples NEXENTA (solaris + GNU + programmes SUN) et AIXL (AIX +GNU +programmes IBM))
un autre noyau + les commandes (exemples *BSD) + des élements gnu mixés
etc...etc....
Dans tous les cas il est techniquement possible de se passer de GNU, ou de Linux mais l'architecture d'UNICS (l'origine de tous les uniX) tjrs utilisée de nos jours dans tous les UNIX restera noyau + couches basses + couches hautes
C'est aussi vrai pour le noyau mach de windows ou pour MacOSX bien sur (qui trouve son origine dans NEXTSTEP lui même basé sur unix)
Bref :
Oui il est techniquement possible de se passer de GNU :
-écrire tous les programmes et drivers
-utiliser une distribution unix propriétaire
etc...
Mais ce qu'on appelle à tors linux est en réalité une distribution GNU-Linux + les softs livrés de bases (certaines distribs sont livrées de base avec tous les outils du quotidien comme interface totalement graphique, des applications bureautiques etc....).
Bref ta compréhension linux+gnu = interface de commande est un peu fausse, mais pas totalement.
J'éspère avoir été clair
#22 Re : -1 » bash - Peut-on comme en C écrire une boucle do while » Le 03/05/2010, à 20:14
- francoisp31
- Réponses : 3
oui
aussi
while <condition>
do
......
done
#23 Re : -1 » [RESOLU]Vérifier qu'une variable ne contient pas que des espaces ? » Le 03/05/2010, à 08:05
- francoisp31
- Réponses : 9
francois@francois-laptop:~$ echo $t
francois@francois-laptop:~$ $(echo $t | grep -E "\ |^$") ; if [ $? -eq 1 ]; then echo "not ok for ^$ neither ' '" ; else echo "ok : ' ' or ^$ " ; fi
ok : ' ' or ^$
francois@francois-laptop:~$ t=" "
francois@francois-laptop:~$ $(echo $t | grep -E "\ |^$") ; if [ $? -eq 1 ]; then echo "not ok for ^$ neither ' '" ; else echo "ok : ' ' or ^$ " ; fi
ok : ' ' or ^$
francois@francois-laptop:~$ t='a'
francois@francois-laptop:~$ $(echo $t | grep -E "\ |^$") ; if [ $? -eq 1 ]; then echo "not ok for ^$ neither ' '" ; else echo "ok : ' ' or ^$ " ; fi
not ok for ^$ neither ' '
francois@francois-laptop:~$
voilà pour une comparaison complête
normalement on teste la variable directement mais la c'est plus facile à comprendre pour commencer.
pour de l'information il faut lire le man de bash au niveau des "if" tu verras qu'il y a pleins de comparaisons différentes.
par exemple la comparaison immédiate :
francois@francois-laptop:~$ echo $t | grep -E "\ |^$" && echo "empty or space" || echo "not empty or not only a space"
not empty or not only a space
francois@francois-laptop:~$ t=''
francois@francois-laptop:~$ echo $t | grep -E "\ |^$" && echo "empty or space" || echo "not empty or not only a space"
empty or space
francois@francois-laptop:~$
enfin une syntaxe plus normale quand on veut le if statement complet :
francois@francois-laptop:~$ if $(echo $t | grep -E "\ |^$") ; then echo "empty or space" ; else echo "not empty or not only a space" ; fi
not empty or not only a space
francois@francois-laptop:~$ t=' '
francois@francois-laptop:~$ if $(echo $t | grep -E "\ |^$") ; then echo "empty or space" ; else echo "not empty or not only a space" ; fi
empty or space
francois@francois-laptop:~$
#24 Re : -1 » [RESOLU]Vérifier qu'une variable ne contient pas que des espaces ? » Le 03/05/2010, à 14:45
- francoisp31
- Réponses : 9
@RayBan, "" et " " par exemple, ça n'a rien à voir. Dans le premier cas la variable est nulle, dans le second elle vaut des espaces. Ça semble tordu ton truc comme ça à la base.
@francoisp31, pas besoin de tes substitutions de commandes $( ) ni même du echo.
if grep -qE "\ |^$" <<< "$t"; then echo "empty or space" ; else echo "not empty or not only a space" ; fi
interopérabilité du code... avec d'autres unix utilsant des bash pas tjrs identiques désolé l'habitude de se protéger..