|
Table des matières
Commandes Linux - Partie 2Nota important sur les espaces et noms utilisés
Attention ! Les caractères accentués peuvent provoquer des erreurs d’interprétation. Ce problème apparaît régulièrement lors d’échanges de fichiers entre deux ordinateurs utilisant des tables de codages ASCII distinctes (PC Windows, Mac et Linux)… Navigation
cd # sans argument, ramène au répertoire personnel /home/login cd .. # pour remonter d'un cran dans l'arborescence cd / # pour remonter à la racine cd - # pour revenir au répertoire précédent. Avantage: indique le chemin absolu ensuite cd /repertoire/ss-répertoire/ss-ss-répertoire # adressage en navigation absolue (à partir de la racine) cd repertoire/ss-répertoire/ss-ss-répertoire # adressage en navigation relative (à partir du répertoire courant) * La troisième est **ls** pour lister les fichiers du répertoire courant. Plusieurs options utiles: ls # liste simple du contenu du répertoire courant ls -l # affiche les propriétés des fichiers en colonne, un fichier par ligne ls -A # affiche les fichiers cachés du répertoire ls -a # affiche l'ensemble des fichiers cachés ou non ls -la # affiche les propriétés des fichiers cachés ou non ls -R # affiche l'arborescence de façon récursive ls -sh # affiche les tailles et les noms des fichiers ls -t # affiche par ordre de date de modification ls -lct # affiche en colonne par ordre de date de modification ls <chemin> # liste le répertoire indiqué par le chemin Exemple de réponse drwxrwxr-x 2 guy Direction 4096 2007-09-04 10:45 Ces informations comportent:
ls -F # affiche plus d'informations: (*) fichier éxécutable, (/) répertoire, fichier classique Exemple ls -F * examples.desktop Wifi.txt* Bureau: ls: ne peut ouvrir le répertoire Desktop: Permission non accordée Documents: RV082_User-Guide.pdf Images: Modèles: Musique: PDF: RV016_-_Cisco_Systems.pdf Public: Telechargement: autoscan-network-1.42-Linux-x86-Install* autoscan-network-1.42-Linux-x86-Install.tar.gz cupswrapperMFC7840W-2.0.2-1.i386.rpm cupswrappermfc7840w_2.0.2-2_i386.deb Vidéos:
guy@porthos:~$ tree -d /var /var |-- backups |-- cache | |-- apache2 | | `-- mod_disk_cache | |-- apt | | `-- archives | | `-- partial | |-- cups | | |-- ppd | | `-- rss | |-- debconf | |-- hald
$ ncdt /etc/smokeping/ `-- [ 10,940] /etc/smokeping/ |-- [ 203] apache2.conf |-- [ 290] config |-- [ 1,563] smokemail |-- [ 2,994] config.d | |-- [ 876] Presentation | |-- [ 511] Alerts | |-- [ 455] Targets | |-- [ 423] General | |-- [ 155] Slaves | |-- [ 50] Probes | |-- [ 287] pathnames | `-- [ 237] Database |-- [ 2,075] basepage.html `-- [ 3,815] tmail
§cat mon_fichier # affichage sans tri def xyz abc §sort mon_fichier # affichage avec tri abc def xyz Chemin relatif/absoluPour naviguer, deux possibilités pour donner le chemin:
guy@Athos9:/boot/grub$ pwd /boot/grub # on est actuellement en /boot/grub guy@Athos9:/boot/grub$ cd /home/guy/ guy@Athos9:~$ pwd /home/guy # on est arrivé dans /home/guy
~$ ls Bureau Documents Images Public Telechargement Copies_Ecran examples.desktop Modèles Vidéos Desktop hud.workspace Musique ~$ cd Documents/ guy@Athos9:~/Documents$ Pour remonter d’un répertoire (aller à son parent), on utilise “..” derrière certaines commandes comme cd, ls…. guy@Athos9:~$ pwd /home/guy # on est actuellement dans /home/guy guy@Athos9:~$ cd .. guy@Athos9:/home$ pwd /home # on est remonté d'un cran dans /home guy@Athos9:/home$ Recherche
sudo updatedb locate fichier-truc
find <chemin> -name <fichier>
grep <motif> fichier Pour rechercher dans la liste des fichiers ou répertoires du répertoire courant, utiliser “*”: grep Mathieu * Pour plus de précisions, consulter le chapitre Recherche Ubuntu Création d'un fichierLa commande touch permet de créer un fichier vide de même que le commande > dans certains shells. touch nouveau-fichier # ou > nouveau-fichier On peut écrire dans un nouveau fichier avec la commande echo suivie d’une redirection. echo toto > nouveau-fichier # va écrire "toto" dans nouveau-fichier Utilisé aussi pour enregistrer des informations ou créer un fichier log. last > last.log # pour garder une trace des derniers logs sur un ordinateur Affichage du contenu d'un fichier
cat /etc/fstab L’option -n affiche en même temps les numéros de ligne. ~$ cat -n /etc/apt/sources.list
1 # deb cdrom:[Ubuntu 12.10 _Quantal Quetzal_ - Release i386 (20121014)]/ quantal main restricted
2
3 # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
4 # newer versions of the distribution.
5 deb http://fr.archive.ubuntu.com/ubuntu/ quantal main restricted
6 deb-src http://fr.archive.ubuntu.com/ubuntu/ quantal main restricted
......
more <nom_fichier> # permet de faire défiler page par page less <nom_fichier> # permet en plus de revenir en arrière On passe à la page suivante par la barre d’espace, on remonte par la flèche Page précédente. Les deux se quittent par q.
L’option -f (follow) affiche les lignes et réactualise ensuite. On peut ainsi observer les changements. tail -f /var/log/messages On peut paramétrer le nombre de lignes à faire apparaître avec l’option -nxxx ou -n xxx. Exemple: tail -n25 nmap.log # ou -n 25. Très utile pour avoir les n dernières informations d'un fichier log
head -n25 nmap.log # utile pour vérifier le fonctionnement
guy@Astserv:~$ nl /etc/fstab
1 # /etc/fstab: static file system information.
2 #
3 # Use 'vol_id --uuid' to print the universally unique identifier for a
4 # device; this may be used with UUID= as a more robust way to name devices
5 # that works even if disks are added and removed. See fstab(5).
6 #
7 # <file system> <mount point> <type> <options> <dump> <pass>
8 proc /proc proc defaults 0 0
9 # / was on /dev/sda6 during installation
10 UUID=dd8785e1-8e97-4c27-85eb-3f2b5a60e207 / ext3 relatime,errors=remount-ro 0 1
11 # /home was on /dev/sda7 during installation
12 UUID=46d8f89a-6dea-4ee4-87b8-ee37fe11567c /home ext3 relatime 0 2
13 # swap was on /dev/sda5 during installation
14 UUID=7173c442-20a9-4b74-bf2a-bd547a690251 none swap sw 0 0
Mais, s’il y a besoin d’éditer pour faire la correction, rien ne vaut Gedit avec affichage des numéros de ligne. Voir chapitre Edition Linux Si besoin, compléter par more pour faire défiler page par page. nl /etc/asterisk/extensions.conf | more Affichage du contenu d'un répertoire1- Pour lister un répertoire, utiliser ls ou dir. De nombreuses options sont disponibles: -t par ordre chronologique… ls /home/login/repertoire-1 # liste le contenu de repertoire-1 2- Pour lister le contenu d’un répertoire chargé (ici /dev), on utilise la commande ls avec l’opérateur pipe (|) (ou “tube”), accessible par la combinaison de touches AltGr+6, accompagné de more ou de less. ls /dev | more # permet de visualiser calmement le répertoire. Page suivante par touche Espace. Sortie par Ctl+C/dev Les options suivantes peuvent être utilisées:
guy@Athos:~$ ls -l /home/guy/Musique/ total 24152 drwxr-xr-x 2 guy guy 4096 2008-11-04 10:57 Concerto-n°27-Mozart -rw-r--r-- 1 guy guy 8962090 2007-08-26 21:43 Do_You_Know-E.Iglesias.mp3 -rw-r--r-- 1 guy guy 9484770 2007-08-27 16:14 Incubus - Love Hurts.mp3 drwxr-xr-x 2 guy guy 4096 2008-11-22 20:49 La_fete_polonaise -rw-r--r-- 1 guy guy 6211899 2007-08-27 16:25 Paralyser - Finger Eleven.mp3 -rw-r--r-- 1 guy guy 6447 2008-11-22 20:38 tm081103.aup~ drwxrwxr-x 3 guy guy 4096 2008-11-22 20:38 tm081103_data 3- Pour lister le niveau moins un d’un répertoire, rajouter (*). On a alors le contenu de chaque répertoire auquel on a accès. guy@Ubuntu:/home$ ls * guy: Bureau Documents Modèles Public Wifi.txt Copies_Ecran examples.desktop Musique Telechargement Desktop Images PDF Vidéos jericho: examples.desktop ls: ne peut ouvrir le répertoire lost+found: Permission non accordée 4- Pour lister le contenu d’un répertoire, on peut aussi utiliser la commande dir (directory): ~$ dir /var/www apache2-default index.html info.php munin ocsreports smokeping ~$ dir -l total 36 drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Bureau drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Documents drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Downloads -rw-r--r-- 1 guy guy 357 2009-10-24 16:11 examples.desktop drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Images drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Modèles drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Musique drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Public drwxr-xr-x 2 guy guy 4096 2009-10-24 17:09 Vidéos Type de fichierPour visualiser le type d’un fichier, utilser la commande file suivie du fichier (chemin relatif ou absolu). file /home/<login>/essai.doc /home/<login>/essai.doc: Microsoft Office Document Edition de texteL’édition permet de modifier un fichier, à condition de l’ouvrir avec les droits d’administration (sudo, gksu ou gksudo).
sudo nano /boot/grub/menu.lst On passe de page en page par les commandes correspondantes, on quitte par CTL+X, on enregistre par Y (yes) et Enter.
gksu gedit /boot/grub/menu.lst
L’option -f (follow) affiche les lignes et réactualise ensuite. On peut ainsi observer les changements. tail -f /var/log/messages On peut paramétrer le nombre de lignes à faire apparaître avec l’option -nxxx ou -n xxx. Exemple: tail -n25 nmap.log # ou -n 25. Très utile pour avoir les n dernières informations d'un fichier log
head -n25 nmap.log # utile pour vérifier le fonctionnement
Compter les lignesLa commande wc (Word Count) permet de compter le nombre de lignes d’un fichier, mais aussi le nombre de mots ou de caractères. Option -l pour les lignes: wc -l mon-fichier Cette commande va donner le nombre de lignes contenues dans le fichier mon-fichier. Pour avoir le nombre de mot l’option est -w (word), l’option -c compte le nombre de caractères. La commande wc sans option donne à la fois le nombre de lignes, le nombre de caractères et le nombre de mots. guy@Athos-U9:~$ echo -n toto | wc
0 1 4
Pour connaître le nombre de fichiers dans un répertoire, la commande sera donc : ls -1 | wc -l # on liste d'abord en colonne et on compte les lignes Statut d'un fichierLa commande stat montre les derniers changements sur un fichier. root@promoserv/var/www/freepbx/admin/cdr >stat call-log.php 15:45 #821 File: `call-log.php' Size: 42522 Blocks: 88 IO Block: 4096 regular file Device: 801h/2049d Inode: 475823 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 111/asterisk) Gid: ( 119/asterisk) Access: 2009-08-04 13:11:53.000000000 +0200 Modify: 2009-07-31 21:43:11.000000000 +0200 Change: 2009-08-04 08:25:02.000000000 +0200 Browser en ligne de commandeTrois solutions: links, lynx ou w3m. Exemple w3m free.fr Selon les applications, on sort par Q ou par Ctl+C. Opérations sur les fichiers/répertoiresNota important sur les baptêmes
CopieLa commande est cp. La copie d’un fichier se fait par cp fichier fichier-copy # en ajoutant si nécessaire le chemin du nouveau fichier-copy
cp fichier1 fichier2 fichier3 /repertoire-arr
cp -R repert_n repert_destination_n-copy # en ajoutant si nécessaire le chemin du nouveau repertoire-copy
Pour éviter la copie du répertoire, y compris le nom, utiliser ”.*” derrière le chemin-origine:
sudo cp -aR rep_origine/.* /rep_destination
Renommer/DéplacerLa commande mv permet de:
mv fichier fichier.old
mv repertoire1 repertoire2
mv fichier1 fichier2 fichier3 /repertoire_arr # les fichiers sont déplacés au nouveau répertoire
mv ne sait pas déplacer un dossier qui ne soit pas vide
Création de fichier videPour créer un fichier vide, deux commandes équivalentes:
touch dossier_1/fichier_x > dossier_1/fichier_x Suppression de fichiers/répertoires
sudo rm -i fichier Les options sont:
rm -ri repertoire # suppression des fichiers interactive rm -rf repertoire # sans message d'erreur, ni confirmation Comparaison de répertoiresLa commande diff permet de comparer des répertoires (c’est à dire de voir les différences). diff repertoire1 repertoire2 Création de répertoire
mkdir rep1 rep2 rep3 # créera les 3 répertoires
~$ sudo mkdir -v /home/rep1 /home/rep2 mkdir: création du répertoire `/home/rep1' mkdir: création du répertoire `/home/rep2'
~$ sudo mkdir -pv /rep1/rep2/rep3 mkdir: création du répertoire `/rep1' mkdir: création du répertoire `/rep1/rep2' mkdir: création du répertoire `/rep1/rep2/rep3' Opérations sur les disquesMonter un périphériqueLa commande pour monter un périphérique est mount. sudo mount <Source> <MountPoint> Exemple: sudo mount /dev/sdb1 /media/sdb1 # il faut naturellement que le répertoire sdb1 existe déjà ou ait été créé dans /media par mkdir Mount lit le fichier /etc/fstab, la commande indique la source et le point de montage, nécessite le mode adminisrateur. sudo mount /dev/sdc /media/cdrom0 Pour connaître l’état des partitions montées, taper: sudo mount Pour démonter le périphérique, c’est la commande umount. Pour démonter le CD, on indique
sudo umount /dev/sdc
sudo umount /media/cdrom0 Le tiroir du CD est maintenant débloqué. Pour démonter l’ensemble des périphériques montés: sudo umount -a Nota En cas de problème avec umount (réponse: device is buzy):
sudo lsof | grep sdax xmms 4848 login 9r REG 3,6 3430341 login@ubuntu:login$ kill -KILL 4848 sudo umount /dev/sdax Formater un volumePlusieurs solutions utilisables:
sudo umount /dev/sda1 # pour démonter au préalable sda1 sudo mkfs -t ext3 /dev/sda1 # pour formater le disque externe USB sda1 en ext3 Ne pas oublier de l’ajouter dans le fichier /etc/fstab pour que partition de disque soit prise en compte au démarrage. Espace disponibledf
df -h # L'option -h (human) affiche les réultats sous forme plus compréhensible root@jeriserv/home >df -h 18:39 #99 Filesystem Size Used Avail Use% Mounted on /dev/hda1 19G 1,9G 16G 11% / varrun 474M 260K 474M 1% /var/run varlock 474M 0 474M 0% /var/lock procbususb 474M 104K 474M 1% /proc/bus/usb udev 474M 104K 474M 1% /dev devshm 474M 0 474M 0% /dev/shm /dev/hda3 210G 39G 161G 20% /home
guy@Athos:~$ df -kTh Sys. de fich. Type Tail. Occ. Disp. %Occ. Monté sur /dev/sdb3 ext3 39G 5,9G 32G 16% / tmpfs tmpfs 1,8G 0 1,8G 0% /lib/init/rw varrun tmpfs 1,8G 384K 1,8G 1% /var/run varlock tmpfs 1,8G 0 1,8G 0% /var/lock udev tmpfs 1,8G 2,9M 1,8G 1% /dev tmpfs tmpfs 1,8G 12K 1,8G 1% /dev/shm lrm tmpfs 1,8G 2,0M 1,8G 1% /lib/modules/2.6.27-11-generic/volatile /dev/sdb5 ext3 219G 82G 127G 40% /home /dev/sda1 fuseblk 167G 37G 130G 23% /media/DONNEES_200 /dev/sdb2 fuseblk 118G 108G 9,4G 93% /media/DONNEES_500 /dev/sdb1 fuseblk 59G 6,6G 53G 12% /media/Disque_C /dev/sdb6 ext3 28G 4,1G 23G 16% /media/U8.04 /dev/sda2 ext3 21G 14G 5,9G 70% /media/sdb2
sudo fdisk -l ; echo "--------------------------" ; df -kTh ; echo "--------------------------" ; ls -l /dev/disk/by-label/ dudu (disk usage) calcule l’espace utilisé dans le répertoire local du moment. du -ch # pour avoir tous les fichiers et le total sous forme parlante L’option -s ne fait apparaître que la somme: On retrouve les 39 Go occupés sur /dev/hda3 qui est la partition du home (voir commande df -h). ncduncdu (NCurses Disk Usage) calcule les espaces occupés dans les répertoires. ~$ ncdu /
. 638,4GiB [#######] /media
. . . 10,3GiB [ ] /home
2,9GiB [ ] /usr
. 1,0GiB [ ] /var
345,6MiB [ ] /lib
45,4MiB [ ] /boot
. 14,0MiB [ ] /etc
10,4MiB [ ] /sbin
8,8MiB [ ] /bin
. 1,4MiB [ ] /run
. 60,0kiB [ ] /tmp
! 16,0kiB [ ] /lost+found
4,0kiB [ ] /dev
4,0kiB [ ] /lib64
e 4,0kiB [ ] /srv
e 4,0kiB [ ] /selinux
! 4,0kiB [ ] /root
e 4,0kiB [ ] /opt
e 4,0kiB [ ] /mnt
e 4,0kiB [ ] /cdrom
. 0,0 B [ ] /proc
. 0,0 B [ ] /sys
@ 0,0 B [ ] initrd.img
@ 0,0 B [ ] initrd.img.old
@ 0,0 B [ ] vmlinuz.old
@ 0,0 B [ ] vmlinuz
On sort en entrant q (quit). partedAutre commande, parted avec une autre présentation.
~$ sudo parted -l Modèle: ATA Hitachi HTS54321 (scsi) Disque /dev/sda : 160GB Taille des secteurs (logiques/physiques): 512B/512B Table de partitions : msdos Numéro Début Fin Taille Type Système de fichiers Fanions 2 32,3kB 10,6GB 10,6GB primary ext4 démarrage 3 10,6GB 21,2GB 10,6GB primary ext3 4 21,2GB 159GB 138GB extended 5 21,2GB 90,1GB 68,9GB logical ext3 6 90,1GB 159GB 68,9GB logical ext3 1 159GB 160GB 1078MB primary linux-swap(v1) Vérification/Réparation d'une partition
Il est obligatoire de démonter une partition avant de lancer fsck ou e2fsck. Passer par un LiveCD pour vérifier la racine ou /home.
Options utiles:
sudo umount /dev/sda10 sudo fsck -r /dev/sda10
sudo tune2fs -c 30 /dev/sda7 # pour une vérification de sda7 tous les 30 jours Pour plus de détails, consulter http://doc.ubuntu-fr.org/fsck Copie d'une partitionPour copier le contenu d’une partition sur une autre, entrer la commande: cp -dpr /source. /cible # ou commande cp -a qui est équivalente Exemple: voir Déplacer le /home MémoirePour voir l’occupation de la mémoire, utiliser la commande free. guy@Athos10:~$ free
total used free shared buffers cached
Mem: 4119828 1241084 2878744 0 114940 609596
-/+ buffers/cache: 516548 3603280
Swap: 2096476 0 2096476
Utilisation machinePlusieurs commandes:
top - 19:15:36 up 59 min, 2 users, load average: 0.00, 0.00, 0.02
Tasks: 237 total, 1 running, 236 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.9%us, 0.6%sy, 0.0%ni, 98.4%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8117496k total, 3150884k used, 4966612k free, 30108k buffers
Swap: 7340024k total, 0k used, 7340024k free, 2805256k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3997 root 20 0 67368 4404 2444 S 10 0.1 2:33.26 sshd: root@notty
3999 root 20 0 43000 2780 1404 S 2 0.0 0:23.16 /usr/lib/openssh/
1 root 20 0 10320 748 616 S 0 0.0 0:00.81 init [2]
2 root 20 0 0 0 0 S 0 0.0 0:00.00 [kthreadd]
3 root RT 0 0 0 0 S 0 0.0 0:00.00 [migration/0]
4 root 20 0 0 0 0 S 0 0.0 0:00.00 [ksoftirqd/0]
5 root RT 0 0 0 0 S 0 0.0 0:00.00 [migration/0]
6 root RT 0 0 0 0 S 0 0.0 0:00.00 [watchdog/0]
7 root RT 0 0 0 0 S 0 0.0 0:00.00 [migration/1]
8 root RT 0 0 0 0 S 0 0.0 0:00.00 [migration/1]
Pour “tuer” un processus, appuyer sur la touche k (kill). En réponse, s’affiche PID to kill : Saisir le PID du processus. En réponse kill PID 8026 with signal [15] : Entrer le code 15 proposé.
~$ dstat You did not select any stats, using -cdngy by default. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 1 0 99 0 0 0| 32k 39k| 0 0 | 0 0 | 323 208 13 3 84 0 0 0| 0 0 | 0 0 | 0 0 |2297 3897 22 3 74 0 0 0| 0 0 |2580B 132B| 0 0 |1136 1156 18 5 78 0 0 0| 0 4096B| 60B 0 | 0 0 |1756 2057 11 4 85 0 0 0| 0 4096B| 60B 0 | 0 0 |1628 1741 17 6 77 0 0 0| 0 4096B|2722B 246B| 0 0 |1965 2469 14 3 80 3 0 0| 0 1056k| 0 0 | 0 0 |3084 4895 35 7 58 0 0 0| 0 288k| 0 0 | 0 0 |1105 1202 59 11 30 0 0 1| 0 792k|6906B 132B| 0 0 |1374 1332 17 3 79 0 0 0| 0 348k| 0 0 | 0 0 | 976 1140 8 1 91 0 0 0| 0 0 | 60B 60B| 0 0 | 611 929 18 1 80 0 0 0| 0 22M|6906B 132B| 0 0 |2880 4763 8 2 90 0 0 0| 0 0 | 60B 0 | 0 0 | 641 937 7 1 92 0 0 0| 0 0 | 60B 0 | 0 0 | 743 1060 8 1 91 0 0 0| 0 0 |6966B 132B| 0 0 | 648 970 8 1 91 0 0 0| 0 0 | 0 0 | 0 0 | 723 1086 18 1 80 1 0 0| 0 64k| 0 0 | 0 0 |2166 3597 10 1 88 0 0 0| 0 0 |6906B 132B| 0 0 | 952 1371 7 1 92 0 0 0| 0 0 | 0 0 | 0 0 | 619 959 Lien symbolique
sudo ln -s chemin_origine chemin_alias
root@jeriserv:/var/www/freepbx# ln -s ../munin # on crée un lien avec le répertoire munin qui est à un niveau au-dessus root@jeriserv:/var/www/freepbx# ll total 28 drwxrwx--- 8 asterisk asterisk 4096 2009-09-15 21:14 admin drwxr-x--- 2 asterisk asterisk 4096 2009-07-21 14:27 _asterisk -rw-r--r-- 1 root root 602 2009-07-21 14:27 index.html lrwxrwxrwx 1 root root 8 2009-11-16 20:07 munin -> ../munin # on voit ici le lien créé drwxrwx--- 2 asterisk asterisk 4096 2009-07-21 14:41 panel drwxrwx--- 7 asterisk asterisk 4096 2009-07-21 14:27 recordings Le lien symbolique est très puissant. On peut s’en servir par exemple pour configurer son /home si on a plusieurs versions Linux installées et avoir une seule partition Documents ou Images… qui soit commune aux différents Linux. Exemple: "HOME commun à plusieurs distributions
sudo mkdir /dev/sdb7 /media/Data sudo chown <login> -R /media/Data sudo chmod 750 -R /media/Data
sudo mkdir /media/Data/Documents sudo mkdir /media/Data/Images sudo mkdir /media/Data/Musique sudo mkdir /media/Data/Videos sudo mkdir /media/Data/Téléchargements
cd /home/<login>/ sudo ln -s /media/Data/Documents sudo ln -s /media/Data/Images ....
On a ainsi un seul répertoire indépendant de son /home et des versions Ubuntu installées par ailleurs
Exemple de suppression du dossier Documents dans le HOME: $ sudo rm -ri /home/<login>/Documents Exemple graphiqueOn peut aussi opérer en mode graphique. Exemple pour un des répertoires:
gksu nautilus
Réseaux
~$ ifconfig
eth0 Link encap:Ethernet HWaddr 1c:c1:de:cc:bb:c5
inet adr:192.168.1.250 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::1ec1:deff:fecc:bbc5/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:10573603 erreurs:0 :0 overruns:0 frame:0
TX packets:11508450 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:2763775487 (2.7 GB) Octets transmis:5630675298 (5.6 GB)
Interruption:19
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
Packets reçus:239331 erreurs:0 :0 overruns:0 frame:0
TX packets:239331 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
Octets reçus:51346454 (51.3 MB) Octets transmis:51346454 (51.3 MB)
On peut spécifier un réseau spécifique eth0, eth1, wlan0… ou au contraire, demander tous les réseaux (option -a). ifconfig eth0
Généralités RéseauSe reporter également aux chapitres Connexion Linux, Réseau Linux, Analyse-Gestion Réseaux, Partage Fichiers, Transferts et suivants… Protocole FTP
Pour démarrer une liaison FTP avec un ordinateur à adresse donnée sous un login déterminé lftp login@adresse_serveur # Répondre au mot de passe (Faire ensuite ls pour se situer) ls
Protocole SFTP
sftp serveur_distant # le serveur demande le mot de passe de l'utilisateur courant Si le nom d’utilisateur distant est différent de l’utilisateur local actuel mettre l’argument login@serveur sftp login@serveur_distant # répondre au mot de passe Pour afficher la liste des fichiers du répertoire courant, les commandes sont ls pour le distant et lls pour le local. Pour afficher le répertoire courant, les commandes sont pwd pour le distant et lpwd pour le local. Pour aller au répertoire <rep>, les commandes sont cd rep en distant et lcd rep en local. HostLa commande host est utilisée pour trouver l’adresse IP du nom de domaine donné et imprime aussi le nom de domaine pour l’IP donné. ~$ host free.fr free.fr has address 212.27.48.10 free.fr has IPv6 address 2a01:e0c:1:1599::1 free.fr mail is handled by 20 mx2.free.fr. free.fr mail is handled by 10 mx1.free.fr. Réglages clavierSi par hasard on se retrouve en lignes de commande avec un clavier mal réglé, il y a moyen d’intervenir sur la configuration par la commande kbdrate. sudo kbdrate -s(silence) -r[rate, ç'est à dire caract/sec] -d[delay] Pour plus d’information sur les paramètres utilisés, faire un man kbdrate. Environnement - Langues
~$ locale LANG=fr_FR.UTF-8 LANGUAGE= LC_CTYPE="fr_FR.UTF-8" LC_NUMERIC="fr_FR.UTF-8" LC_TIME="fr_FR.UTF-8" LC_COLLATE="fr_FR.UTF-8" LC_MONETARY="fr_FR.UTF-8" LC_MESSAGES="fr_FR.UTF-8" LC_PAPER="fr_FR.UTF-8" LC_NAME="fr_FR.UTF-8" LC_ADDRESS="fr_FR.UTF-8" LC_TELEPHONE="fr_FR.UTF-8" LC_MEASUREMENT="fr_FR.UTF-8" LC_IDENTIFICATION="fr_FR.UTF-8" LC_ALL=
~$ env | grep -i lang LANG=fr_FR.UTF-8
sudo dpkg-reconfigure locales Choisir dans le menu déroulant des langues fr_FR.UTF-8. Synchronisation du tempsLe protocole NTP (Network Time Protocol) permet de synchroniser par Internet des postes sur des serveurs de temps. L’application ntpdate assure cette fonction, elle est installée de base, elle doit être lancée en sudo en ajoutant l’adresse du serveur NTP. sudo ntpdate ntp.ubuntu.com Pour les serveurs NTP, on peut choisir parmi fr.pool.ntp.org, pool.ntp.org, ntp.unice.fr, ntp.ubuntu.com, ntp.univ-tln.fr, etc… Aide à la programmationechoLa commande echo permet d’imprimer à l’écran des informations, elle imprime ses arguments sur la sortie standard. § echo Bonjour, le monde Bonjour, le monde Options utilisables: -e Reconnaître les caractères d’échappement Ce qui permet d’utiliser des caractères d’échappement: - \n Retour à la ligne - \t Tabulation horizontale - \\ Anti-slash - \’ Guillemet simple - \” Guillemet double Exemple: guy@Athos:~$ echo -e 'auto lo\niface lo inet loopback\n\nauto eth0\niface eth0 inet dhcp' auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp teeSert à écrire des données intermédiaires dans un fichier. Exemple: echo -e 'auto lo\niface lo inet loopback\n\nauto eth0\niface eth0 inet dhcp' | sudo tee /etc/network/interfaces # met les nouveaux paramétres dans le fichier interfaces Autre exemple, pour ajouter un module ath5k (Wifi): echo ath5k | sudo tee -a /etc/modules # va ajouter une ligne dans le fichier Exécution automatique de commandescroncron est un service ou daemon pour programmer des actions à un moment défini. L’équivalent graphique est gnome-schedule.
Pour lister les tâches enregistrées, faire crontab -l. crontab -l Pour éditer le fichier crontab, faire crontab -e. crontab -e La syntaxe est de la forme: m h dom mon dow [nom_utilisateur] commande > <fichier_log> # pour créer un fichier log m h dom mon dow [nom_utilisateur] commande >> <fichier_log> # pour ajouter à la fin du fichier dans laquelle
La commande doit être écrite avec son chemin complet
Pour indiquer que la tâche s’effectue toutes les 15 minutes de 8h00 à 20h00 du lundi au vendredi, on écrit 0,15,30,45 8-20 * * 1-5 [nom_utilisateur] <commande> > <fichier_log> On peut également utiliser la syntaxe */15 8-20 * * 1-5 [nom_utilisateur] <commande> > <fichier_log> # pour une commande toutes les 15 minutes Les différents raccourcis crontab sont les suivants:
Pour une synchronisation de l’horloge de l’ordinateur toutes les 3 heures sur le serveur de temps de l’Université de Nice, on utilise la commande ntpdate avec la ligne suivante au crontab: 30 9,15,21 * * * /usr/sbin/ntpdate -s ntp.unice.fr
/etc/crontab
0 18 * * * root ntpdate /usr/sbin/ntpdate pool.ntp.org # pour le faire en root Exemple, pour lancer un backup tous les jours à 4h00, ajouter la ligne: 0 4 * * * root test -x /usr/sbin/backup-manager && /usr/sbin/backup-manager
Bien vérifier les droits d’exécution du fichier /etc/crontab
Relancer ensuite cron
sudo restart cron " ou "service cron start"
# Chaque jour à 03h00 0 3 * * * wget -O - -q -t 1 h**p://Adresse_Site/cron.php /etc/cron.dailyPour qu’une tâche soit exécutée tous les jours,
nano /etc/cron.daily/backup-manager #!/bin/sh # cron script for backup-manager test -x /usr/sbin/backup-manager || exit 0 /usr/sbin/backup-manager >> /home/<login>/backup.log
sudo chmod +x /etc/cron.daily/backup-manager anacronanacron offre l’avantage de pouvoir effectuer des tâches périodiquement. Il est particulièrement adapté pour des postes qui ne sont pas allumés en permanence. Pour anacron, on paramètre le fichier /etc/anacron. Très utile par exemple, pour faire des sauvegardes différentielles rdiff-backup ou des synchronisations par rsync ouGrsync. Divers
Symbôles supplémentairesPoint-virguleLe point-virgule ; marque la fin d’une commande et le commencement d’une autre. Les commandes seront éxécutées de manière inconditionnelle. La première qui échoue, n’empêche pas la suite d’être éxecutée. echo a; sleep 5; echo b Ici, on affiche a, on attend 5 secondes et on affiche b. Simple supérieurAprès chaque commande, la console réagit la plupart du temps avec un message de réponse type standard (canal STDOUT) ou un message d’erreur (canal STDERR). Il est possible de rediriger la sortie vers un fichier pour en garder trace avec le symbôle >. Si ce fichier n’existe pas, il est créé. S’il existe, il est écrasé. <commande> > fichier_sortie # crée ou écrase fichier_sortie Il est possible de rediriger la sortie d’une commande qui écrit l’erreur standard vers un fichier. <commande-c> 2> fichier_erreur # crée ou écrase fichier_erreur Pour rediriger à la fois la sortie standard et l’erreur standard vers des fichirs, deux solutions:
Double supérieurLe symbôle double supérieur » permet de rediriger à la fin du fichier de sortie, sans écraser le précédent. ps -A > /tmp/ps.log; dmesg >> /tmp/ps.log # stocke le résultat de ps -a puis ajoute celui de dmesg Pense-bête commandes LinuxLe tableau suivant constitue une bonne récapitulation de commandes courantes: http://media.biologeek.com/realisations/doc_ubuntu_fr/ubuntu_fr_carte_reference3.pdf Arrêt serveur XPour installer, par exemple, le pilote NVIDIA correspondant à une carte graphique GeForceFX5700, la procédure impose d’arrêter le serveur X qui pilote l’interface graphique de Linux: - A partir d’Ubuntu, faire Ctl+Alt+F1, l’affichage passe en console. - Passer en super-utilisateur et arrêter le daemon corrspondant: su /etc/init.d/gdm stop Le serveur X s’arrête, faire l’installation. - Relancer le serveur X par la commande inverse: /etc/init.d/gdm start Solution alternative Au lieu d’arrêter le serveur X, il suffit de ne pas le démarrer. Pour cela, au moment du démarrage, choisir dans le menu Grub, l’option Ubuntu (Recovery mode). On se retrouve alors en mode console pour procéder à l’installation. |