Unix

De Memodev.

Aller à : Navigation, rechercher

Linux.png UNIX est le nom d'un système d'exploitation multitâche et multi-utilisateur créé en 1969 (article UNIX sur Wikipédia). UNIX a donnée naissance à de nombreux OS, dont un des plus connu est Linux.

Sommaire

Terminal.png Commandes Shell

A l'origine, l'interpréteur de commandes par défaut était sh (Bourne Shell), qui évolua en de nombreuses versions, dont csh, étendu en tcsh, ou ksh, ou encore rc... Mais aujourd'hui bash (Bourne Again Shell), s'inspirant de sh, ksh, et csh, est le shell le plus répandu, bien qu'il existe d'autres interpréteurs de commandes, comme zsh, ou ash. On peut discerné 2 famille :

Tutoriels.png Les meilleurs tutoriels Unix

Idee.png Bonnes pratiques de développement de script shell multiplateforme

Pour faire un script shell compatible sur toutes les machines (linux, solaris, sun x86, aix ...), il est important d'utiliser le shell sh (Bourne Shell) ainsi que de respecter quelques règles :

FAQ.png FAQ Unix

Quels sont les caractères interdits dans le nommage de fichiers linux ?

*, ?, <, >, /

Comment savoir quel shell sont installés sur votre système ?

cat /etc/shells

Comment savoir quel shell est utilisé ?

echo $SHELL Attention ceci dis, si on exécute un script et que celui ci force l'utilisation d'un shell avec #!/bin/sh, alors le shell utilisé sera sh)

Commandes shell système

Info processus Solaris

Permet d'obtenir des informations sur un processus Solaris à partir de son pid :

pargs -l mon_pid

Montage nfs

Pour tuer tous les processus relatifs à un montage nfs qui plante :

fuser -ku mon_chemin_du_montage

Récuperer les ipcs

ipcs -apq              # Affiche toutes les messages queues avec leur LSPID associé
ps -fp mon_LSPID       # Affiche le programme correspondant au LSPID (et donc au messages queue)
ipcrm -q mon_LSPID     # Supprime la messages queue associé au LSPID

Voir la mémoire disponible (memory)

 "nmon" puis taper "m"

Ou encore :

 top

Savoir si l'OS installé est 32 ou 64 bits

 uname -a

Commandes shell sur les fichiers

Pour voir quels fichiers prennent le plus de place

du -kx | sort -nr | head -60   # liste les 60 premiers résultats
du -kx --max-depth=2           # Liste de tous les éléments situé à une profondeur de deux dossiers

Ou :

 find . -xdev -mmin -4320 -printf "%12s %p\n" | sort -nr | head -3

Supprimer tous les fichiers nommés d'une certaine manière de façon récursive

 find . -name <file_name> -exec rm {} \;

Faire une recherche dans tous les fichiers

 grep -R <string_to_search> .

Créer un fichier de 1 mega contenant que des zéros

 dd if=/dev/zero of=<created_file_name> count=1 bs=1M

Lister le contenu d'une archive tar

tar -tf fichier.tar

Modifier le propriétaire d'un dossier (de façons récursive) ou d'un fichier

 chown -R <user>:<group> <dossier_ou_fichier>

Lister les fichiers les plus récents

Dans un dossier :

 ls -ltr

Dans un dossier et ses sous dossiers :

 find . \! -type d -printf  '%CY %Cm %Cd %u %g %m %p\n' | sort -n
 # Explications :
 # %CY %Cm %Cd : année, mois et jour
 # %u %g %m : user, groupe et droits
 # %p : nom du fichier

Récupérée de « http://www.memodev.com/wiki/Unix »
Outils personnels
Espaces de noms
Variantes
Actions
Navigation
Catégories
Boîte à outils