« Commandes Unix » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 116 : Ligne 116 :
Exemple:
Exemple:
  find . -name bla.text -print
  find . -name bla.text -print
:cherche le fichier bla.text a partir du répertoire courrant
:cherche le fichier par son nom, a partir du répertoire courrant, le print sert à écrire le chemin où le fichier a été retrouvé.


  find . -name `*.fm'-print
  find . -name `*.fm'-print
:cherche tous les fichiers *.fm.
:cherche tous les fichiers *.fm.
find -iname bla.txt -print
: cherche un fichier par son nom en étant insensible à la casse.
find -atime -2
: recherche par date de dernier accès durant les deux derniers jours
find -mtime -2
: recherche par date de denière modification des deux derniers jours
exemple:
find /home/ -mtime -1 \! -type d
: Va rechercher les fichiers modifiés durant les dernières 24h


Attention: n'utilisez pas cette commande à la racine de notre système. Ca peut durer.
Attention: n'utilisez pas cette commande à la racine de notre système. Ca peut durer.

Version du 3 avril 2016 à 18:44

Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.

Voir aussi Commandes Windows Voir aussi Commandes Mac

Aide

man commande
affiche une page aide
command -h
command --help
marche pour la plupart des programmes et commandes (mais pas toutes !!)
Cette commande permet d'afficher l'aide d'une autre commande, elle liste toutes les options qui sont disponibles et explique ce que fait la commande.

Voir aussi Server Administration (EduTechWiki Anglais)

Fichiers et répertoires

La notion de chemin:

