Icaunux - Le Forum

Forum de l'Association ICAUNUX

Vous n'êtes pas identifié(e).

Annonce

Les Inscriptions au forum sont temporairement désactivées en attendant de trouver une solution efficace contre les inscriptions fictives très nombreuses ces derniers temps. Si vous souhaitez vous inscrire sur le forum, merci d'envoyer une demande par mail à l'adresse contact@icaunux.org. Désolé de cette gène occasionnée.

#1 04-03-2018 19:31:36

wanica
Membre
Inscription : 13-11-2008
Messages : 2 070

Terminal, console, etc, en bref

Un super lien bien clair, mais pas tant que ça...

http://hautrive.free.fr/linux/page-shel … _commandes

Les shells de Linux, les terminaux

L'utilisateur qui se connecte au système dispose d'un shell dès sont authentification. Le shell par défaut de l'utilisateur est lancé automatiquement à partir d'un terminal  passif , d'un émulateur de terminal pour PC ( en démarrant avec le run level INIT 3 ou depuis l'interface graphique en pressant la combinaison de touches CTRL + ALT + F1 à F6, et CTRL + ALT + F7 pour revenir à l'interface graphique), d'une fenêtre de terminal ( aussi appelée terminal X ou console virtuelle ).

Pour connaître le shell utilisé à l'aide de sa variable d'environnement:

echo $SHELL
/bin/bash 

C'est le Bash (Bourne Again Shell, le shell de Linux)

Pour connaître l'utilisation en détail du shell bash:
man bash

Une série de commande peuvent être saisies sur la même ligne; c'est la liaison de commandes ; chaque commande est séparée des autres par un point virgule (";") et chacune est exécutée séquentiellement les unes après les autres.

commande ; commande

La programmation shell

La programmation shell consiste à écrire de "petit programme", les scripts shells à l'aide des outils du shell (commandes, options, arguments, variables, paramètres, fonctions, structures de contrôle, redirections, filtres,...). Les scripts shells (aussi appelés scripts d'environnement) sont des fichiers textes exécutables dont le shell intreprète et traite chaque ligne séquentiellement (c'est un traitement séquentiel ).

Les scripts shells peuvent s'exécuter en tâche de fond

Il faut enregistrer les scripts dans les répertoires prévus pour les programmes ("$HOME/bin", "/usr/local/bin"), ou du moins dans un des répertoires de la variable PATH, afin que le shell puisse les retrouver quand l'utilisateur les invoque.

Pour exécuter un script qui se trouve dans le répertoire courant depuis ce même répertoire, il faut faire précéder le nom du script d'un point et d'un slash pour indiquer au shell le répertoire de travail

(par exemple : "./script"). Ainsi, le shell est forcé d'exécuter le fichier du répertoire de travail au lieu d'essayer d'aller le rechercher dans les chemins de la variable PATH.

Il y a trois façon d'appeler un script:

L'appel implicite qui consiste à saisir le nom du script à partir du prompt. L'utilisateur doit avoir les droits de lecture (r) et d'exécution (x) pour pouvoir lancer le script. Une fois lancé, le shell crée un processus avec un sous-shell qui aura la responsabilité d'interpréter et d'executer le script (par exemple : "script").

L'appel explicite qui consiste à préciser le shell qui exécutera le script. il suffit de saisir le nom de l'interpréteur suivi du nom du script (par exemple : "bash script").

L'appel par le point qui consiste à saisir le nom du script depuis le répertoire ou se il trouve, précédé d'un point et d'un espace (par exemple : ". script"). Ainsi, le script est éxécuté par le shell et dans l'environnement courant; il n'y a pas de lancement de sous-shell.

https://doc.ubuntu-fr.org/tutoriel/script_shell

http://icaunux.org/doku.php?id=commande … et_syntaxe

http://icaunux.org/doku.php?id=installe … _commandes

Un ex de script réalisé par Raphaël, notre ancien secrétaire.

http://icaunux.org/doku.php?id=sauvegar … le_d_un_pc

Bof

http://www.enseignement.polytechnique.f … _unix.html

Télécharger la doc

http://igm.univ-mlv.fr/~masson/Teaching … /shell.pdf

https://download.tuxfamily.org/linuxvil … l_unix.pdf

https://wiki.chatons.org/doku.php?id=outils_et_astuces

Hors ligne

#2 10-04-2021 09:22:57

wanica
Membre
Inscription : 13-11-2008
Messages : 2 070

Re : Terminal, console, etc, en bref

https://www.dsfc.net/logiciel-libre/lin … eur-linux/

Logs de démarrage de votre serveur Linux
dernier démarrage

last -x runlevel

derniers reboots

    last -x reboot|sort -u 

dernière extinction

    last -x shutdown 

Hors ligne

#3 10-04-2021 12:09:53

IceCat
Membre
Lieu : 93
Inscription : 17-11-2012
Messages : 682

Re : Terminal, console, etc, en bref

J'aimerais lever l'ambiguïté que peut provoquer cette formulation.
"last" montre les derniers horodatages, c'est à dire à quelle heure l'événement s'est produit.

Pour les logs de démarrage à proprement parler (les journaux d'événements du démarrage), vous pouvez les récupérer avec la commande dmesg par exemple, avec les droits root :

sudo dmesg

promotion.php?image=PL-user.png&membre=IceCat

Hors ligne

#4 13-04-2021 15:29:42

wanica
Membre
Inscription : 13-11-2008
Messages : 2 070

Re : Terminal, console, etc, en bref

C'est noté mais les journaux de démarrage sont longs et complexes à interpréter.
Par contre l' horodatage permet de savoir quand le pc a été utilisé.

https://raphaelhertzog.fr/2010/12/13/co … -par-dpkg/

Lors d'un do-release-upgrade dans le terminal, confronté à la question ( fichiers de config personnalisés...) garder le fichier, remplacer, comparer les versions, la question est la sortie de la vue pour reprendre le menu précédent: la touche end est en surbrillancce et clignote, mais pas moyen de l' activer...

Un CTRL + C a annulé la mise à niveau en cours...

Si quelqu'un sait ?

Hors ligne

#5 16-04-2021 09:22:52

IceCat
Membre
Lieu : 93
Inscription : 17-11-2012
Messages : 682

Re : Terminal, console, etc, en bref

Je suis pas sûr d'avoir bien compris.
Tu as choisi de comparer les versions et il t'a mis dans un éditeur et tu n'arrives pas à en sortir sans arrêter l'upgrade, c'est ça ?

Il doit utiliser ton éditeur par défaut (pour le changer :  update-alternatives –config editor), j'imagine que c'est soit nano, soit vim.
Pour en sortir, c'est respectivement ctrl+x ou :q!


promotion.php?image=PL-user.png&membre=IceCat

Hors ligne

#6 16-04-2021 09:41:12

wanica
Membre
Inscription : 13-11-2008
Messages : 2 070

Re : Terminal, console, etc, en bref

Oui c'est ça !
update-alternatives --config editor  ( avec deux signes moins devant) me donne
Sélection   Chemin             Priorité  État
------------------------------------------------------------
* 0            /bin/nano           40        mode automatique
  1            /bin/ed            -100       mode manuel
  2            /bin/nano           40        mode manuel
  3            /usr/bin/vim.tiny   15        mode manuel

c'est donc nano.
Merci
Par contre je ne me rappelle pas avoir tenté ctrl+x. Aucune aide pour nano n' apparaît dans le terminal quand on lance do-release-upgrade.

Un peu rugueux quand même ces éditeurs de texte apparemment indispensables dès qu'on met lesmains dedans...

Hors ligne

#7 16-04-2021 14:11:26

IceCat
Membre
Lieu : 93
Inscription : 17-11-2012
Messages : 682

Re : Terminal, console, etc, en bref

Beh je sais pas, justement Nano c'est le seul qui a directement une aide contextuelle en bas. J'ai ça chez moi :
U7HuPA9.png

Je viens de tester sur CentOS 7 (à gauche) et Debian 10 (à droite), et même résultat :

RXCsC7M.png

Ubuntu ne propose pas ça lorsqu'il appelle nano lors d'un upgrade ?


promotion.php?image=PL-user.png&membre=IceCat

Hors ligne

#8 16-04-2021 23:48:02

wanica
Membre
Inscription : 13-11-2008
Messages : 2 070

Re : Terminal, console, etc, en bref

Je n'ai pas vu toutes ces aides en bas du terminal.
Peut être une question de définition d'écran.
J'ai lancé do-release-upgrade après avoir démarré graphiquement ma session.

Vers le milieu de la manip, la session graphique et les raccourcis (du système hôte en train d' étre mis à niveau)  ne répondent plus.
Le seul bouton visible était END en fin de page du fichier config ouvert pour observation)

J'ai aussi déjà lancé do-release depuis la ligne de commande en mode recovery.
C'est la même chose...
Par défaut, il est proposé de garder la version installée, j'ai aussi testé en installant la version proposée par le développeur. Ça n'a pas changé grand chose, je n'ai dû reconfigurer que l' imprimante ( script brother demonipuch fofo ubuntu)

Hors ligne

#9 21-04-2021 23:48:04

IceCat
Membre
Lieu : 93
Inscription : 17-11-2012
Messages : 682

Re : Terminal, console, etc, en bref

Un "end" dans le genre comme ça ?
ZRbKKpS.png

Ici c'est le "visualiseur" (?) de fichiers less. Pour en sortir, il faut appuyer sur la touche q


promotion.php?image=PL-user.png&membre=IceCat

Hors ligne

#10 22-04-2021 09:28:21

wanica
Membre
Inscription : 13-11-2008
Messages : 2 070

Re : Terminal, console, etc, en bref

Oui pile poil c'est celui là.

Trouvé la commande q dans tout le "listing"  suivant: https://www.linuxcertif.com/man/1/less/ … 735109717h

et origine du nom chez

https://fr.wikipedia.org/wiki/Less_(Unix) a écrit :

less a été écrit par Mark Nudelman entre 1983 et 1985, voulant une version de more capable de revenir en arrière lors de la visualisation d'un texte. En anglais, more et less sont des antonymes, more signifiant plus (fait référence au fait que cette commande permet de visualiser plus de pages),
le nom less est un jeu de mots signifiant more à l'envers

Donc ce n'est pas nano, comme écrit par erreur plus haut ! Mais l' affichage dans le terminal d'un fichier de conf avec less
Les quatre options dispo dans do-release-upgrade sont de mémoire et dans le désordre :

  • conserver votre conf
    utiliser celle du développeur
    voir le nouveau fichier de conf
    comparer l' ancien et le nouveau

pas très ergonomiique et pas évident de piger la syntaxe dans les fichiers...

Hors ligne

#11 24-04-2021 14:01:08

IceCat
Membre
Lieu : 93
Inscription : 17-11-2012
Messages : 682

Re : Terminal, console, etc, en bref

J'utilise beaucoup less, mais je ne connais que les quelques commandes utiles à mon usage : les symboles ?, / et n/N pour la recherche, et q pour en sortir...

L'avantage de cet outil est aussi qu'il permet d'afficher les fichiers avant même de les avoir totalement "lu". Et la différence de rapidité se ressent sur les fichiers très gros. Quand je vois des collègues aller lire des fichiers de logs avec vi/vim, je tique à chaque fois... wink


promotion.php?image=PL-user.png&membre=IceCat

Hors ligne

#12 28-09-2022 11:16:03

wanica
Membre
Inscription : 13-11-2008
Messages : 2 070

Re : Terminal, console, etc, en bref

wanica a écrit :

https://www.dsfc.net/logiciel-libre/lin … eur-linux/

Logs de démarrage de votre serveur Linux
dernier démarrage

last -x runlevel

derniers reboots

    last -x reboot|sort -u 

dernière extinction

    last -x shutdown 

Update !
Bon, ces commandes ne sont pas fonctionnelles du tout !
Quand je les entre, elles me donnent la date d' aujourd'hui !

J'aurai aimé savoir la date de dernière utilisation de ce pc que je démarre rarement, et je trouve ça pratique lorsque l'on possède plusieurs machines utilisées rarement, pour tests ou autre.

Il me semble déjà avoir vu une info de ce type en mode graphique lors de la demande de mise à jour système, depuis 350 jours, que ce pc n' a pas été mis à jour, il existe tant de trucs à upgrader.

EDIT ce jour:

Info trouvée sur https://linuxfr.org/forums/linux-debian … C3%A0-jour

/var/cache/apt  On y voit le dossier archives avec la date ici le 30 juin 2022.

Depuis cette date,

Les NOUVEAUX paquets suivants seront installés :
  linux-headers-4.15.0-193 linux-headers-4.15.0-193-generic
  linux-image-4.15.0-193-generic linux-modules-4.15.0-193-generic
  linux-modules-extra-4.15.0-193-generic
Les paquets suivants seront mis à jour :
  bind9-host chromium-browser chromium-browser-l10n
  chromium-codecs-ffmpeg-extra curl dirmngr dnsutils firefox firefox-locale-en
  firefox-locale-fr ghostscript ghostscript-x gir1.2-notify-0.7 gnupg
  gnupg-l10n gnupg-utils gnupg2 gpg gpg-agent gpg-wks-client gpg-wks-server
  gpgconf gpgsm gpgv gstreamer1.0-plugins-good gstreamer1.0-pulseaudio
  intel-microcode libbind9-160 libcurl3-gnutls libcurl4 libdns-export1100
  libdns1100 libfreetype6 libgnutls-openssl27 libgnutls30 libgs9 libgs9-common
  libgstreamer-plugins-good1.0-0 libirs160 libisc-export169 libisc169
  libisccc160 libisccfg160 libjpeg-turbo-progs libjpeg-turbo8 liblwres160
  libmysqlclient20 libnotify4 libnss-systemd libnss3 libpam-systemd
  libpoppler-glib8 libpoppler73 libpython2.7 libpython2.7-minimal
  libpython2.7-stdlib libpython3.6 libpython3.6-minimal libpython3.6-stdlib
  libsqlite3-0 libssl1.1 libsystemd0 libtiff5 libudev1 libwayland-client0
  libwayland-cursor0 libwayland-egl1 libwayland-server0 libxml2 libxslt1.1
  linux-generic linux-headers-generic linux-image-generic linux-libc-dev
  openssl poppler-utils python2.7 python2.7-minimal python3.6
  python3.6-minimal rsync systemd systemd-sysv thunderbird
  thunderbird-locale-fr tzdata ubuntu-advantage-tools udev vim-common vim-tiny
  wireless-regdb xserver-common xserver-xorg-core xserver-xorg-legacy xxd
  zlib1g zlib1g-dev
97 mis à jour, 5 nouvellement installés, 0 à enlever et 0 non mis à jour.
94 standard security updates
Il est nécessaire de prendre 316 Mo dans les archives.
Après cette opération, 276 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 

Hors ligne

#13 09-10-2022 09:23:30

IceCat
Membre
Lieu : 93
Inscription : 17-11-2012
Messages : 682

Re : Terminal, console, etc, en bref

Hello,

Il y a plusieurs moyen d'avoir les infos que tu cherches.
Tu as /var/log/apt/history.log que tu peux consulter pour avoir l'historique de ce qui a été installé/supprimé/màj

Pour lister les derniers démarrages, et consulter les logs, journalctl est ton ami ! wink
Pour lister les dates de boot :

journalctl --list-boots

Pour voir les logs de l'avant dernière session par exemple :

journalctl -b -1

promotion.php?image=PL-user.png&membre=IceCat

Hors ligne

#14 09-10-2022 21:21:45

wanica
Membre
Inscription : 13-11-2008
Messages : 2 070

Re : Terminal, console, etc, en bref

Hello !

Excellent ! J'avais essayé journalctl, mais les logs sont parfois longs...et sans une répétition on mémorise mal les commandes,

Merci pour ces options....bien supérieures dans leur résultats à last -x runlevel qui donne la météo qui est en train de se dérouler smile

Hors ligne

Pied de page des forums