Commande Unix
Mémoires Gratuits : Commande Unix. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresune arborescence supprime une arborescence équiv. au tree cette commande permet de changer de login et en plus de lire l'environnement complet de l'utilisateur concaténation de fichiers visualise la fin d'un fichier
whoami mkdir -p rm -r ls -R
su - loginname
cat fich1 fich2 >fich3 tail -f
tris et actions d'extraction
Commande sort uniq head tail split cut Tri standard
Action
élimine les lignes identiques consécutives extrait le début d'un fichier extrait la fin d'un fichier (tail +2 pour sauter une entête par exemple) découpage en paquets extraction d'une partie d'un fichier, colonnes, caractères, etc… recherche une chaine et extrait les lignes correspondantes colle ligne à ligne deux fichiers réalise une jointure entre deux fichiers de type base de données compte le nombre de lignes ou de mots
grep paste join wc
Entrées/sorties basiques
Commande read var echo echo -e tput Action attend une saisie au clavier et positionne var affiche à l'écran affiche avec codes de contrôle étendus locate + invertion vidéo
calculs
on peut faire des calculs en utilisant l'instruction "let". Exemple :
let "i = $i + 1"
Retrouver le répertoire par défaut d'un utilisateur
Pour retrouver le répertoire par défaut d’un utilisateur Unix: · Se logger avec le profil en question et son mot de passe · ouvrir un shell · taper: echo $HOME Le répertoire par défaut de l’utilisateur s’affiche.
Séquence d'exécution d'un login
Lorsqu’un utilisateur se connecte, son fichier .cshrc, contenu dans son répertoire par défaut ($HOME) t é té E t é té it fi hi l i
2 of 7
05/09/2011 12:12
Commandes Unix
est exécuté. Est exécuté ensuite son fichier .login s’il existe.
http://www.misfu.com/commandes-unix.html
Dans le fichier .cshrc se trouvent toutes les déclarations de variables unix, les alias définits pour cet utilisateur. Dans le fichier .login se trouvent les informations concernant la configuration du terminal et de l’environnement.
Métacaractères du shell
Le shell comprend les caractères étendus suivants: permet de spécifier une chaine dont le contenu ne sera PAS interprété par le shell permet de spécifier une chaine dont le contenu sera interprété par le shell (peut contenir des variables $ qui seront interprétées) tous les fichiers remplace un caractère dans le nom d'un fichier spécifie une liste permet d'enchainer des commandes (attention, différent du pipe) lancer un processus en arrière-plan commentaire récupére le résultat d'une commande = contenu de
' '
" " * ? [ ] ; & # ` ` $
Manipulation des fichiers
Exemples : lister les fichiers commençant par D ou d et finissant par 'pont': ls [Dd]*pont lister les fichiers qui ne commencent pas par un chiffre: ls [!0-9]*
Les liens
Il existe les liens physiques et les liens logiques. Un lien physique est une duplication du descripteur (l'INODE) du fichier cible. Lorsqu'un utilisateur ouvre son lien physique, il ouvre les données contenues dans le premier fichier. On peut retrouver qu'il s'agit d'un lien car le nombre de liens dans un ls -l est >1. Les liens logiques sont en fait des "raccourcis" et sont des fichiers de type 'l' lorsqu'on fait un ls -l.
Trouver un fichier
find -name ''
on peut ensuite enchainer une action sur les fichiers trouvés par la commande find:
find ~ -name '' -exec '{}' ;
'{}' signifie "fait porter l'action sur l'ensemble des fichiers trouvés par le critère du find" par exemple :
find ~ -name 'dup*' -exec rm '{}' ;
recherche à partir du home de l'utilisateur tous les fichiers commençant par 'dup' et les supprime. Les fichiers commençant par un "." n'apparaissent pas dans un ls, sauf un ls -a.
Principes de gestion des fichiers et répertoires
Sous UNIX, tout est fichier. Un périphérique, un écran, une imprimante, un répertoire, tout est fichier. Un fichier peut être exécutable si son flag d'exécution ( 'x' ) est positionné. Un répertoire est un fichier qui contient la liste des fichiers sensés être stockés dans ce répertoire. Un fichier est constitué de deux parties: l'INODE qui est le descripteur du fichier (secteurs, n° d'INODE, etc…) et des données. Lorsqu'un fichier est copié, il y a copie de l'INODE et des données. Lorsqu'un lien physique est créé, seule l'INODE du fichier est dupliqué car les données elles-même sont partagées.
Création de liens
Pour créer un lien physique :
ln fichier
pour créer un lien logique :
ln -s répertoire
Droits courants des fichiers et répertoires
Tout fichier/répertoire a une série de bits définissant les droits d'accès: Ces droits sont formatés comme suit : bit " type" répertoires d bit "others" rwx
bit "user" rwx
bit "group" rwx
3 of 7
05/09/2011 12:12
Commandes Unix
http://www.misfu.com/commandes-unix.html
fichiers lien logique Pour les répertoires :
l
rwx rwx
rwx rw
rwx rwx
le "r" veut dire que l'on peut lire le fichier-répertoire, c'est-à-dire que l'on peut lister les fichiers qu'il contient le "w" veut dire que l'on peut écrire dans le fichier-répertoire, c'est-à-dire que l'on peut créer des fichiers dans ce répertoire le "X" veut dire que l'on peut se déplacer dans le répertoire Pour les fichiers : le "r" veut dire que l'on peut lire le fichier le "w" veut dire que l'on peut y écrire le "x" veut dire que l'on peut l'exécuter (script ou programme compilé par exemple) La commande permettant de changer ces droits est "chmod'. Par exemple, si on veut rendre un fichier exécutable (et que ce fichier nous appartient), il faut écrire :
chmod u+x
Si on veut donner le droit à tout le monde de lire ce fichier, il faut entrer :
chmod a+x
Si on veut donner aux utilisateur de mon groupe le droit de modifier et lire ce fichier, il faut entrer :
chmod g+wr
Lorsqu'on crée un fichier, le bit "user" est positionné sur notre UID, les informations de groupe du fichier sont positionnés en fonction de notre GID. Si on veut temporairement endosser les ID d'un autre groupe, on entre :
chgrp
Si on veut changer l'UID d'un fichier :
chown
On rappelle qu'un répertoire est en fait un fichier contenant la liste des fichiers contenus dans ce répertoire. Note: Si on ne donne que le droit "w" à un fichier, on peut modifier ce fichier sans le lire, par exemple avec un echo 'xxxxxxxxx'>> .
Jobs
On peut visualiser la liste des processus actifs par ps. On peut également utiliser la commande
jobs
Si on veut passer au premier plan un process lancé avec "&", il suffit d'écrire :
fg %
Si on veut passer en arrière-plan un job stoppé :
bg %
Options de kill des jobs : kill kill kill kill -1 pour les démons,
...