Il existe quatre sortes de "chemins" (pour vous):

  • Les chemins absolus (depuis la racine du système, comme: /local/bin
  • Les chemins d'utilisateurs, comme ~schneide/
  • Les chemins relatifs (depuis l'endroit où vous êtes, comme: staf18/test
  • Les liens symboliques qui s'identifient par un "@" attachée au nom du fichier lorsqu'on tape ls

Afficher le répertoire courant:

pwd

ls - lister tous les fichiers

Options:

-a affiche tous les fichiers, même les fichiers cachés
-l on affiche la taille, la date et les permissions des fichiers, le nombres de liens physiques, la taille et l'horodatage
-h pareil que -l, sauf qu'il affiche la taille des fichiers avec un suffixe correspondant à l'unité (K, M, G)
-R affichage du contenu des sous-répertoires
-t trier selon la date
-L affiche le contenu d'un répertoire lié avec lien symbolique
-lct trie les fichiers et répertoire par date de modification croissante
-r afficher dans l'ordre inverse

Exemples:

ls -la
liste tous les fichiers
ls -lat *.text
affiche tous les fichiers ayant l'extention .text dans un répertoire, triés selon la date.

mkdir - Créer un répertoire

Exemple:

mkdir public_html
Crée un répertoire vide "public_html" à l'endroit ou vous êtes


rmdir - Détruire un répertoire

Exemples:

rmdir test
détruit le sous-répertoire "test" à l'endroit où vous êtes. rmdir marche uniquement si le répertoire est vide

rm - Détruit un fichier

Exemple:

rm *.text
tue tous les fichiers *.text
rm -r *.html
tue toues les fichier *.html dans le répertoire courant et tous les sous-répertoires (danger)
rm -r test
tue le répertoire et tous ses contenus (danger)

cd - Changer de répertoire

Exemples:

cd
vous ramène dans votre "home". Equivalent à cd ~/
cd public_html/test
vous ramène dans le répertoire public_html/test qui doit se trouver sous votre répertoire courrant
 cd ~/public_html/test
vous ramène dans le répertoire public_html/test qui doit se trouver sous votre répertoire home
cd /web/perso
vous met dans le répertoire /web/perso. Notez qu'il s'agit ici d'un chemin "absolu", c.a.d. attaché à la racine du système.
cd -
revient au répertoire précédent
cd ..
revient au répertoire parent


cp - crée une copie d'un fichier

Exemple:

cp bla.txt bla.save
cette commande va faire une copie du fichier bla.txt en bla.save

mv - Bouger et renommer un fichier

Exemple:

mv bla.text bon-sens.text
renomme le fichier "bla.text" en fichier bon-sens.text"
mv bla.text junk/
bouge le fichier "bla.text" vers le répertoire junk

find - Retrouver un fichier

Exemple:

find . -name bla.text -print
cherche le fichier par son nom, a partir du répertoire courrant, le print sert à écrire le chemin où le fichier a été retrouvé.
find . -name `*.fm'-print
cherche tous les fichiers *.fm.
find -iname bla.txt -print
cherche un fichier par son nom en étant insensible à la casse.
find -atime -2
recherche par date de dernier accès durant les deux derniers jours
find -mtime -2
recherche par date de denière modification des deux derniers jours

exemple:

find /home/ -mtime -1 \! -type d
Va rechercher les fichiers modifiés durant les dernières 24h


Attention: n'utilisez pas cette commande à la racine de notre système. Ca peut durer.

chmod - Changer les permissions

id
Afficher vôtre "user name" et les groupes auxquels il appartient

Exemples chmod

chmod a+r *
donne l'access de lecture à tout le monde pour tous les fichiers dans le répertoire courrant
chmod g+w hoho.txt
donne l'access d'écriture (détruire aussi!) au groupe pour le fichier hoho.text
chmod o-w hihi.txt
enlève l'accès d'écriture pour le "monde", (c.a.d. les gens qui ne font partie d'un même groupe). Cela permet par exemple de poser un fichier dans le répertoire web et empêcher l'accès par le web.

Syntaxe alternative

chmod 664
Donnes les permissions lire/écrire à vous et au groupe
chmod 777
Donne les permissions lire/écire/exécuter à tout le monde (Danger)

Contenus de fichiers

touch - Créer un fichier

touch test.html

Crée un fichier vide. S'il existe déjà, la date de création sera changé.

less et more - lister le contenu

more test.html
afficher le contenu d'un fichier test.html
less test.html
même chose, mais plus puissant

cat - Créer un fichier avec un contenu

cat > test.text
Vous pouvez ensuite taper du text, ligne par ligne, CTRL-D termine l'opération.

Les éditeurs

La plupart des systèmes Unix/Linux ont des éditeurs par défaut:

  • vi - puissant et très difficile
  • emacs - encore plus puissant et assez difficile
  • nano - assez facile, mais n'est pas tjrs installé
  • pico - même chose que nano

Les archives

unzip -l fichier.zip
liste le contenu d'un zip
unzip fichier.zip
dezippe un zip

Pipelines

Notice: Les programmes ci-dessous ne marchent pas sur une machine standarde ... vais les adapter un jour. Donc giftrans par exemple n'est pas installé.

Beaucoup d'utilitaires Unix sont conçus pour etre "couplés". Dans ce cas ce programmes peuvent lire depuis le standard input et font une sortie vers le standard output. Sans autre indication standard input et output corresspondent à votre terminal. Par exemple,

ls -la
affiche le contenu du répertoire courrant sur votre terminal. Maintenant on peut rajouter un filtre qui prend directement cette sortie (standard output).
ls -la | more
"couple" le programme "more" à ls. Le signe "|" dénote une pipe line, c'est à dire organise un flux de données de "ls" vers "more". "More" est un simple utilitaire pour afficher du texte, il met par exemple en attente la sortie à chaque fois que votre écran est rempli.

On peut enchainer autant de programmes que l'on veut comme le montre l'exemple suivant:

picttoppm mac.pict | ppmtogif | giftrans -t#FFFFFF > transparent.gif
produit un fichier gif transparent à partir d'un fichier *.pict.

On peut également rediriger la sortie d'un programme vers un fichier. Par exemple: ls -la > temp.t

redirige la sortie de la commande "ls" vers le fichier temp.t. Inversement,
more < temp.t
redirige le contenu du fichier temp.t vers "more". Notez que dans cas la simple commande "more temp.t" aurait fait la meme chose. Ainsi, pour beaucoup d'autres commande le fichier input se donne comme simple argument.

Certains logiciels offrent aussi des options pour définir d'ou va une sortie. Souvent, il s'agit de l'opion "-o" Par exemple,

giftrans -o nouveau.gif ancien.gif'
est égal à `giftrans ancien.gif > nouveau.gif'
htmltoc -toc nouveau.html ancien.html' 
est égal à htmltoc ancien.html > nouveau.html'

Notez aussi que les options viennent avant le nom du fichier input. Faites attention à toujours lire la doc pour un progamme inconnu, parfois un logiciel peut envoyer une sortie sur l'imprimante ou modifier l'ancien fichier au lieu de l'afficher sur le terminal!

Performances

CPU
top
Disque (exemple)
iostat -dx /dev/sda8

Liens