CLI command line interface


terminal la ligne de commande sous debian

Introduction

la CLI : interface en ligne de commande, (en anglais command line interface) est une interface en console (terminal) pour communiqué avec l’ordinateur par l’intermédiaire de textes, pour effectué et faire exécuté une opération. Nous allons donc dans ce tutoriel, essayé d’expliqué comment un ordinateur peut fonctionné sans graphique, en répondant à nombreuses demandes, ou aux besoins les plus courants.
Le shell est un programme qui prend des commandes du clavier et les donne au système d’exploitation à exécuter. Dans le passé, c’était la seule interface utilisateur disponible sur un système de type Unix tel que Linux.
De nos jours, nous avons des interfaces utilisateur graphiques (GUI), en plus de la ligne de commande (CLI) . Le bash (Bourne Again SHell) agit comme un programme, il en existe bien d’autres, tel que ksh , tcsh et zsh, comprenant chacun une multitude de commandes .
Le terminal est ouvert par un programme qui ouvre une fenêtre et vous permet d’interagir avec le ’shell. Vous installez et vous manipulez vos paquets deb à l’aide de apt et dpkg (je laisse les autres de coté volontairement).

image, terminal la ligne de commande
ligne de commande sous debian

Tous les systèmes unix, BSD et MacOS dispose de ligne de commande : le Shell, dont il existe de nombreux interpréteurs.
le prompt c’est $ pour l’user et # pour root (administrateur)
Vous découvrirez au fur et à mesure de nombreuses commandes, certaines sont utiles pour naviguer dans les commandes longues :
Ctrl + r pour rechercher des commandes dans l’historique
Ctrl + A et Ctrl + E pour placer votre curseur en début ou fin de ligne
la touche enter déclenchera l’exécution de la commande
lors de vos test de commandes certains mots peuvent vous sembler curieux, mais en le tapant dans la console avec - -help, vous obtiendrez souvent une réponse à vos questions. l’article ligne de commande 6 vous apprendra comment faire les traductions.
stdin veut dire entrée standard
stdout veut dire sortie standard
sterr veut dire sortie d’erreurs
Pour l’instant, ça nous sert à rien, ceux qui iront plus loin dans la programmation apprendront les numéros logiques et les redirections..etc...
Ouvrez une console (appelé aussi terminal)
Vous pouvez ouvrir autant de console ou d’onglets que nécessaire, le passage
d’une console à l’autre se fait par la combinaison de touches : Ctrf + Tab.

Ce qui ressemblera fort à une de ces images

image de différents terminaux sous linux debian
quelques terminaux sous debian

terminator qui peut ouvrir autant de fenêtres que vous en avez besoin, vous passez d'une fenêtre à lautre avec Ctrl+tab
xterm, terminal xfce, lxterminal, termit, tilda, rxvt, stterm, screen.. etc ...il en existe plein, sans comptes le terminal "tmux qui travail en sous-couche,voir l'option "tmux attach -t session" pour être plusieurs à suivre sur un terminal; là aussi on peut en lancer autant que necessaire..

Ctr-Alt-F1 ... F6 donne accés à la vraie console linux, pratique pour réparer, ou si votre session graphique est planté, seul, Ctrl+alt+F7 est réservé a votre session graphique
Vous trouverez ici, une liste non exhaustive des applis les plus répandus et quelques exemples à là clef

navigation web en ligne de commande


LYNXpour la navigation web en mode texte avec la prise en charge des protocoles Gopher, HTTP, FTP, WAIS, et NNTP lynx/stable 2.8.9rel.1-3 amd64 navigateur web non graphique (en mode texte)
lien vers doc lynx
doc lynx_help_main.html
W3M navigateur web en mode texte w3m/stable,now 0.5.3-37 amd64 Navigateur web en mode page qui supporte les tables et cadres


browser w3m pour naviger er ligne de commande
navigateur w3m

CURL-WGET-WPUT

curl et wget/wput sont des clients web qui peuvent être utilisés pour automatiser des
actions, comme télécharger un fichier ou remplir un formulaire.
exemple pour récupérer la météo Toulouse avec curl dans un terminal :




