Maison  >  Article  >  Opération et maintenance  >  Comment utiliser la commande d'écran Linux

Comment utiliser la commande d'écran Linux

PHPz
PHPzavant
2023-05-23 18:17:294807parcourir

1. Introduction à la commande screen

Screen est un gestionnaire de fenêtres plein écran qui permet de multiplexer plusieurs processus (généralement des shells interactifs) entre des terminaux physiques. Chaque terminal virtuel dispose d'un terminal DEC VT100 et de fonctions de contrôle ANSI X3. Normes ISO 6429 (64) et ISO 2022 (par exemple insertion/suppression de lignes et prise en charge de plusieurs jeux de caractères). Les utilisateurs peuvent profiter du tampon d'historique de défilement de chaque terminal virtuel et du mécanisme de copier-coller pour déplacer les zones de texte entre les fenêtres. Lorsque screen est appelé, il crée une fenêtre contenant le shell (ou la commande spécifiée), puis s'écarte de votre chemin pour que vous puissiez utiliser le programme normalement. Vous pouvez alors à tout moment créer de nouvelles fenêtres (plein écran) contenant d'autres programmes (y compris plus de shells), fermer la fenêtre actuelle, afficher la liste des fenêtres actives, activer et désactiver le journal de sortie, copier du texte entre les fenêtres, afficher le faire défiler l'historique, basculer entre les fenêtres, etc. Toutes les fenêtres exécutent leurs programmes de manière totalement indépendante. Les programmes continuent de s'exécuter lorsque la fenêtre n'est pas actuellement visible, et même lorsque la totalité de la session écran est détachée du terminal de l'utilisateur.

2. Exemples d'utilisation

1. Installer la commande d'écran

[root@s145]~# yum install -y screen
Installé :
screen.x86_64 0:4.1.0-0.27.20120314git3c2946.el7_9
Complet !

2. Liste toutes les sessions en cours

[root@s145]~# screen -ls
Aucun socket trouvé dans /var/run/screen/S-root.

3. Créez une nouvelle fenêtre

[ root@s145]~# screen -S test

[root@s145]~# screen -ls
Il y a un écran sur :
2877.test (ci-joint)
1 Socket dans /var/run/ screen/S -root.
[root@s145]~#

4. Quittez la fenêtre actuelle

  Vous pouvez utiliser ctrl+a, puis saisir d pour quitter la fenêtre actuelle, ou vous pouvez utiliser screen -d pour quitter la fenêtre actuelle. Si vous souhaitez terminer uniquement la fenêtre, utilisez exit.

Comment utiliser la commande décran Linux

Comment utiliser la commande décran Linux

5. Fenêtre de reconnexion

  Utilisez screen -r id ou name pour reconnecter la session. Avant de reconnecter la session, l'état de la session doit être Détaché.

Comment utiliser la commande décran Linux

Comment utiliser la commande décran Linux

Comment utiliser la commande décran Linux

6. Effacez la fenêtre d'état mort

Lorsque la fenêtre de session est terminée, l'état du processus devient mort et ne peut pas être connecté à ce moment, vous pouvez utiliser la commande "screen -wipe". " pour effacer la fenêtre de session.

Comment utiliser la commande décran Linux

7. Verrouillage et déverrouillage de la session

Entrez ctl+a s pour verrouiller la session. Après le verrouillage, l'écran ne répondra pas à tout ce que vous entrez. Entrez ctl+a q pour déverrouiller. , il acceptera les commandes saisies, toutes seront exécutées après le déverrouillage. N'entrez pas de commandes dangereuses, il est donc recommandé d'utiliser ctl+a x pour verrouiller.

Comment utiliser la commande décran Linux

Entrez ctl+a x pour verrouiller la session. Vous devez saisir le mot de passe utilisateur avant de pouvoir la déverrouiller.

Comment utiliser la commande décran Linux

8. Partage de session

Comment utiliser la commande décran Linux

Comment utiliser la commande décran Linux

9. Envoyer des commandes à la fenêtre d'écran

[root@s145]~# date && screen -S test -X screen ls > .txt
Mardi 11 janvier 17:12:24 CST 2022
[root@s145]~# screen -S test -X screen sh /root/test.sh

Comment utiliser la commande décran Linux

Comment utiliser la commande décran Linux

10, écran partagé

