J'ai suivi les étapes nécessaires pour créer rapidement une instance Ubuntu Linux à l'aide d'Amazon Elastic Compute Cloud (Amazon EC2) et m'y connecter et j'ai accès au shell de commande Linux. Comment puis-je trouver des informations sur les principaux utilitaires pour configurer et gérer mon instance Linux ?

Linux comprend plus de 100 utilitaires « principaux », notamment pour la gestion des fichiers, l'administration système, la sécurité et le stockage. Les principaux utilitaires fournis avec les distributions Linux sont le résultat du projet de développement du système d'exploitation GNU gratuit, lancé en 1983 par Richard Stallman. Comme les logiciels GNU sont conçus pour fonctionner avec les systèmes Unix, ils sont disponibles avec la plupart des distributions Linux.

Cet article fournit un résumé des utilitaires shell GNU qui sont disponibles pour Ubuntu 14.04 et versions ultérieures. Le nom des principaux utilitaires décrits ici est associé à une page de manuel en ligne : http://www.gnu.org.

Remarque : pour obtenir davantage d'informations sur les principaux utilitaires GNU disponibles sur votre instance Linux Amazon EC2, utilisez une des commandes suivantes :

     --help : affiche les arguments de l'utilitaire

     info  : affiche des informations générales sur l'utilitaire

     man  : affiche la page de manuel de l'utilitaire

La liste suivante fournit un résumé des utilitaires shell GNU disponibles avec Ubuntu Linux :

arch – Imprime l'architecture de la machine.

$ arch

x86_64

basename – Enlève les préfixes et/ou suffixes de noms de fichiers.

$ basename /home/admn/.bash_profile

.bash_profile

chroot – Change le répertoire racine pour créer un environnement « de test (sandbox) » distinct pour une application et des processus associés, limitant l'accès à des fichiers en dehors de l'arborescence de répertoires spécifiée. chroot doit être invoqué avec des autorisations Super User ; l'utilisation suivante de chroot suppose qu'un environnement avec les fichiers et dépendances requis pour le shell bash sont présents dans $JAIL.

$ sudo chroot $JAIL /bin/bash

date – Définit ou imprime la date et l'heure du système.

$ date

Wed Jan 6 12:00:00 PST 2016

dirname – Imprime tous les composants délimités par une barre oblique, sauf le denier, du nom spécifié, enlevant tout suffixe hors répertoire du nom spécifié.

$ dirname /home/admn/.bash_profile

/home/admn

du – Imprime des statistiques sur l'utilisation du disque pour le système (les nombres sont des blocs 1 024 octets).

$ du

16 ./.ssh

4  ./.cache

16 ./.keychain

68 .

echo – Imprime une ligne de texte spécifique.

$ echo "This is a line of text"

This is a line of text

env – Imprime des variables d'environnement existant lors d'un appel sans argument, ou crée des environnements modifiés où exécuter des commandes. Par exemple, si vous définissez PATH="/bin", le test ping aboutit, mais il échoue si vous définissez PATH="/usr/bin" parce que l'utilitaire ping est contenu dans le dossier /bin.

$ env - PATH="/bin" ping localhost

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.041

...

$ env - PATH="/usr/bin" ping localhost

env: ping: No such file or directory

expr – Evalue des expressions et imprime le résultat.

$ expr abc : 'a\(.\)c'

b

factor – Nombres de facteurs.

$ factor 48

48: 2 2 2 2 3

false – Ne fait rien et renvoie une valeur de statut de sortie d'échec de 1 ; généralement utilisé comme espace réservé dans des scripts shell où un statut de sortie d'échec est nécessaire.

$ false; echo $?

1

groups – Imprime tous les groupes associés au(x) nom(s) d'utilisateur spécifié(s), ou le ou les groupes associés à l'utilisateur actuel si aucun nom utilisateur n'est spécifié.

$ groups

admn adm cdrom sudo dip plugdev lpadmin sambashare

hostid – Imprime l'identificateur numérique de l'hôte actuel au format hexadécimal.

$ hostid

a8c01901

id – Imprime des informations sur l'utilisateur spécifié, ou l'utilisateur actuel si aucun utilisateur n'est spécifié.

$ id -Gn

admn adm cdrom sudo dip plugdev lpadmin sambashare

link – Crée un lien physique unique avec la syntaxe link filename linknamefilename est un fichier existant et linkname est une entrée non existante dans un répertoire existant. Dans l'exemple suivant, le test ping fonctionne même si la variable d'environnement PATH exclut l'emplacement réel de l'utilitaire ping . Le lien physique permet l'appel du test ping depuis /usr/bin dans ce cas.

$ sudo link /bin/ping /usr/bin/ping

$ env - PATH="/usr/bin" ping localhost

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.041

...

logname – Imprime le nom de connexion actuel.

$ logname

admn

nice – Exécute une commande avec gentillesse modifiée, affectant la réponse favorable de la planification de la commande. La gentillesse va de -20 (priorité élevée) à 19 (priorité la plus basse). Seuls les utilisateurs privilégiés peuvent définir une valeur de gentillesse négative pour un processus. Par défaut, nice augmente la gentillesse de 10 ; d'autres valeurs peuvent être appliquées en utilisant le commutateur -n. Les commandes suivantes invoquent nice par lui-même.

$ nice

0

$ nice nice

10

$ nice –n 15 nice

15

$ sudo nice –n -10 nice

-10

