Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[LIGNE DE COMMANDE] Maîtriser son OS
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
idodesuke
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 244
Location: France

PostPosted: Fri Jun 17, 2011 12:45 pm    Post subject: [LIGNE DE COMMANDE] Maîtriser son OS Reply with quote

Ce sont les commandes du système j'ai pris des notes au fur et à mesure, si ça peut aider des gens a se mettre à la ligne de commande, et si d'autres peuvent partager leurs trucs et astuces, on peut ajouter des choses. Par contre il pourrait y avoir une différence entre mes memos personnels et ceux que je poste sur le forum.

changelog
Code:
2082011:
J'espère que je ne suis pas trompé dans mes copier/coller sinon je reviendrai dessus plus tard. J'ai ajouté un -1
(pour des mises à jour si besoin) à la fin des noms de fichiers, je vais en faire autant sur ma machine, j'ai ajouté
la date d'aujourd'hui en début de fichier aussi.
Je ne sais pas trop comment noter les commandes, noter les choses à changer entre <> ça me parraît pas mal. Je ferai
plus attention en lisant les pages de man et je reviendrai dessus.
Je peux gérer les versions des fichiers " /home/ido/workshop/wks/prj/memo/"
Et me contenter de dater les fichiers dans "~/memo"

ido@zalem memo 17:48
$ls /home/ido/workshop/wks/prj/memo/
changelog  memomultimedia-1  memoos-1  memoosgentoocontrib-1  memoosgentooupdate-1  memoossysadmin-3  memotext-1

ido@zalem memo 17:48
$ls ~/memo
h.c_monitors           memodevcvs     memodevxml            memomultimedia   memoosadvanced        memoosgentooebuild~  memoosmemory1    memotemplate~  memotxtmiseenforme
memobrowsecode         memodevcvsad   memodevxsl            memomultimedia~  memoosadvanced~       memoosgentooupdate   memoossysadmin   memotext       memotxtmiseenforme~
memobrowsecode~        memodeverrors  memodevxslex          memonotes        memoosadvanced1       memoosgentooupdate~  memoossysadmin~  memotext~      memowww
memocharacterencoding  memodevhead    memoemacs             memonotes~       memoosgentoocontrib   memoosgentooupdate1  memoossysadmin1  memotext1      memowww~
memodevc               memodevpy      memognuplot           memoos           memoosgentoocontrib~  memoosido            memosed          memotime       memowwwhttpcodes
memodevc~              memodevpy~     memognuplot~          memoos~          memoosgentoocontrib1  memoosmemory         memotemplate     memotime~
memodevcoptimization   memodevseek    memographicspainting  memoos1          memoosgentooebuild    memoosmemory~        #memotemplate#   memotxtlatex


