Commandes Unix

De EduTech Wiki
Aller à la navigation Aller à la recherche

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

Aide

man commande
affiche une page aide
command -h
command --help
marche pour la plupart des programmes et commandes (mais pas toutes !!)

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 tous les fichiers
-l taille, date et permissions
-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
-r afficher dans l'ordre inverse

Exemples:

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

mkdir - Créer un répertoir

Exemple:

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


rmdir - Détruire un répertoire

Exemples:

rmdir test
détruit le sous-répertoirr "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
vos 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.

cp - Copier un fichier

Exemple:

cp bla.txt 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 bla.text a partir du répertoire courrant
find . -name `*.fm'-print
cherche tous les fichiers *.fm.

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!

Liens