nohup – Permet aux commandes de continuer à s'exécuter indépendamment de la connexion utilisateur à la session terminal et après la déconnexion utilisateur. Les commandes suivantes ouvrent une session terminal distincte, démarrent un processus à exécuter à l'arrière-plan, se détachent de la session terminal distincte et vérifient que le processus d'arrière-plan s'exécute. Exécutez screen -r pour revenir à une session terminal distincte après que nohup.out se termine par 25, puis quittez la deuxième session terminal et rm nohup.out.

$ tty

/dev/ttyl

$ screen #press spacebar

$ tty

/dev/pts/0

$ nohup sh -c 'for i in $(seq 25); do echo $i; sleep 1 $i; done' &

[1] [pid]

nohup: ignoring input and appending output to 'nohup.out'

$ screen –d

[remote detached from [pid].ttyl.[machinename]]

$ tty

/dev/ttyl

$ less nohup.out #hold Enter to view nohup.out contents, press q to exit

# wait a few seconds

$ less nohup.out #hold Enter to view nohup.out contents, press q to exit

# continue to view nohup.out until file ends with 25

$ screen –r #return to second terminal session

$ exit #terminate second terminal session

[screen is terminating]

$ ps –fu[username] #lists processes for current user, verify SCREEN gone

$ rm nohup.out #delete file nohup.out

nproc – Imprime le nombre de processeurs disponibles pour le processus actuel.

$ nproc

2

pathchk – Evalue si le nom du chemin d'accès est valide. Renvoie 0 pour true et 1 pour false.

$ pathchk –p 14char_path_ok; echo $?

0

$ pathchk –p 15char_path_bad; echo $?

1

printenv – Imprime toutes les variables d'environnement, ou les valeurs des variables d'environnement spécifiées.

$ printenv HOME SHELL

/home/admn

/bin/bash

runcon – Exécute un programme dans un contexte de sécurité SELinux différent. si aucun programme ou contexte n'est fourni, imprime le contexte de sécurité actuel.

$ runcon

unconfined

seq – Imprime une séquence de nombres, du premier au dernier selon l'incrément spécifié. Les arguments par défaut pour l'impression d'une séquence de nombres sont first, increment et last.

$ seq 1 1 4

1

2

3

4

sleep – Interrompt ou met en veille pour le nombre spécifié de secondes (s), de minutes (m), d'heures (h) ou de jours (d). L'intervalle par défaut est en secondes. L'invocation suivante de veille est en pause pendant 2 minutes.

$ sleep 2m

stat – Imprime des informations sur le(s) fichier(s) spécifié(s).

$ stat -c=%A:%F .profile

=-rw-r--r--:regular file

stdbuf – Modifie la mise en mémoire tampon initiale d'entrée standard, de sortie standard et de flux d'erreur standard associés à une commande.

$ vmstat 1 | stdbuf -o L awk '$2 > 1 || $3 > 1' | cat -n

# set stdout stream of awk to line buffering to avoid vmstat's output from

# stalling until the buffer is full

stty – Imprime ou modifie des caractéristiques de terminal.

$ screen

$ stty size

54 144

$ stty rows 100 cols 150

$ stty size

100 150

$ exit

[screen is terminating]

tee – Affiche à l'écran et écrit dans un fichier, simultanément, la sortie d'une autre commande.

$ ls -alt | tee ls_alt

# ls -alt output displayed to screen and written to ls_alt

$ less ls_alt

# contents of ls -alt output in file ls_alt displayed to screen

$ rm ls_alt # deletes file ls_alt

test – Evalue des types de fichiers selon une expression conditionnelle et renvoie soit 0 (true), soit 1 (false). Ce qui suit évalue si /bin est un répertoire existant.

$ test -d /bin; echo $?

0

timeout – Exécute une commande pour une durée spécifique, après quoi la commande est arrêtée si elle est toujours en cours d'exécution. La durée par défaut est en secondes (s) mais peut également être en minutes (m), heures (h) ou jours (d).

$ timeout 2 ping localhost

PING localhost (127.0.0.1) 56(84) bytes of data

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.033

64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.046

true – Ne fait rien et renvoie une valeur de statut de sortie de succès de 0 ; généralement utilisé comme espace réservé dans des scripts shell où un statut de sortie de succès est nécessaire.

$ true; echo $?

0

tty – Imprime le nom du terminal.

$ tty

/dev/tty1

$ screen #press spacebar

$ tty

/dev/pts/0

$ exit

[screen is terminating]

$ tty

/dev/tty1

uname – Imprime les informations système.

$ uname

Linux

unlink – Supprime un fichier spécifique unique.

$ unlink .profilebak

uptime – Imprime le temps d'activité du système, les utilisateurs connectés et une charge moyenne.

$ uptime

  20:27:22 up 9:58,  2 users,  load average: 1.01, 0.55, 0.24

users – Imprime les noms utilisateur associés à chaque session de connexion active.

$ users

admn

who – Imprime des informations sur le(s) utilisateur(s) actuellement connectés.

$ who

admn  ttyl  2016-01-16 08:15

whoami – Imprime le nom de l'utilisateur actuel.

$ whoami

admn

yes – Imprime des arguments de ligne de commande jusqu'à la suppression en utilisant Ctrl+C ou une autre séquence de touches appropriée.

$ yes "Testing Yes"

Testing Yes

Testing Yes

Testing Yes

...

Linux, principaux utilitaires, GNU, utilitaires principaux, shell


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support.