météo en ligne de commande
affiche la météo dans un terminal en cli

Tutoriel curl


lien vers tutoriel curl

Trouvez votre adresse ip local :



Trouvez votre adresse ip public :



Les bureaux et gestionnaires de fichiers en CLI sous debian

Des bureaux légers existent sous linux, openbox, mais aussi awesome, wmii, ainsi que des gestionnaires de fichiers comme ranger, nnn, gnuit, clex, MC.

bureau awesome
awesome un bureau en ligne de commande


bureau en cli
wmii bureau en ligne de commande

gestionnaire en cli ranger
ranger gestionnaire de fichiers en ligne de commande


MULTIMEDIA


ffmpeg-- outils pour transcoder, diffuser en flux continu, et lire les fichiers multimédia
Des exemples pour ffmpeg :
documentation ffmpeg
voir aussi:
wiki ffmpeg
moc et sox sont d'exelents lecteurs de musique en ligne de commande<«br />

music avec sox
écouter la musiqe avec sox

le gestionnaire de music moc
moc: gestionnaire de music er cli

terminatorx - stable 4.0.1-2 amd64 synthétiseur audio en temps réel.
sndstable - stable 19.1-1 all éditeur de fichier audio
cmus - stable 2.7.1+git20160225-2+b2 amd64 lecteur audio léger en ncurses
mpd -/stable 0.21.5-3 amd64 Music Player Daemon
mpc - >/stable 0.31-1 amd64 outil en ligne de commande pour une interface avec MPD
ncmpcpp - /stable 0.8.2-0.1 amd64 client basé sur ncurses pour MPD (Music Player Daemon)

vidéos en console

ffmpeg: outils pour transcoder, diffuser en flux continu, et lire les fichiers multimedia
PERMET le lire les vidéos avec la commande ffplay dans une console.


visionner vos films à parti d'un terminal
ffplay pour visionner vos films à parti d'un terminal

quelques éditeurs


emacs-nox/stable,stable-updates,now 1:26.1+1-3.2+deb10u1 amd64 éditeur de texte GNU
Emacs sans interface graphique
vim-nox Vi IMproved), éditeur vi enrichi – avec prise en charge des langages de script
gvim ou vim-gtk vi graphique
nano petit éditeur de texte ergonomique inspiré de Pico
ed editeur de texte ligne à ligne traditionnel d’UNIX
kakoune éditeur de code, orienté sélection et inspiré par Vim
gedit éditeur de texte (executable)
kate éditeur pour développeur
bluefish éditeur html/css


PDFTK


pdftk : outil de manipulation de documents Portable Document Format.
Voir aussi Ghostscript à associé
pdftk/stable,now 2.02-5 amd64 paquet de transition pour pdftk, un outil pour manipuler les documents PDF
pdftk est un outil puissant de manipulations des documents pdk : concaténation, extraction de pages,
réduction etc.. on installe presque toujours avec “ghostscript et imagemagick :
Liens :
lien vers de la documentation pdftk

Deux exemples ici pour concaténer:


Tous les systèmes unix, BSD et MacOS dispose de ligne de commande : le Shell, dont il existe de nombreux interpréteurs. le prompt c’est $ pour l’user et # pour root (administrateur) Vous découvrirez au fur et à mesure de nombreuses commandes, certaines sont utiles pour naviguer dans les commandes longues : Ctrl + r pour rechercher des commandes dans l’historique Ctrl + A et Ctrl + E pour placer votre curseur en début ou fin de ligne la touche enter déclenchera l’exécution de la commande
lors de vos test de commandes certains mots peuvent vous sembler curieux, mais en le tapant dans la console avec - -help, vous obtiendrez souvent une réponse à vos questions. l’article ligne de commande 6 vous apprendra comment faire les traductions.
stdin veut dire entrée standard
stdout veut dire sortie standard
sterr veut dire sortie d’erreurs
Pour l’instant, ça nous sert à rien, ceux qui iront plus loin dans la programmation apprendront les numéros logiques et les redirections..etc...
Ouvrez une console (appelé aussi terminal) Vous pouvez ouvrir autant de console ou d’onglets que nécessaire, le passage d’une console à l’autre se fait par la combinaison de touches : Ctrf + Tab.


