Espace membres

Bonjour Anonyme

Inscription

Email :
Mot de passe :

Mot de passe oublié ?

Nos scripts

MySpeach

MySpeach est un chat php sans base de donnée, rapide, léger et facile à prendre en main. DEMO

MyPHPUpload

MyPHPUpload est un script d'upload sécurisé écrit en PHP. DEMO

GrapAgenda

Agenda PHP et MySQL avec comptes utilisateurs et administration. DEMO

Livre PHP

création de site

Commandes SSH UNIX / LINUX utiles

Cours / tutoriel écrit le 17-06-2010 par sky
Les commandes SSH utiles pour Linux / UNIX

Liste des commandes SSH UNIX/LINUX les plus utilisées:

Les commandes SSH les plus utilisées sont décrites à la fin du tableau.

at execute une action à une heure définie
awk langage de programmation pour traiter des fichiers
cat liste le contenu d'un fichier
cd changement de repértoire
chgrp change un fichier de groupe
chmod change les droits d'accès à un fichier
chown changement de propriétaire d'un fichier
cp copie de fichiers
cut coupe une chaine (surtout utilisé dans les scripts)
date affiche/modifie la date
df affiche l'espace disponible
diff affiche la différence entre 2 fichiers
du indique l'espace disque utilisé
egrep recherche dans un fichier
find recherche de fichiers
ftp transfert de fichiers
grep recherche dans un fichier
history liste des dernières commandes utilisées
kill arrêter un process
sh ou ksh ou rsh appel d'un shell (interpréteur de commandes)
ln crée un lien sur un fichier
lp ou lpr redirection vers l'imprimante
lpstat information sur les imprimantes
ls liste des fichiers
mail; mailx affiche et envoie des messages
man commande aide sur une commande
mkdir crée un dossier
more affiche un fichier page à page
mv deplace un fichier
passwd changer le mot de passe
ps listage des process
pwd affiche le chemin du dossier en cours
rlogin user changement  d'utilisateur
rlogin -l user machine connexion sur une autre machine
rm détruit un fichier
rmdir détruit un dossier
rsh -l user machine exécute une commande sur une machine distante
rusers liste les utilisateurs connectés au reseau
set afficher les variables d'environnement
sh appel du shell de base (Bourne shell sous Unix)
sort trie les ligne d'un fichier
tar sauvegarde
tee duplique un flux de données
telnet connection à un autre système
vi éditeur système
w ou who ou whoami liste les utilisateurs connectés au système
write envoie un message à un utilisateur du système

Quelques exemples de commandes Unix ou Linux

L'aide en ligne:
Elle disponible (généralement en anglais sauf quelques rares versions de Linux) avec la commande:
man commande   (manuel) ex:
man man

Rechercher un fichier (find):
la commande find est sensible à la casse (majuscules-minuscules). Pour rechercher le fichier "toto" dans tous les sous-dossiers du home directory:
find $HOME -name "toto" -print
pour rechercher le fichier "toto" sans savoir si la 1ère lettre est une majuscule dans tous les sous-dossiers du répertoire /usr:
find /usr -name "*oto" -print

Rechercher une chaine de caractères dans un fichier (voir aussi  egrep et fgrep )
exemple pour obtenir des informations sur l'utilisateur "herbe" contenues dans le fichier /etc/passwd:
grep herbe /etc/passwd
résultat:  herbe:x:2411:240:/export/home/qualbois/herbe:/bin/csh

Créer un dossier:
mkdir dossier(mkdir signifie make directory)