utilisation Les touches de raccourci peuvent être utilisées pour diviser l'écran normalement, mais les commandes ne peuvent pas être saisies lorsque l'écran est divisé. Si quelqu'un le sait, pouvez-vous laisser un message et m'en indiquer la raison. Veuillez me donner quelques conseils, merci !

Comment utiliser la commande décran Linux

11. Exemple pratique

Écrire un script pour une sortie continue

[root@s145]~# cat test.sh 
#!/bin/bash
\
while true
do
  echo "输出`date +%F-%T`"
  sleep 10
done

Créer une fenêtre d'écran

[root@s145]~# screen -S echotest

Exécuter le script test.sh

Comment utiliser la commande décran Linux

Créer la fenêtre Echotest hors ligne dans d'autres sessions

[root@s145]~# screen -d echotest
[3405.echotest détaché.]

Comment utiliser la commande décran Linux

Session de reconnexion# 🎜 🎜#

Comment utiliser la commande décran Linux

3. Syntaxe d'utilisation et description des paramètres

1. : screen [-opts] [cmd [args]]

ou : screen -r [host.tty]

2.

Paramètre

Description du paramètreRésolvez les noms d'hôtes en adresses IPv4 uniquement. -6Résolvez les noms d'hôtes en adresses IPv6 uniquement. -a Force toutes les fonctionnalités dans termcap par fenêtre. -A-[rr]-c fichier Lisez le fichier de configuration au lieu de». screenrc». -d(-r)Détachez un écran fonctionnant ailleurs (et reconnectez-vous ici). -nom dmSDémarrer en tant que démon : Session d'écran en mode détaché. -D(-r) Détachez et déconnectez-vous de la télécommande (et reconnectez-vous là-bas). -D-RR Faites tout ce qui est nécessaire pour obtenir une séance d'écran. -e xyModifier les caractères de commande. -fLe contrôle de flux est activé, -fn=off, -fa=automatic. -h line Définissez la taille du tampon de l'historique de restauration. -iLorsque le contrôle de flux est activé, la sortie d'interruption est plus rapide. -lLe mode de connexion est activé (mise à jour /var/run/utmp), -ln=off. -ls[match]Ne fait rien, répertorie simplement notre SockDir [sur les correspondances possibles], comme -list -listNe fait rien d'autre que lister notre SockDir [sur les correspondances possibles]. -LActivez la journalisation des sorties. -mIgnorez la variable $STY et créez une nouvelle session d'écran. -OChoisissez la meilleure sortie au lieu d'une simulation exacte de vt100. -p windowsPrésélectionne la fenêtre nommée si elle existe. -qDémarrage silencieux. En cas d'échec, quittez avec un code retour différent de zéro. La commande -Q enverra une réponse à la sortie standard du processus de requête. -r[session]Reconnectez-vous à un processus d'écran détaché. -R Reconnectez-vous si possible, sinon démarrez une nouvelle session. -s shellLe shell à exécuter, pas $shell. -S socknameNommez cette session. sockname au lieu de . -t titreDéfinissez le titre. (nom de la fenêtre). -T termUtilisez le terme comme $term pour Windows, pas "écran". -U indique à l'écran d'utiliser l'encodage UTF-8. -v imprime "Version d'écran 4.01.00devel (GNU) 2 mai 2006". -wipe[match]Ne fait rien mais efface SockDir[correspondances possibles]. -x Connectez-vous à un écran non détaché. (Mode d'affichage multiple). -XExécuter en tant que commande d'écran dans la session spécifiée. Ctrl+ac c : Créer fenêtre
-4 # 🎜🎜#
3. Touches de raccourci utilisées dans la commande Écran

Ctrl+a w : Liste des fenêtres
  • Ctrl+a n : Fenêtre suivante #🎜🎜 ## 🎜🎜#
  • Ctrl+a p : Fenêtre précédente

  • Ctrl+a 0-9 : Entre la 0ème fenêtre et la 0ème fenêtre Basculer entre 9 fenêtres

  • Ctrl+a K (majuscule) : Ferme la fenêtre actuelle et passe à la fenêtre suivante (en sortant de la dernière fenêtre, le terminal se termine automatiquement et revient à l'état d'origine du shell)

  • exit : Fermez la fenêtre actuelle et passez à la fenêtre suivante (en quittant la dernière fenêtre, le terminal se termine automatiquement et revient à l'état d'origine état du shell)

  • Ctrl+a d : Quittez le terminal actuel et revenez à l'état de commande du shell avant de charger l'écran

    #🎜 🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer