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).
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
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
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 :
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.
awesome un bureau en ligne de commande
wmii bureau en ligne de commande 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 />
écouter la musiqe avec sox 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.
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
vision d'un film avec cacaview weechat pour t'chat irc
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