Supprimer un dossier:
rm -r dossier (rm signifie remove; l'option -r signifie recursive)

Supprimer un fichier:
rm  fichier

Supprimer tous les fichiers du répertoire courant:
rm -r *

Supprimer tous les fichiers commençant par "toto":
rm -r toto*

Afficher un fichier page par page:
more fichier (appuyez sur les touches "Entrée" ou "barre d'espace" pour le défilement)

Copier un fichier:
cp  /chemin1/fichier1  /chemin2/fichier2

Copier un fichier dans le repértoire courant:
cp /chemin/fichier  .      (le point fait partie de la commande)

Copier tous les dossiers "fils" et fichiers du dossier /tmp dans le répertoire courant:
cp  -r  /tmp  .

Imprimer un fichier sur l'imprimante par défaut:
lp fichier  (lp signifie Line Printer)

Obtenir la liste des imprimantes et leur état:
lpstat -a   (l'option -a signifie All)

Imprimer un fichier sur l'imprimante "laserjet4":
lp -d laserjet4 fichier  ( l'option -d signifie Destination)

Lister les fichiers du répertoire courant:
ls

Lister les fichiers du répertoire /tmp :
ls  /tmp

Lister les fichiers contenus dans le sous-dossier "VNC" du répértoire courant:
ls  ./VNC  (le point à gauche du slash indique que le dossier VNC est un sous-dossier ou dossier "fils")

Lister les fichiers du répértoire "parent":
ls ../  (les 2 points à gauche du slash indiquent le dossier supérieur ou dossier "père")

Lister les fichiers et leurs droits:
ls -la
exemple de résultat:
drwxrwxrwx  40 herbe    qualbois    3584 Apr 23 14:34 .
drwxrwxr-x  32 root     other       1024 Jan 11 14:11 ..
-rw-r--r--   1 herbe    qualbois    1201 Nov 25  1998 .acrorc
-rw-r--r--   1 herbe    qualbois    1443 Mar 16  2000 .cshrc
-rw-r--r--   1 herbe    qualbois     168 Sep  3  1997 .cshrc.14
drwxr-xr-x  16 herbe    qualbois     512 Apr 23 14:24 .dt

La 1ère colonne contient les droits de chaque fichier codés sur 10 caractères;
la 3eme contient le nom du propriétaire du fichier
la 4eme contient le nom du groupe de travail
la 5eme contient la taille du fichier exprimée en octets
la 6eme contient la date de la dernière modification
la 7eme contient le nom du fichier ou dossier
Décodage de la 1ère colonne:
si la 1ère lettre est un D, il s'agit d'un dossier (directory); si c'est un L, il s'agit d'un lien; si c'est un tiret (-), il 'agit d'un fichier.
Les autres lettres vont par triplet dans l'ordre RWX.
R indique un droit de lecture (Read).
W indique un droit d'écriture (Write).
X indique un droit d'exécution.
Le 1er groupe de 3 lettres (de la 2eme à la 4eme ) indique les droits du propriétaire du fichier.
Le 2eme groupe de 3 lettres (de la 5eme à la 7eme) donne les droits des membres du groupe de travail.
Le 3eme groupe de 3 lettres (de la 8eme à la 10eme) donne les droits de tous les autres utilisateurs du systèmes.

L'utilisateur peut changer les droits de ses propres fichiers; l'administrateur du système peut changer les droits de tous les fichiers.
Changer les droits d'un fichier:
On utilise la commande chmod: chmod  groupe(s)+droits  fichier
les groupes sont indiqués comme ceci:
u pour le propriétaire (user)
g pour groupe
o pour autres utilisateurs (other)

Pour donner tous les droits sur le fichier "toto":
chmod ugo+rwx toto

Pour retirer tous les droits au groupe et aux autres utilisateurs:
chmod go-rwx toto

Autre syntaxe pour chmod:
On peut compacter la commande en remplaçant les lettres RWX par une valeur numérique et additionner ces valeurs en fonction des droits à attribuer..
R vaut 4
W vaut 2
X vaut 1
Ainsi, pour donner tous les droits au fichier "TOTO", il suffit d'exécuter:
chmod 777 TOTO   (7 = 4(R) + 2(W) + 1(X) )
pour donner les droits de lecture et d'écriture au propriétaire et aucun droit aux autres utilisateurs:
chmod 600 TOTO
pour donner les droits de lecture et d'écriture au propriétaire, les droits de lecture au groupe et aucun droit aux aux autres utilisateurs:
chmod 640 TOTO

Lister les process en cours d'exécution
Chaque fois que vous tapez une commande ou que vous démarrez un programme, au moins un process est exécuté. Il arrive que certains process ne se terminent pas correctement. Il est donc nécessaire de vérifier régulièrement l'état des tâches. On utilise la commande:
ps -options
exemple, lister les process lancés par l'utilisateur herbe:
ps -u herbe
ou
ps -fu herbe
Sous ces 2 formes, la commande "ps" n'affiche que les commandes appartenant à  l'utilisateur "herbe" mais on peut avoir besoin de connaitre l'état d'une commande ou programme sans savoir à priori qui est le "propriétaire" de cette tâche. On utilise la commande "ps" sous cette forme pour lister tous les process en cours.:
ps -aux
Comme ils sont souvent trop nombreux pour être affichés à l'écran, il vaut mieux écrire:
ps -aux | more
Si l'on connait une partie de la réponse, il est plus efficace de filtrer le résultat de la commande en "pipant" la commande grep;
exemple, on veut savoir combien de fois le shell SH est exécuté simultanément:
ps -aux | grep sh
Résultat:
 12709 pts/7     0:00 sh
     756 pts/3     0:00 sh
  4848 pts/10    0:00 sh
  27562 pts/20  0:00 sh
 La 1ère colonne indique le n° du process.

Stopper un process
On utilise la commande "kill" avec l'option -9. Exemple, arrêter le process n° 756:
kill  -9  756

Changer son mot de passe:
passwd  et répondez aux questions!


Commentaires

sky le 12-04-2011

lonnie :
ssh ip:port

lonnie le 12-04-2011

bonjour,

pourriez vous m'aider, j'aimerais me connecter sur un serveur extérieur sachant que j'ai l'adresse ip et le numéro du port.
quelle est la commande a utiliser ?

Merci d'avance

The bleeper le 07-04-2011

Je suis newbies, je voulais savoir comment on pouvait via ssh connaitre le type de distribution Linux (et sa version) installé sur le serveur dédié (Nuxit Eco Gold).

Autre chose : comment télécharger un paquet (ioncube loader par exemple depuis le site du fabriquant) sur le bureau, et ensuite l'installer sur le serveur dédié ?

Mon mail : [email protected]

Merci d'avance pour votre aide

Lonepsi le 25-12-2010

Wouah! Merci, je cherchais justement.

Pfff le 30-10-2010

Comment symboliser un espace dans un nom de fichier ou de dossier?
Merci

Pseudo
Email
Commentaire

Merci d'écrire le code ici :