GRAPHISME - IMAGES



vidéo avec caca-util
vision d'un film avec cacaview

weechat dans un tmux
weechat pour t'chat irc

vous trouverez des liens et des documentations sur weechat ici:



quelques commandes linux en console

1)les commandes courantes des utilisateurs
la commande ls et ses options : va devenir obsolète et remplacé par la commande 'exa'
ls -l affiche vos fichiers par ordre alphabétique
ls -lha affiche vos fichiers cachés et les droits sur les fichiers
ls -I affiche vos fichiers et le numéro d'index de chaque fichier>
ls -lhaF- le F affiche vos fichiers exécutables
la commande exa et quelques options, cette commande va remplacer la commande ls
exa -l affiche les fichiers et les droits, le tout coloré
voir aussi exa -F exa -T exa -D exa-r et plus, voir man exa
mkdir pour créer un répertoire et touch pour créer un fichier. exemple: mkdir music touch paroles.txt
mkdir -p biblio/{etagère1,etagère2}/{dossier1,dossier2} : cette commande à créer 1 répertoire biblio avec 2 répertoires étagères intégrés + 2 répertoires dossier dans chaque étagère
rmdir éfface un répertoire
rm la commande qui tue :-)
rm fichier, supprime le fichier -- rm -rf répertoire, éfface le répertoire et tout ce qui est à l'intérieur
rm à faire, une fois placer dans le répertoire -- cd repertoire et rm -rf ./* pour effacer le contenu
cp pour copier un fichier
cp -a onserve normalement la structure et des attributs des fichiers d'origine dans la copie
cp -f (--force)force la copie même si le dossier de destination n'est pas en écriture.
ln -s dossier_cible nom_du_lien -- ln -s fait un lien srymbolique vers un autre répertoire
pwd vous informe où vous êtes dans l'arboresence des fichiers :exemple $pwd /home/lagrenouille
mv déplace ou renomme un fichier
cd pour se déplacer dans vos répertoire : cd repertoire/sous repertoire/etc.
locate pour rechercher des fichiers, n'est pas installé par défaut
file Indique le type de fichier
tail tail -45 affichera les 45 dernières lignes de fichier
head -20 affichera les 20 premières
cat pour lire un fichier, cat -n affiche les numéros de ligne

2)les commandes d'informations
lspci affichera la liste du matériel : option -v ou -vv sera plus bavard: lspci -v | grep Ethernet affiche votre carte réseau
lsusb affiche les périfs usb
free affiche la mémoire utilisée et libre
sudo - pour exécuter une commande avec un autre utilisateur: utile pour passer en root
who affiche la liste des utilisateurs connectés à votre ordi
shutdown -h now ferme l'ordinateur
lsblk - affiche les périphériques: il faudra une autre commande admin pour avoir le UUID (voir + bas blkid)
uname afficher des informations du noyau Linux: options: -m, -n, -r, -s, -o, -a: (voir aussi lsb_release -a)
ncdu affiche le repertoire courant avec le poids de chaque fichier.
ps liste les processus sur Linux: options -e, -ef, -aux, voir aussi pstree

3)les commandes administrateurs
lshw affiche des informations très détaillées sur les périphériques d’un ordinateur
blkid affiche les périphériques, et donne l'UUID des partitions
lscpu affiche les informations du processeur
dmidecode affiche les informations sytème par une extraction des structures de données SMBIOS
systemctl pour gérer les services sans systemd (systemctl status, systemctl --failed) etc.. (lire le man)
adduser ou useradd pour ajouter un utilisateur
usermod pour modifier un compte utilisateur
chmod changer les droits sur un fichier ou dossier
chown changer le propriétaire (et le groupe)
chgrp changer le groupe propriétaire
deluser ou userdel supprimer un utilisateur
id renvoie les informationss UID – GID d’un utilisateur
kill pour tuer un processus, en root comme en simple user :selon le processus à tuer

les commandes réseau sont dans le tuto réseau..vous en trouverez dans les diffèrents tutos

mon travail sur ce site en cli via ssh
voila comment je construit ce site via ssh