memomultimedia-1
Code:
#17/06/2011 v1
\033[1;31m--> Image iso\033[0m
  $mkisofs -r -o mon_image.iso mon_fichier
  $mount -t iso9660 mon_image.iso mon_fichier -o loop
----------
\033[1;31m--> Commandes pour graver DVD :\033[0m
  $dvd+rw-format -force /dev/dvd && mkisofs -r -o backup.iso backup && growisofs -Z /dev/dvd=backup.iso
  $growisofs -dvd-compat -Z /dev/dvd -R -J -pad mon_repertoire
----------
\033[1;31m--> Commandes pour graver CD :\033[0m
  $cdrecord dev=ATA -scanbus
  $cdrecord -v -dao speed=8 dev=ATAPI:x,y,z /chemin/image.iso
----------
  $mount -o rw,user /dev/sdb1 /media/usbkey
----------
\033[1;31m--> MPLAYER :\033[0m
  $gnome-terminal --geometry=70x30 --title Radio -x mplayer -af volnorm -ao alsa:noblock:device=hw=1.0 -softvol -fs -vo gl2 -playlist %q
-----------
\033[1;31m--> Limiter la vitesse de lecture du lecteur :\033[0m
  $eject -x 8 /dev/cdrom
-----------
\033[1;31m--> Lister les processus utilisant le son si le répertoire "/dev/snd" est peuplé :\033[0m
  $fuser -v /dev/snd/*
-----------
\033[1;31m--> Lancer Jack en ligne de commande :\033[0m
  $jackd -R -d alsa
-----------
\033[1;31m--> Lancer un métronome en ligne de commande :\033[0m
  $jack_metro -f 440 -a 1 --name metro -b 60 &
à la fréquence de 440
avec un son maximum (0 et le minimum, 1 le maximum),
-name est le nom du client Jack,
et -b le nombre de battements par minute (BPM).
-----------
\033[1;31m--> Enregistrer un flux audio avec Jack :\033[0m
  $jack_capture
-----------
\033[1;31m--> Enregistrer un flux audio avec arecord :\033[0m
  $arecord -f cd -D hw:1 essai1.wav
  $arecord -f cd -D plughw:1 essai1.wav
-----------
\033[1;31m--> Se connecter à un périhérique audio :\033[0m
En saisissant directement le périphérique ALSA (hw:0 ou hw:1 et ainsi de suite).
En routant le flux par alsa-lib (plughw:0,0 ou plughw:1,0 et ainsi de suite).
Il est possible de définir des périphériques virtuels dans ~/.asoundrc pour plus de contrôle.
-----------
\033[1;31m--> Configurer les expresskeys de la tablette graphique\033[0m
  $xsetwacom set Pad Button3 "core key ctrl z"
  $xsetwacom set Pad Button4 "core key ctrl y"
  $xsetwacom set Pad Button5 "core key n"
  $xsetwacom set Pad Button6 "core key p"
  $xsetwacom set Pad Button7 "core key k"
  $xsetwacom set Pad Button8 "core key shift e"
\033[1;34m##############\033[0m


memoos-1
Code:
#17/06/2011 v1
\033[1;31m--> Afficher l'espace disque occupé à l'intérieur
    d'un répertoire.\033[0m
\033[1;34mAffiche un total pour chaque paramêtre.\033[0m
  $du -hs .
----------
\033[1;31m--> Lister les processus en arrière plan.\033[0m
  $jobs
----------
\033[1;31m--> Execution en avant plan.\033[0m
  $fg
----------
\033[1;31m--> Execution en tache de fond.\033[0m
  $bg
----------
\033[1;31m--> Gérer les permissions (u)(g)(o)\033[0m
1 : droit d'exécution                   4 (SUID)
2 : droit d'écriture                    1 (Sticky)
4 : droit de lecture                    2 (SGID)
----
la lecture (r comme read)               s (SUID)      
l'écriture (w comme write)              g (SGID)         
l'exécution (x comme execute)
----------
\033[1;31m--> Envoyer un signal à un processus\033[0m
  $pidof advi
  $kill -SIGUSR1 23781
sighup, sigint, sigquit, sigill, sigtrap, sigabrt, sigiot, sigbus, sigfpe, sigkill,
sigusr1, sigsegv, sigusr2, sigpipe, sigalrm, sigterm, sigstkflt, sigchld, sigcont,
sigstop, sigtstp, sigttin, sigttou, sigurg, sigxcpu, sigxfsz, sigvtalrm, sigprof,
sigwinch, sigio, sigpoll, sigpwr, sigsys
----------
\033[1;31m--> Quelques permissions\033[0m
  $chown -R mpd:audio /home/mpd/musics && \
  $chmod -R 760 /home/mpd/musics && \
  $find /home/mpd/musics -type d -exec chmod 770 '{}' \;
----------
\033[1;31m--> Liste des repertoires sans leurs sous-repertoires.\033[0m
  $find * -type d -prune
----------
\033[1;31m--> Trouver $FICHIER dans $REPERTOIRE.\033[0m
  $find $REPERTOIRE -name "$FICHIER"
----------
\033[1;31m--> Trouver $FICHIER dans $REPERTOIRE, exclure $REP_A_EXCLURE de la recherche\033[0m
  $find $REPERTOIRE -name "$FICHIER" | egrep -vi "^(/$REP_A_EXCLURE)"
il faut échapper les antislash!
ex:
  $egrep -vi "^(\/media\/dvdrom\/ADOBEICC\/ENGLISH\/)"
----------
\033[1;31m--> Rechercher une chaine de caractère dans les fichiers
    du répertoire courant.\033[0m
  $grep -E -i 'on peut|permet' *
----------
\033[1;31m--> Compter le nombre d'occurances d'une chaine de caractère
    dans les fichiers du répertoire courant.\033[0m
  $grep -E -i ’on peut|permet’ *.tex | wc -l
----------
\033[1;31m--> Afficher les liens cassés\033[0m
  $blink [répertoire 1] [répertoire 2] ...
----------
\033[1;31m--> Afficher et supprimer les liens cassés\033[0m
  $find /usr/bin -type l ! -xtype f ! -xtype d -ok rm -f {} \;
----------
\033[1;31m--> Tester une condition rapidement en ligne de commande\033[0m
  $if [CONDITION]; then [CONDITION VERIFIEE]; else [CONDITION N EST PAS VERIFIEE]; fi
----------
\033[1;31m--> Naviguer dans les répertoires\033[0m
\033[1;34mEnregistrer le chemin de nom-rep dans la pile de répertoires et changer le répertoire courant par nom-rep.\033[0m
  $pushd nom-rep
\033[1;34mSupprimer (enlève du haut) le chemin du dernier répertoire et, en même temps, change de répertoire courant
par celui qui vient d'être récupéré dans la pile.\033[0m
  $popd
\033[1;34mLister le contenu de la pile de répertoires (comparez ceci avec la variable $DIRSTACK). Une commande pushd
ou popd satisfaite va automatiquement appeler dirs.\033[0m
  $dirs
----------
\033[1;31m--> Configurer les expresskeys de la tablette graphique\033[0m
  $xsetwacom set Pad Button3 "core key ctrl z"
  $xsetwacom set Pad Button4 "core key ctrl y"
  $xsetwacom set Pad Button5 "core key n"
  $xsetwacom set Pad Button6 "core key p"
  $xsetwacom set Pad Button7 "core key k"
  $xsetwacom set Pad Button8 "core key shift e"
\033[1;34m##############\033[0m[/quote]

memoosadvanced-1
[quote]#17/06/2011 v1
\033[1;31m--> Réseau.\033[0m
  $scp mon_fichier username@remotebox:
  $nmap kuzutetsu -p 0-65535
----------
\033[1;31m--> Consulter le code de sortie de la dernière commande dans un shell.\033[0m
  $echo $?
Le !, qualificateur du non logique, inverse le résultat d'un test ou d'une commande et ceci affecte son code de sortie.
----------
\033[1;31m--> Lister les fichiers actuellement ouverts sur le système.\033[0m
  $lsof
----------
\033[1;31m--> Tester une condition rapidement en ligne de commande.\033[0m
  $if [CONDITION]; then [CONDITION VERIFIEE]; else [CONDITION N EST PAS VERIFIEE]; fi
----------
\033[1;31m--> Afficher les modules du noyau :\033[0m
  $find /lib/modules/<version du noyau>/ -type f -iname '*.o' -or -iname '*.ko'
-----------
\033[1;31m--> Afficher la configuration actuelle de netfilter :\033[0m
  $iptables -t filter -L --line-numbers -v
-----------
\033[1;31m--> Configurer la vitesse du processeur :\033[0m
  $cpufreq-set --freq 1800MHz
-----------
\033[1;31m--> Forcer la vérification des disques :\033[0m
  $touch /forcefsck
  $shutdown -r -F now
-----------
\033[1;31m--> Afficher la liste des pilotes installés :\033[0m
  $qlist -I -C x11-drivers/
-----------
\033[1;31m--> Configuration du clavier :\033[0m
  $setxkbmap <layout>
  $setxkbmap -model pc105 -layout fr -variant latin9,winkeys
  $gnome-keyboard-properties
-----------
\033[1;31m--> ARGYLL\033[0m
  $dispcal -v -q l -y c viewsonic-calib
  $targen -v -d3 -f250 viewsonic-calib
  $dispread -v -y c -k viewsonic-calib.cal viewsonic-calib
  $colprof -v -A "ViewSonic" -M "VP2250wb" -D "Aug 062009-2252" -q m -as viewsonic-calib
  $su -c "cp /home/ido/calib/viewsonic-calib.icc /etc/calib/"
  $xcalib /etc/calib/viewsonic-calib.icc
-----------
\033[1;31m--> Here's how to run date on four machines named gentoo-box-1, gentoo-box-2, and so on:\033[0m
  $pdsh -w $(echo gentoo-box-`seq -s ",gentoo-box-" 4`) "date"
-----------
\033[1;31m--> Afficher la liste de l'ensemble des utilisateurs enregistrés du systeme\033[0m
  $awk 'BEGIN{FS=":"}{print $1}' < /etc/passwd
-----------
\033[1;31m--> Repérer le PID d'un processus\033[0m
  $ps ax | awk '/\/usr\/bin\/firefox/ { print $1 }'
-----------
  $realpath
\033[1;34m##############\033[0m


memoosgentoocontrib-1
Code:
#17/06/2011 v1
\033[0mhttp://www.gentoo.org/proj/fr/devrel/handbook/handbook.xml?part=2&chap=1
# Comment contribuer au projet gentoo
\033[1;31m--> Rechercher un ebuild\033[0m
  # Allez sur bugs.gentoo.org, choisissez query et sélectionnez Advanced Search.
  #Pour le produit, prenez Gentoo Linux et comme composant, ebuilds. Dans le champ réservé
  #à la recherche écrivez le nom de l'ebuild, puis comme statut, selectionnez \033[1;34mNEW\033[0m, \033[1;34mASSIGNED\033[0m,
  #\033[1;34mREOPENED\033[0m et \033[1;34mRESOLVED\033[0m (RESOLVED est important ici), puis envoyez la requête.
-----------
\033[1;31m--> Télécharger un ebuild :\033[0m
  $wget http://bugs.gentoo.org/attachment.cgi?id=166742 -O phatch-0.1.5.ebuild
-----------
\033[1;31m--> Usage de eix et de portage:\033[0m
  $eix -I overlay
  $eix -I --in-overlay OVERLAY
-----------
\033[1;31m--> Ajouter un overlay:\033[0m
 \033[1;34mLister les overlay\033[0m
  $layman -L
 \033[1;34mAjouter un overlay\033[0m
  $layman --add <name>
\033[1;31m--> Syncroniser un overlay:\033[0m
 \033[1;34mIndividually:\033[0m
  $layman --sync <name>
 \033[1;34mOr all added overlays:\033[0m
  $layman -S
\033[1;31m--> Supprimer un package d'un overlay:\033[0m
 \033[1;34mCheck what you have installed\033[0m
  $eix-sync
  $eix -I --in-overlay <OVERLAY_NAME>
 \033[1;34mSupprimer un package d'un overlay\033[0m
  $emerge -uDvN world
  $emerge --depclean world
  $emerge -Cav <PACKAGES_FROM_THE_OVERLAY>
  $eix-sync && eix -I --in-overlay <OVERLAY_NAME>
\033[1;31m--> Supprimer un overlay avec Layman (portage):\033[0m
 \033[1;34mFinally, remove the overlay:\033[0m
  $layman -d <OVERLAY_NAME>
 \033[1;34mCheck that no dependencies are broken.\033[0m
  $emerge -uDavN world
-----------
\033[1;31m--> Profile\033[0m
  $ls -FGg /etc/make.profile
-----------
\033[1;31m--> Changer de profile\033[0m
  $ln -snf /usr/portage/profiles/<nom du profil> /etc/make.profile
\033[1;34m##############\033[0m


memoosgentooupdate-1
Code:
#17/06/2011 v1
\033[1;31m--> Liste des commandes de mises à jour\033[0m
  $ido-backup
\033[1;31m--> Mettre à jour l'env (variables d'env)\033[0m
\033[1;34mCommande root uniquement\033[0m
  $env-update
\033[1;34mCommandes utilisateur\033[0m
  $source /etc/profile
  $source /etc/bash/bashrc && source ~/.bashrc
  $source ~/.bashrc
\033[1;34m##############\033[0m


memoossysadmin-3
(Ce n'est apparemment pas possible de détruire les données contenues dans la ram sans arrêter la machine, mais j'imagine que cela pourrait être utile pour des raisons de bugs ou de sécurité, autrement le noyau gère la mémoire vive de lui même.)
Code:
#11/07/2011 v3
\033[1;31m--> Le noyau :\033[0m
\033[1;34mAfficher les modules du noyau :\033[0m
  $find /lib/modules/<version du noyau>/ -type f -iname '*.o' -or -iname '*.ko'

\033[1;34mRechercher un module du noyau :\033[0m
  $find /lib/modules/<version du noyau>/ -iname "ip_conntrack_*"
-----------
\033[1;31m--> Afficher la configuration actuelle de netfilter :\033[0m
  $iptables -t filter -L --line-numbers -v
ou
  $netfilterconfig
-----------
\033[1;31m--> Configurer la vitesse du processeur :\033[0m
  $cpufreq-set --freq 1800MHz
-----------
\033[1;31m--> Forcer la vérification des disques :\033[0m
  $touch /forcefsck
  $shutdown -r -F now
-----------
\033[1;31m--> Memory :\033[0m
Un programme alloue de la mémoire par la fonction "malloc" et la libère
avec la fonction "free".

\033[1;34mDétruire les données de la mémoire virtuelle en la remplissant de zéros (non-recommandé):\033[0m
  $swapoff /dev/<partition de swap>
  $dd if=/dev/zero of=/dev/<partition de swap>

\033[1;34mCréation d'une signature de mémoire virtuelle\033[0m
  $mkswap /dev/<partition de swap>

\033[1;34mActivation de la partition de mémoire virtuelle\033[0m
  $swapon /dev/<partition de swap>

\033[1;34mAfficher des infos sur l'usage de la mémoire :\033[0m
  $free -m

\033[1;34mAfficher des infos sur l'usage de la swap :\033[0m
  $swapon -s
-----------
\033[1;31m--> Afficher la liste des pilotes installés :\033[0m
  $qlist -I -C x11-drivers/
-----------
\033[1;31m--> Configuration du clavier :\033[0m
  $setxkbmap <layout>
  $setxkbmap -model pc105 -layout fr -variant latin9,winkeys
  $gnome-keyboard-properties
-----------
\033[1;31m--> ARGYLL\033[0m
  $dispcal -v -q l -y c viewsonic-calib
  $targen -v -d3 -f250 viewsonic-calib
  $dispread -v -y c -k viewsonic-calib.cal viewsonic-calib
  $colprof -v -A "ViewSonic" -M "VP2250wb" -D "Aug 062009-2252" -q m -as viewsonic-calib
  $su -c "cp /home/ido/calib/viewsonic-calib.icc /etc/calib/"
  $xcalib /etc/calib/viewsonic-calib.icc
-----------
\033[1;31m--> Here's how to run date on four machines named gentoo-box-1, gentoo-box-2, and so on:\033[0m
  $pdsh -w $(echo gentoo-box-`seq -s ",gentoo-box-" 4`) "date"
-----------
\033[1;31m--> Ajouter un utilisateur au système\033[0m
  $useradd -m -G users,wheel,audio -s /bin/bash john
  $passwd john
-----------
\033[1;31m--> Afficher la liste de l'ensemble des utilisateurs enregistrés du systeme\033[0m
  $awk 'BEGIN{FS=":"}{print $1}' < /etc/passwd
-----------
\033[1;31m--> Repérer le PID d'un processus\033[0m
  $ps ax | awk '/\/usr\/bin\/firefox/ { print $1 }'
-----------
\033[1;31m--> Utilisation de Portage, Layman, etc... (gentoo)\033[0m
\033[1;34mvoir memogentoocontrib\033[0m
-----------
\033[1;31m--> Je m'interroge sur les commandes suivantes:\033[0m
  $realpath
\033[1;34m##############\033[0m


memotext-1
Code:
#17/06/2011 v1
\033[1;31m### ACTION SUR DU TEXTE ###\033[0m
\033[1;31m--> Afficher un fichier de configuration sans les commentaires.\033[0m
  $egrep -v '^(#|$)'
-- ou --
  $awk '! (/^ *#/ || /^$/) { print $0 }' /etc/make.conf
----------
\033[1;31m--> Afficher les différences entre deux fichiers textes.\033[0m
  $cmp -b nom_fichier_1 nom_fichier_2 [décalage1] [décalage2]
----------
\033[1;31m--> Afficher les différences entre stdin et un fichier.\033[0m
  $cmp -b - nom_fichier [décalage1] [décalage2]
----------
\033[1;31m--> Séparer une ligne d'entrée en champs.\033[0m
  $echo un deux | awk '{print $1}'
  $awk '{print $1 $5 $6}' $nomfichier # Fonctionne sur chaque ligne du fichier
-----------
\033[1;31m--> Séparer une ligne (chaque ligne d'1 fichier) en champs et afficher
le champ $CHAMP ($1 ou $5, etc...).\033[0m
  $awk 'BEGIN{FS="$SEPARATEUR"}{print $CHAMP}' < $UN_FICHIER
exemple:
SEPARATEUR=:
CHAMP=$1
UN_FICHIER=/etc/passwd
-----------
\033[1;31m--> Convertir les majuscules en minuscule.\033[0m
echo "HELLO" | tr A-Z a-z
-----------
\033[1;31m--> Ajouter une ligne a un fichier\033[0m
ex :
  $echo "=x11-drivers/linuxwacom-0.8.3_p2" >> /etc/portage/package.keywords
-----------
\033[1;31m--> Rechercher une chaine de caractère dans les fichiers
du répertoire courant.\033[0m
  $grep -E -i 'on peut|permet' *
\033[1;34m##############\033[0m


Last edited by idodesuke on Mon Aug 22, 2011 4:03 pm; edited 2 times in total
Back to top
View user's profile Send private message
idodesuke
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 244
Location: France

PostPosted: Sat Aug 13, 2011 5:27 pm    Post subject: Reply with quote

tiens je suis en train de lire un truc sur les ipc

ça me saute aux yeux


http://fr.wikipedia.org/wiki/Communication_inter-processus

Quote:
La mémoire (principale) d'un système peut aussi être utilisée pour des échanges de données. Suivant le type de processus, les outils utilisés ne sont pas les mêmes.

* Dans le cas des processus « classiques », l'espace mémoire du processus n'est pas partagé. On utilise alors des mécanismes de mémoire partagée, comme les segments de mémoire partagée pour Unix.
* Dans le cas des processus légers l'espace mémoire est partagé, la mémoire peut donc être utilisée directement.

Dans les deux cas, les échanges sont réalisés en plaçant les données dans des variables partagées par les processus.



Quote:
Quelle que soit la méthode utilisée pour partager les données, ce type de communication pose le problème des sections critiques : le moment où les processus accédent aux données partagées. En effet si deux processus accédent « en même temps » à une ressource, il peut se produire différents cas :

* les données ne sont plus cohérentes
* un ou plusieurs des processus concernés "plantent"
* un ou plusieurs des processus est bloqué : il doit attendre que la ressource soit libérée
Back to top
View user's profile Send private message
idodesuke
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 244
Location: France

PostPosted: Sat Aug 13, 2011 7:17 pm    Post subject: Reply with quote

Quote:
Les signaux sont à l'origine destinés à tuer (terminer) un processus dans certaines conditions, par exemple le signal SIGSEGV tue un processus qui effectue un accès à une zone de mémoire qu'il n'a pas allouée. Les signaux peuvent cependant être déroutés vers d'autres fonctions. Le blocage d'un processus se fait alors en demandant l'attente de l'arrivée d'un signal et le déblocage consiste à envoyer un message au processus.


avant de faire une SIGKILL ça peut permettre de mieux cerner le problème

y'a d'autres à lire aussi
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

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