~~NOTOC~~ ==== Memo Linux ==== L'utilisation de linux en ligne de commande demande de connaitre quelques commande du ''shell''. Le shell le plus courament utilisé sous linux est [[http://www.gnu.org/software/bash/|bash]], bien que d'autres shells sont encore utilisés (ksh, csh, dash, ...) et ont une utilisation de base identique. Des tutoriaux de l'utilisation du shell bash peuvent être trouvé : * [[http://www.commentcamarche.net/faq/4801-guide-d-utilisation-du-shell-pour-debutant| comment ca marche]] * [[http://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux | OpenClassRoom (ex site du zero)]] : principalement la section "Manipuler la console et les fichiers" Ci dessous un memo de commandes fréquement utilisées === Répertoires === * ''%%.%%'' : repertoire courant * ''%%..%%'' : repertoire pere * ''%%../..%%'' : repertoire 2 niveau en dessous * ''%%/ %%'' : repertoire racine * ''%%~%%'' : repertoire de l'utilisateur * ''%%~boman %%'' : repertoire de l'utilisateur "boman" === Commandes de base Unix/Linux === * ''%%pwd %%'' : affiche le nom du repertoire courant (print working directory) * ''%%cd dir%%'' : va dans le repertoire dir * ''%%rm file%%'' : supprime file * ''%%rm -r dir %%'' : supprime le repertoire dir * ''%%mkdir dir%%'' : crée le repertoire dir * ''%%mv flie file%%'' : renomme "flie" en "file" * ''%%ln -s file lien%%'' : cree un lien nommé "lien" vers "file" * ''%%cp file file2 %%'' : cree une copie de file nommée file2 * ''%%cp file dir %%'' : copie file dans le repertoire dir * ''%%cp -r dir dir2%%'' : copie le repertoire dir dans dir2 * ''%%chmod u+x file%%'' : rend executable "file" (plus d'infos sur http://catcode.com/teachmod/) * ''%%./file%%'' : execute file (dans le repertoire courant) * ''%%./file &%%'' : execute file en arriere plan * ''%%ls %%'' : liste les fichiers du repertoire courant * ''%%ls -l %%'' : donne plus d'infos sur les fichiers listés * ''%%ls ~ %%'' : liste le repertoire utilisateur * ''%%ls ~boman %%'' : liste le repertoire utilisateur de boman * ''%%ls -al %%'' : liste a = "all" , l = format long" * ''%%tail -f out.res%%'' : affiche la fin du fichier out.res (et actualise) * ''%%top %%'' : affiche les process en cours ("q" pour sortir) * ''%%top -U boman%%'' : affiche les process en cours de "boman" * ''%%ps -f -u boman%%'' : affiche les process de l'utilisateur boman * ''%%chown boman file%%'' : change le proprietaire du fichier "file" * ''%%tar xvzf arc.tgz%%'' : decomprime l'archive arc.tgz * ''%%tar cvzf arc.tgz dir%%'' : cree une archive contenant le rep "dir" * ''%%find . -name file%%'' : recherche le fichier nommé "file" * ''%%grep mot file%%'' : recherche le mot "mot" dans file * ''%%at -f ./start now%%'' : lance le prog "start" en BATCH [Linux] * ''%%at now ./start%%'' : lance le prog "start" en BATCH [OSF] * ''%%kill -9 pid%%'' : tue le process "pid" (pid= numero donne par ps ou top) * ''%%echo $DISPLAY%%'' : affiche la variable DISPLAY * ''%%cat file.txt%%'' : affiche file.txt * ''%%cat file.txt | more%%'' : affiche file.txt page par page * ''%%CTRL-Z %%'' : stopper un process en cours * ''%%fg %%'' : relance un process stoppé (par CTRL-Z) * ''%%CTRL-D %%'' : kill un process en cours * ''%%jobs %%'' : affiche les jobs en cours * ''%%uname %%'' : type de la machine * ''%%who am i %%'' : qui suis-je * ''%%users %%'' : utilisateurs connectés * ''%%su - boman %%'' : change d'utilisateur (nouveau = boman) * ''%%ssh gaston -l boman%%'' : connexion ssh sur gaston (utilisateur boman) === commandes avancées : === * ''%%fuser [fichier]%%'' : montre qui utilise fichier * ''%%fuser -k [fichier]%%'' : kille les process liés a fichier * ''%%rcnfslock start/stop/restart%%'' : redemarre un serveur (ici lockd) [Linux] * ''%%chkconfig%%'' : montre la config des serveurs [Linux] * ''%%chkconfig --add rcnfslock%%'' : active le serveur [Linux] * ''%%synaptic%%'' : gestion graphique des programmes sous Debian (.deb) * ''%%apt-get%%'' : gestion en shell des programmes sous Debian/Ubuntu (.deb) * ''%%yast2%%'' : gestionnaire graphique de la configuration machine sous Suse * ''%%lsof%%'' : montre les process et les fichiers associés * ''%%ulimit -Ha%%'' : montre toutes les limites Hardware du système (stack, coresize, etc) * ''%%ulimit -Sa%%'' : montre toutes les limites Software système (stack, coresize, etc) * ''%%ulimit -c 100000%%'' : limite les cores a 100000x512bytes ~ 50Mo === Metafor === * ''%%./metafor -nogui out.res 2>err.txt%%'' : execute metafor (commandes contenues dans "cmd.txt" ou lieu du clavier). envoie la sortie dans "out.res" (au lieu du terminal) et les erreurs dans "err.txt" (au lieu du terminal) * ''%%./metafor -nogui out.res 2>&%%''1 : idem avec erreur aussi dans out.res. === FTP === * ftp garfield 999 : se connecte sur garfield - port 999 * commande une fois connecté : * ''%%bye%%'' : quitte * ''%%ls/cd/pwd%%'' : se deplace dans l'arborescence distante * ''%%!ls%%'' : execute ls en local * ''%%lcd%%'' : change le rep local * ''%%prompt%%'' : supprime les confirmations * ''%%hash%%'' : affiche une progress bar lors d'upload/download * ''%%put file%%'' : upload file * ''%%get file%%'' : download file * ''%%mput *.txt%%'' : upload multiple * ''%%mget *.txt%%'' : download multiple * ''%%ascii%%'' : passe en mode texte * ''%%bin%%'' : passe en mode binaire === Editeur de fichiers === * [[http://www.nano-editor.org/|nano]] : editeur intuitif (les racourcis des commandes sont visibles en bas de fenetre : ''^'' = [Ctrl]) * ''%%nano fichier.txt%%'' : demarrage de nano * [[http://www.vim.org|vim]] : * ''%%vim fichier.txt%%'' : demarrage de vim * ''%%shift g%%'' : fin du fichier * ''%%:0%%'' : début du fichier * ''%%:1%%'' : première ligne * ''%%:2%%'' : deuxième ligne * ''%%ctrl F%%'' : descendre 1 ecran (Forward) * ''%%ctrl B%%'' : monter 1 ecran (Backward) * ''%%ctrl D%%'' : descendre 1/2 ecran (Down) * ''%%ctrl U%%'' : monter 1/2 ecran (Up) * ''%%/Mot%%'' : chercher le mot Mot dans le fichier * ''%%//%%'' : continuer la recherche * ''%%x%%'' : effacer le caractère sous le curseur * ''%%dd%%'' : effacer toute 1 ligne * ''%%o%%'' : insérer une ligne et il est prêt à écrire * ''%%:q%%'' : sortir (sur fichier non modifié) * ''%%:q!%%'' : sortir sans sauver (sur fichier modifié) * ''%%:wq%%'' : sortir en sauvant * ''%%:w%%'' : sauver * ''%%i%%'' : passer en mode édition * ''%%esc%%'' : quitter le mode édition * [[http://www.gnu.org/software/emacs/|emacs]] (editeur graphique à travers un serveur X) * necessite un serveur X et autoriser la machine Unix * redirection du display : export DISPLAY=warson:0 (warson=pc sur lequel on travaille) * emacs & : lance emacs en le détachant du shell * ''%%CTRL-X CTRL-C%%'' : sortir * ''%%CTRL-G%%'' : annulle la commande en cours * ''%%CTRL-X 3%%'' : divise la fenetre en 2 * ''%%CTRL-X 1%%'' : garde la fenetre courante * ''%%CTRL-X CTRL-S%%'' : sauve le document * ''%%CTRL-D%%'' : visualiser les répertoires === Divers === * ''%%samcef ba nom_castest n 1%%'' : lancement de bacon === Remarques === * Parfois, la touche ''%%backspace%%'' est remplacée par ''%%CTRL-H%%'' * Utiliser ''%%TAB%%'' ou ''%%ESC%%'' pour completer un nom de fichier en interactif