Soutenir Vision du Web dans son partage de logiciels et de ressources libres

Ce mineur crée de la monnaie numérique Monero pour soutenir Vision du web.
Merci de désactiver votre bloqueur de publicité.
Aucune publicité ne sera affichée.
Le mineur utilise les ressources de votre machine pour créer gratuitement de la monnaie numérique.
Le montant des donations pour Vision du web est de 0.073256572386346 Monero.

Utiliser des commandes shell avec le terminal : Différence entre versions

De Wiki. Analyse, Communication, Développement, Hacking.
Aller à : navigation, rechercher
m (Empêcher la suppression d'un dossier ou d'un fichier)
m (Compresser avec KGB Archiver)
Ligne 324 : Ligne 324 :
 
  sudo dpkg -i nixnote2-2.0-beta6_amd64.deb
 
  sudo dpkg -i nixnote2-2.0-beta6_amd64.deb
 
  sudo apt-get -f install
 
  sudo apt-get -f install
 
===Compresser avec KGB Archiver===
 
Source : https://packages.debian.org/jessie/utils/kgb
 
  
 
===Compresser une vidéo avec Handbrake sur Debian Jessie===
 
===Compresser une vidéo avec Handbrake sur Debian Jessie===

Version du 8 décembre 2018 à 02:00

Naviguer sur le wiki : Accueil du wiki - Administrateur - Développeur - Intégrateur - Marketing - Multimédia - Objectifs - We make Hack
Naviguer sur le site : Accueil du site - Les annuaires - Les éditoriaux - Le forum - Les outils - Les projets
 
Consulter le sommaire de cette page en étant déconnecté du réseau : Télécharger le sommaire en PDF

Sommaire

Utiliser des commandes shell avec le terminal

Les couleurs dans le terminal

Les couleurs utilisées dans le terminal servent par exemple à identifier un certain type de fichiers.
Source : https://www.mistra.fr/tutoriel-linux-types-fichiers.html

Connaître la version de Linux utilisée

Les 4 commandes suivantes donnent des informations complémentaires sur la version de votre système GNU/Linux.
lsb_release -a
No LSB modules are available.
Distributor ID:	LinuxMint
Description:	Linux Mint 18.3 Sylvia
Release:	18.3
Codename:	sylvia
cat /etc/issue
Linux Mint 18.3 Sylvia \n \l
cat /proc/version
Linux version 4.4.0-21-generic ([email protected]) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2) ) #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016
uname -m
x86_64
cat /etc/debian_version
9.1

Le symbole $

Le $ indiqué devant une commande permet de faire la différence entre la commande saisie, et, le texte en réponse obtenu une fois la commande lancée.
«$» indique qu'il s'agit d'un simple utilisateur.
«#» indique qu'il s'agit de l'administrateur également appelé root.

Les raccourcis avec un terminal

Déplacement

Ctrl + a : aller au début de la ligne
Ctrl + e : aller à la fin de la ligne
Alt + b : se déplacer mot par mot dans la ligne de commande en arrière (b pour backward)
Alt + f : se déplacer mot par mot dans la ligne de commande en avant (f pour forward)
Ctrl + xx : positionner le curseur au début du mot ou à la fin

Couper / Coller

Ctrl + k : couper la chaîne du curseur jusqu'à la fin de la ligne
Ctrl + u : couper la chaîne du curseur jusqu'au début de la ligne
Ctrl + w : couper le mot avant le curseur
Ctrl + y : coller une chaîne

Modification

Ctrl + t : inverser la position des deux caractères avant le curseur (pratique quand on tape par exemple, sl au lieu de ls)
Alt + shift + t : inverser la position des deux mots avant le curseur
Alt + shift + c : mettre une lettre en majuscule
Alt + shift + l : mettre un mot en minuscule (l pour lowercase)
Alt + shift + u : mettre un mot en majuscule (u pour uppercase)
Alt + shift + . : réécrire le paramètre de la dernière commande

Autres raccourcis pour le terminal

Ctrl + l : effacer le contenu de l'écran.
Ctrl + _ : annuler la dernière modification.
Ctrl + c : arrêter la commande en cours.
Ctrl + z : interrompt temporairement un processus, qui peut être relancé avec la commande fg (Au premier plan.) ou bg (En arrière-plan.).
Ctrl + d : quitter le shell en cours.
Ctrl + r : permet de rechercher une commande dans l'historique de la console.

Les alias

La ligne de commande est très efficace, mais taper au clavier prend du temps.
Raccourcir des commandes avec les alias en ajoutant dans le fichier ~/.bashrc, juste après some more ls aliases, les alias souhaités.
Relancer la session utilisateur pour que les alias soient pris en compte.
Exemple :
alias monalias='Une longue commande'
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
alias c='clear'

Exemples pour des alias avec apt-get

alias search='apt-cache search'
alias show='apt-cache show'
alias install='sudo apt-get install'
alias remove='sudo apt-get remove'
alias update='sudo apt-get update'
alias upgrade='sudo apt-get upgrade'
Recharger .bashrc avec la commande source ~/.bashrc
Utiliser ensuite la commande update && upgrade pour lancer une mise à jour.
Noter que le shell par défaut de Debian s'appelle bash, mais qu'il en existe d'autres, selon les usages (zsh, csh, ...), pour lesquels le fonctionnement est légèrement différent.
Attention ! J'utilise zsh, et, zsh utilise ~/.zshrc et non pas ~/.bashrc.
Enlever les alias ajoutés dans .bashrc puisqu'il ne recharge pas, et, ajouter les alias dans le fichier .zshrc
Recharger .zshrc avec la commande source ~/.zshrc
Les alias update && upgrade sont maintenant fonctionnels.

Autocomplétion

La touche tabulation permet de compléter le nom des commandes.
Elle permet aussi de compléter le chemin vers un fichier mais cela n'est pas toujours très pertinent.
Par exemple, il serait préférable que l'argument après apt-get soit complété en fonction des paquets disponibles, et non des fichiers dans le répertoire courant.
Si cette fonction n'est pas ou plus activée, éditer le fichier /etc/bash.bashrc et décommenter les lignes concernant l'auto-complétion : 
# if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
# fi

Lancer plusieurs programmes à la suite

Utiliser le caractère "&".
programme&
autre_programme

Arrêter et relancer un service proprement

FTP (port 21)FTP est géré par ncftpd. www.ncftpd.com

Pour arrêter le service : Il faut éditer /etc/inittab (vérifier que vous avez une ligne concernant ncftpd) et redémarrer init
# pico /etc/inittab
#/sbin/init q
Pour redémarrer le service : Il suffit de tuer tous les process. ncftpd et il va redémarrer automatiquement.
# killall -9 ncftpd

DNS (port 53)DNS est géré par Bind www.isc.org/products/BIND/

Pour arrêter le service :
# /etc/init.d/named stop
Pour démarrer le service :
# /etc/init.d/named start

Web (port 80)La partie web est gérée par Apache httpd.apache.org

Pour arrêter le service :
# /etc/init.d/httpd stop
Pour démarrer le service :
# /etc/init.d/httpd start

SQL (port 3306)SQL est géré par MySQL www.mysql.com

Pour arrêter le service :
# /etc/init.d/mysql stop
Pour démarrer le service :
# /etc/init.d/mysql start

Webmin (port 10000)Webmin est géré par Webmin www.webmin.com

Pour arrêter le service :
# /etc/init.d/webmin stop
Pour démarrer le service :
# /etc/init.d/webmin start

Commandes APT

apt-cache search <nom-du_paquet>
Recherche dans les paquets disponibles.
Filtrer par un mot clé : apt-cache search php | grep php-
sudo apt-cache pkgnames | grep php7.0
Liste le nom des paquets disponibles, ici, pour php7.0 par exemple.
apt-cache depends <nom-du_paquet>
Dépendances.
apt-cache madison <nom-du_paquet>
Versions disponibles et dépôt utilisé.
apt-cache policy <nom-du_paquet>
apt policy <nom-du_paquet>
Versions et possibilités.
apt-cache show <nom-du_paquet>
Informations sur le paquet.
apt-show-versions <nom-du_paquet>
Installer : apt-get install apt-show-versions
Alternative. Informations sur le paquet.
apt-show-versions <nom-du_paquet> pour connaître la version.
apt-show-versions apache2 -a pour connaître toutes les versions disponibles.
apt-get install <nom-du_paquet> -s
Simulation d'installation.
apt-get install <nom-du_paquet>
Installation du paquet mentionné.
apt-get remove <nom-du_paquet>
Désinstallation/suppression du paquet.
apt-get remove <nom-du_paquet> --purge
Désinstallation complète, fichiers de configuration compris.
apt-get autoclean
Vide le cache disque des paquets.
apt-get clean
Vide le cache disque des paquets.
Le cache contient notamment des paquets .deb utilisés récemment.
cd /var/cache/apt/archives
apt-get update
Chargement des données liées au sources.list.
apt update
E: Le pilote pour la méthode /usr/lib/apt/methods/https n'a pu être trouvé.
N: Is the package apt-transport-https installed?
Installer alors : apt-transport-https
La mise à jour des paquets fonctionne à nouveau.
apt-get upgrade
Mise à jour des paquets.
apt-get dist-upgrade
Met à jour de la distribution complète.

Nohup apt upgrade

La commande nohup apt upgrade permet de garder une trace de la mise à jour dans un fichier texte.
La mise à jour n'est alors pas exécutée mais les informations de la mise à jour sont copiées vers le fichier texte.

Résoudre les problèmes apt

Documentation Ubuntu pour apt : https://doc.ubuntu-fr.org/probleme_apt

Empêcher les mises à jour pour un paquet

# Arrêter la mise à jour d'un paquet.
echo  "toto hold" | dpkg --set-selections
# Remettre la mise à jour du paquet en service.
echo  "toto install" | dpkg --set-selections
Source : https://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package

Tester la présence d'un paquet installé

dpkg -l |grep <nom-du_paquet>

On peut aussi tester cette autre méthode, pour lister les paquets installés d'une application.
dpkg -l |awk '/libreoffice-gtk/' est équivalent à dpkg -l |grep libreoffice-gtk
dpkg -l |awk '/libreoffice/ {print $1 " "$2 "  "$3}'

Lister tous les paquets

Liste de tous les paquets installés avec la commande dpkg -l
Le terminal affiche la fin de la liste des paquets installés.

Sauvegarder la liste en entier

Conserver cette liste en créant un fichier liste vide avec la commande touch liste.
Copier les information dans le fichier liste avec la commande dpkg -l >> liste.
A détailler : dpkg -l |grep ii
A détailler : dpkg --get-selections

Lister les paquets récemment installés

cat /var/log/apt/history.log

Connaître le status d'un service

service apache2 status

Trouver les dépendances d'un paquet

Utiliser aptitude why

Connaître les dépendances d'un paquet logiciel avec aptitude why.
aptitude why gedit
Affichera :
i   gedit        Dépend     gedit-common (< 3.19)
i A gedit-common Recommande gedit

Utiliser dpkg-depcheck

 Le paquet dpkg-depcheck permet de connaître les dépendances nécessaires à un paquet.
 Voir le manuel : http://pwet.fr/man/linux/commandes/dpkg_depcheck
 Installer ce paquet : sudo apt install devscripts
 Lancer la commande : dpkg-depcheck GreeN-Project
 Packages used:
 green-project
 libc6:amd64
 tzdata
 libtinfo5:amd64
 coreutils

Utiliser apt-rdepends

Installer apt-rdepends sur Ubuntu ou Debian : sudo apt-get install apt-rdepends
Exemple sans avoir à utiliser les privilèges root : apt-rdepends nom-du-paquet
Le paquet apt-rdepends permet également de connaître les dépendances nécessaires à un paquet.
Installer apt-rdepends :
sudo apt-get install apt-rdepends
Lancer la commande pour connaître les dépendances d'un paquet :
apt-rdepends paquet

Visualiser les dépendances d’un paquet .deb de manière graphique

Le programme apt-rdepends peut exporter les informations de dépendances dans un fichier pour permettre à un éditeur graphique GUI appelé dotty de visualiser les dépendances dans un format graphique.
Installer l’outil éditeur de graphe Dotty :
sudo apt-get install graphviz 
Lister les dépendances d'un paquet avec apt-rdepends puis les exporter dans un fichier .dot :
apt-rdepends -d apt-rdepends | dot > apt.dot
Ouvrir le fichier avec l’éditeur dotty :
dotty apt.dot

Trouver toutes les correspondances pour une recherche avec locate

locate fichier-programme

Tracer une commande avec strace

strace -f -o strace.log la-commande-que-je-veux-tracer
Avec la ligne précédente, on enregistre tout, ça peut faire beaucoup.
Rajouter un filtre pour les appels système :
strace -f -o strace.log -eopen la-commande-que-je-veux-tracer
Ajouter -eread pour les appels en lecture.
Lire strace.log avec un pager (less, more...).
Sur un processus déjà en route, utiliser l'option `-p pid-du-processus` pour rattacher strace au processus.
man strace pour en savoir plus.

Installer un paquet logiciel

Debian / Ubuntu

Utiliser l'une des commandes suivantes pour installer un paquet logiciel.
sudo apt-get install NomDuPaquet
sudo aptitude install NomDuPaquet
sudo apt install NomDuPaquet
Ajouter l'argument --fix-missing pour résoudre automatiquement les dépendances manquantes.
Lorsque c'est possible, les informations du sources.list renseignent automatiquement le programme sur les dépendances manquantes.

Most

Most est un programme de défilement qui affiche, une pleine page à la fois, le contenu d’un fichier sur un terminal.
Une ligne d'état en bas de l'écran affiche le nom du fichier, le numéro de la première ligne affichée à l'écran et le pourcentage du fichier qui a déjà été affiché.

Contrairement à d'autres programmes de visualisation, most peut afficher un nombre arbitraire de fenêtres tant qu'elles peuvent toutes être affichées.
Différentes fenêtres peuvent être utilisées pour montrer le même fichier à différents endroits.
En plus d'afficher des fichiers textes ordinaires, most peut aussi afficher des fichiers binaires ou avec des caractères ASCII quelconques.
sudo apt-get install most

Evernote

http://sourceforge.net/projects/nevernote/files/
sudo dpkg -i nixnote2-2.0-beta6_amd64.deb
sudo apt-get -f install

Compresser une vidéo avec Handbrake sur Debian Jessie

Vérifier cette procédure. Je l'avais supprimée de mes notes, peut être que Handbrake était bogué ou dépassé.

Installer Handbrake pour compresser une vidéo sur Debian Jessie.

Ajouter la liste des dépôts multimédia dans les sources.list
deb www.deb-multimedia.org jessie main non-free

apt-get update
apt-get install deb-multimedia-keyring
Valider oui.
apt-get update
apt-get upgrade
apt-get install handbrake-gtk

Manipuler des vidéos avec pitivi

Un bogue avec Debian empêche d'utiliser correctement pitivi.
Un paquet est manquant. Il devrait être corrigé prochainement, ou, peut être a t'il déjà été corrigé.

Manipuler des vidéos avec avidemux

Installer avidemux pour faire du montage de vidéos.
Ajouter le dépôt suivant dans /etc/apt/sources.list
deb http://www.deb-multimedia.org jessie main non-free
apt-get update
apt-get install deb-multimedia-keyring
sudo apt-get install avidemux
Le montage vidéo peut se faire sur openshot.

Changer les droits sur un fichier avec chmod

Source : https://doc.ubuntu-fr.org/droits
Source : https://www.washington.edu/computing/unix/permissions.html

Lecture seule pour certains fichiers

Penser à mettre certains fichiers /index.php, /administrator/index.php et /templates/votretemplate/index.php en chmod 444 pour ne pas qu'ils puissent être modifiés.

Passer les dossiers et fichiers en 755

Le dossier contenant le site visionduweb est passé en 755 en local.
chmod -R 755 /opt/lampp/htdocs/visionduweb

Rendre un fichier exécutable

Sous linux la commande chmod permet de modifier les droits des fichiers. Pour transformer un fichier en fichier exécutable il faut lancer la commande suivante :
Cette commande ajoute les droits d'exécution au propriétaire du fichier.
chmod u+x fichier.sh
Pour rendre le fichier exécutable pour le groupe utilisateur il faut lancer :
chmod g+x fichier.sh
Rendre le script exécutable pour les autres utilisateurs :
chmod o+x fichier.sh
Autoriser tout le monde :
chmod ugo+x fichier.sh
- u pour user correspond à l'utilisateur
- g pour group correspond au groupe
- o pour other correspond à tous les autres utilisateurs
La lettre x correspond aux droits d'exécution.

Réattribuer des droits à un ensemble de types de fichiers

Réattribue les droits 644 aux images d'un dossier.
Noter que en bash les parenthèses et les pipelines dans une expression rationnelle (regex) doivent être échappées.
find /chemin/vers/dossier -regex ".+\.\(jpe?g\|gif\|png\)" -exec chmod 644 {} \;

Changer le propriétaire et le groupe

Changer le propriétaire et le groupe pour le premier utilisateur installé
chown 1000:1000 NomDuFichier
1000 = Premier utilisateur installé.
0 = Utilisateur root
8 = Service mail

Clés de dépôts

# Paquets complémentaires pour ajouter un dépôt apt et les clés.
# sudo apt-get install software-properties-common
# sudo apt install dirmngr
Lister les clés : apt-key list
pub   rsa4096 2015-07-14 [SCEA]
     5811 8E89 F3A9 1289 7C07  0ADB F762 2157 2C52 609D
uid           [ unknown] Docker Release Tool (releasedocker) <[email protected]>
Supprimer une clé : apt-key del <key-id>
Supprimer la clé du dépôt de Docker : apt-key del 2C52609D

Installer des paquets avec ppa

Logiciels à installer avec ppa

Source : https://www.learn2crack.com/2013/08/ubuntu-apps-command-line-ppa.html

Lister les ppa installés

Lancer la commande suivante :
ls -l /etc/apt/sources.list.d/
Source : https://doc.ubuntu-fr.org/ppa

Un script permet d'ajouter des PPA a Debian avec la bonne syntaxe

#!/bin/bash
if [ $# -eq 1 ]
NM=`uname -a && date`
NAME=`echo $NM | md5sum | cut -f1 -d" "`
then
ppa_name=`echo "$1" | cut -d":" -f2 -s`
if [ -z "$ppa_name" ]
then
echo "PPA name not found"
echo "Utility to add PPA repositories in your debian machine"
echo "$0 ppa:user/ppa-name"
else
echo "$ppa_name"
echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu xenial main" >> /etc/apt/sources.list
apt-get update >> /dev/null 2> /tmp/${NAME}_apt_add_key.txt
key=`cat /tmp/${NAME}_apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3`
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
rm -rf /tmp/${NAME}_apt_add_key.txt
fi
else
echo "Utility to add PPA repositories in your debian machine"
echo "$0 ppa:user/ppa-name"
fi
Sauvegarder ce fichier dans /usr/sbin/
cp add-apt-repository.sh.txt /usr/sbin/add-apt-repository
Changer la permission pour exécuter.
chmod o+x /usr/sbin/add-apt-repository
Changer le propriétaire pour root.
chown root:root /usr/sbin/add-apt-repository
Ajouter normalement un PPA.
sudo add-apt-repository ppa:ppa-name
Suivre ce tutoriel. Le script d'origine, à l'étape 1, lucid est remplacé par xenial.
Comment installer un logiciel avec ppa sur Debian : https://blog.anantshri.info/howto-add-ppa-in-debian/

Vérifier les pilotes qui sont chargés

Vérifier les pilotes qui sont chargés :
lspci -k
Plus d'informations sur un pilote, par exemple nvme, avec la commande modinfo :
modinfo nvme
filename:       /lib/modules/4.15.0-36-generic/kernel/drivers/nvme/host/nvme.ko
version:        1.0
license:        GPL
author:         Matthew Wilcox <[email protected]>
srcversion:     3B317A06BCAB696AA0B63BD
alias:          pci:v0000106Bd00002003sv*sd*bc*sc*i*
alias:          pci:v0000106Bd00002001sv*sd*bc*sc*i*
alias:          pci:v*d*sv*sd*bc01sc08i02*
alias:          pci:v00001D1Dd00002807sv*sd*bc*sc*i*
alias:          pci:v00001D1Dd00001F1Fsv*sd*bc*sc*i*
alias:          pci:v0000144Dd0000A822sv*sd*bc*sc*i*
alias:          pci:v0000144Dd0000A821sv*sd*bc*sc*i*
alias:          pci:v00001C5Fd00000540sv*sd*bc*sc*i*
alias:          pci:v00001C58d00000023sv*sd*bc*sc*i*
alias:          pci:v00001C58d00000003sv*sd*bc*sc*i*
alias:          pci:v00008086d00005845sv*sd*bc*sc*i*
alias:          pci:v00008086d0000F1A5sv*sd*bc*sc*i*
alias:          pci:v00008086d00000A55sv*sd*bc*sc*i*
alias:          pci:v00008086d00000A54sv*sd*bc*sc*i*
alias:          pci:v00008086d00000A53sv*sd*bc*sc*i*
alias:          pci:v00008086d00000953sv*sd*bc*sc*i*
depends:        nvme-core
retpoline:      Y
intree:         Y
name:           nvme
vermagic:       4.15.0-36-generic SMP mod_unload 
parm:           use_threaded_interrupts:int
parm:           use_cmb_sqes:use controller's memory buffer for I/O SQes (bool)
parm:           max_host_mem_size_mb:Maximum Host Memory Buffer (HMB) size per controller (in MiB) (uint)
parm:           sgl_threshold:Use SGLs when average request segment size is larger or equal to this size. Use 0 to disable SGLs. (uint)
parm:           io_queue_depth:set io queue depth, should >= 2

Différer des commandes avec at

Ok-ko.png Source : https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux/executer-un-programme-a-une-heure-differee

Afficher l'arborescence d'un répertoire avec le paquet tree

# Installer le paquet tree :
sudo apt-get install tree
# Afficher l'arborescence :
tree Dossier
# Afficher l'arborescence en ajoutant le propriétaire et le poids du fichier :
tree Dossier -Csu

Devenir root

Bascule l'utilisateur vers le root, nécessite le mot de passe root.
su -
Bascule l'utilisateur vers le root, nécessite le mot de passe de l'utilisateur.
sudo su -
Donne l'accès root pour une commande spécifique, nécessite le mot de passe de l'utilisateur.
sudo <command>
Relancer un commande ou l'on a oublié sudo sans avoir à ressaisir la ou les commandes.
sudo !!
Devenir root avec sudoers sur une distribution live de GNU/Linux.
sudo bash

Quitter le mode root

ctrl d ou exit

Savoir qui est connecté

finger
who
Avoir les pseudos et le nombre d'utilisateurs connectés : who -q
Avoir les pseudos et la date de connexion des utilisateurs connectés : who | awk '{print $1" "$3}'
Avoir le nombre d'utilisateurs connectés : who | wc -l
w

Faire une recherche de fichier

#Trouver un fichier ici le fichier screenrc recherché sur toute la racine "/".
find / -name screenrc

Utiliser les espaces pour les dossiers et les fichiers

cd espace\ de\ travail
ou
cd "espace de travail"
ou encore
REP='espace de travail'
cd "${REP}"

Faut t'il interpréter les variables

Un intéressant problème de shell.
Ici bash fait la transformation : cd $rep ==> cd espace de travail  ==> 'cd' 'espace' 'de' 'travail'
Avec zsh par contre, ceci marche parfaitement, la variable rep occupe un seul argument pour la commande 'cd'.
rep="blah blah"
cd $rep
C'est donc un choix qui est fait par le shell.

Informations sur un dossier ou un fichier

Connaître la date de création ou de modification d'un dossier ou d'un fichier

ls --full-time pour lister les dossiers et les fichiers avec la date de création / modification.

Connaître l'encodage d'un dossier ou d'un fichier

Utiliser la commande file.
file tesat.sql
tesat.sql: UTF-8 Unicode text, with very long lines
Autre possibilité pour trouver l'encodage avec Gedit.
Ouvrir le fichier avec l'éditeur de texte Gedit.
Depuis "Fichier->enregistrer sous", l'encodage est présenté.
Autre possibilité pour trouver l'encodage avec uchardet
sudo apt-get install uchardet
uchardet file.txt
--> windows-1252
--> 0.009 s
Autre possibilité pour trouver l'encodage avec python-chardet
sudo apt-get install python-chardet
chardet file.txt
--> file.txt: ISO-8859-2 (confidence: 0.86)
--> 1.892 s
Changer l'encodage d'un fichier avec iconv.
iconv -f iso-8859-15 -t utf-8 fichier > fichier2

Connaître les droits sur un dossier ou un fichier

ls -ltr nomdufichier
ll est un raccourci pour ls -l et permet de lister le contenu d'un dossier et d'afficher les droits.

Toutes les options de la commande ls

Ok-ko.png Source : http://geekstrick.com/ls-command-with-all-its-parameter-in-linux/

Vérifier la date du système

Utiliser la commande date pour vérifier la date du système.
Utiliser la commande dpkg-reconfigure tzdata pour reconfigurer la date du système.

Heure du serveur et horloge atomique

NTPD

Présentation rapide du protocole NTP : https://wiki.debian.org/fr/NTPProtocole
Le paquet ntp et ntp-simple font tourner un daemon pour synchroniser en permanence la machine.
Le paquet ntp-doc contient toute la documentation au format HTML pour le paquet NTP.
Durant l'installation, dpkg détecte que vous avez déjà un fichier /etc/default/ntp-servers et propose de modifier votre configuration.
Choisir no pour pourvoir modifier vous-même le fichier de configuration.
Les fichiers principaux se trouvent aux endroits suivants:
Le fichier de configuration de NTP, on y retrouve les serveurs avec lesquels ntpd doit se synchroniser :
/etc/ntp.conf
La documentation ntp au format HTML :
/usr/share/doc/ntp-doc/html/index.htm
L’exécutable principal :
/usr/sbin/ntpd
Le script d'initialisation de ntp :
/etc/init.d/ntp
NTP permet de synchroniser l'heure du serveur avec des horloges atomiques.
apt-get install ntp ntpdate.
Éditer /etc/ntp.conf ou /etc/default/ntpdate pour vérifier la configuration.
Éventuellement modifier les adresses des serveurs avec les plus proches de chez vous : http://support.ntp.org/bin/view/Servers/NTPPoolServers
# Liste des serveurs NTP de référence
# server ntp.via.ecp.fr
# server ntp.obspm.fr
# server ntp.univ-lyon1.fr
server 0.fr.pool.ntp.org
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
server 3.fr.pool.ntp.org
J'obtiens les logs suivantes depuis syslog :
Il me semble que ses adresses ne sont pas autorisées, et, avortent de leurs actions.
Je préférerais ne pas avoir ce type de logs et filtrer ces requêtes pour pouvoir les interdire.
95.81.173.8 {ntp-1.arkena.net} local addr 10.0.2.15 {NomDeLaMachine} -> <null>
163.172.25.19 {nsa.priv.pw} local addr 10.0.2.15 {NomMachine} -> <null>
91.189.91.157 {alphyn.canonical.com} local addr 10.0.2.15 {NomDeLaMachine} -> <null>

Afficher la liste des serveurs qui seront utilisés

ntpq -p

Vérifier que l’accès au pool de serveurs fonctionne

Vérifier que le process ntp est arrêté :
/etc/init.d/ntp stop
Lancer une synchro forcée avec ntpdate :
ntpdate 0.fr.pool.ntp.org
Redémarrer le service ntp :
/etc/init.d/ntp restart

Chrony

Voir aussi le passage de chrony à systemd timesyncd : https://www.dsfc.net/logiciel-libre/linux/ntp-passage-de-chrony-a-systemd-timesyncd/
Source : https://wiki.debian.org/fr/NTP

Ouvrir un fichier texte

Ouvrir un fichier texte avec un pager

Ouvrir le fichier texte dialogue.
Pour lire un long fichier de journal (log), on utilisera un pager comme less ou most qui rend la lecture plus confortable.
{less || more || most}  dialogue
Pour ne lire que le début où la fin du fichier dialogue, on utilisera head ou tail.
{head || tail}  dialogue

Ouvrir un fichier texte avec un éditeur

nano dialogue
mcedit dialogue
vim dialogue
emacs dialogue

Écrire dans le terminal

Afficher des informations avec cat dans le terminal

Lancer la commande cat redirige le texte vers la sortie standard, la console, avec le symbole -.
Le mot clé EOF est le marqueur de fin de fichier.
cat <<- EOF
Saisir ou copier coller les informations suivantes, puis, faire entrée.
Ceci est un test
si on met une commande ça fait quoi ?
who
et comme ça ?
`who`
Hoo, et alors avec ça ?
$(uname -r)
"$(uname -r)"
Mais je veux juste l'écrire, pas l'exécuter !
\$(uname -r)
C'est mieux.
* $ ^
Tiens, ça ne fait rien avec les caractères spéciaux...
Fini pour le moment.
EOF
Résultat affiché dans le terminal.
Ceci est un test
si on met une commande ça fait quoi ?
who
et comme ça ?
nomutilisateur  tty7         2017-04-03 08:44 (:0)
nomutilisateur  pts/1        2017-04-03 10:35 (:0.0)
Hoo, et alors avec ça ?
4.4.0-21-generic
"4.4.0-21-generic"
Mais je veux juste l'écrire, pas l'exécuter !
$(uname -r)
C'est mieux.
* $ ^
Tiens, ça ne fait rien avec les caractères spéciaux...
Fini pour le moment.
Les commandes entourées par des simples côte ' ' sont évaluées. (Voir le deuxième 'who'.)
Pour conserver la valeur littérale, écrire la commande, elle ne sera pas évaluée. who
Afficher la valeur d'une variable avec $variable ou "$variable".
Pour conserver la valeur littérale, utiliser \. \$PATH affiche $PATH et non pas la valeur de la variable.

Utiliser echo dans le terminal

echo -e alternative au texte précédent \n
alternative au texte précédent n

Lire, écrire et concaténer avec cat

Une version améliorée de cat existe pour GNU/Linux Debian, nommée dog. Le chien serrait meilleur que le chat.
Voir man cat et man dog.
dog n'est pas une commande standardisée, à éviter dans des scripts pour des raisons de portabilité.
dog possède de nombreuses options supplémentaires et peut travailler par exemple sur des url.

Lire deux fichiers texte

$ cat test.txt
blabla, ceci et un test.
$ cat test2.txt
Et voici un deuxième fichier de test.

Ecrire jusqu'à un mot clé prédéfini et sur une ligne

# Créer un fichier texte.
touch une-ligne.txt
# Modifier la date de création du fichier avec touch.
# Permet de créer de vieux fichiers pour faire des tests.
touch -t [AAMMJJhhmm] fichier
# Ajouter du texte dans le fichier.
cat << FIN >> une-ligne.txt
Je veux écrire du texte dans un fichier.
Ça je voudrais bien\
que ça tienne sur une ligne.

FIN
# Affiche
Je veux écrire du texte dans un fichier.
Ça je voudrais bien que ça tienne sur une ligne.
La touche entrée correspond à un saut de ligne.
Une ligne laissée vide affichera une ligne laissée vide.
Le symbole \ supprime un retour à la ligne éventuel.
Le mot FIN n'est pas écrit dans le fichier, c'est notre marqueur de fin de fichier défini dans la commande.
On peut utiliser n'importe quel mot comme marqueur. Par convention on trouvera souvent EOF qui signifie “End Of File” (“fin de fichier” en Anglais).

Concaténer avec cat

Concaténer des fichiers texte avec la commande cat.
La commande cat peut aussi mettre bout-à-bout deux archives vidéo ou images .iso.

Concaténer vers un fichier texte

$ cat -n test.txt test2.txt > test3.txt
Symbole de redirection et utilisation.
> fichier 	Crée le fichier s'il n'existe pas, remplace son contenu s'il existe.
>> fichier 	Crée le fichier s'il n'existe pas, ajoute à la fin du fichier s'il existe.
Afficher alors le nouveau fichier obtenu.
$ cat test3.txt
1 blabla, ceci et un test.
2 Et voici un deuxième fichier de test.

Concaténer vers une image .iso

Les images .iso ou vidéo doivent avoir été découpées volontairement.
Exemple pour découper une image .iso de 95Mo en deux avec split en précisant une taille maximale pour des parties de 50Mo avec l'option --bytes=.
Deux fichiers “xaa” et “xab”, noms par défaut de la commande split, sont créés.
split --bytes=50M pmagic-4.2.iso
ls
pmagic-4.2.iso xaa  xab
Exemple pour reconstruire l'image .iso avec cat. Le nom de l'archive reconstruire est modifiée en pmagic-4.2_2.iso.
Vérification de la somme de contrôle md5 pour vérifier que l'opération n'a pas altérée l'image reconstruite. Ce sont bien les mêmes.
cat xaa xab > pmagic-4.2_2.iso
md5sum pmagic-4.2.iso
8a1ad4e84cae8fe1d1e230cdc8ec1bd2  pmagic-4.2.iso
md5sum pmagic-4.2_2.iso
8a1ad4e84cae8fe1d1e230cdc8ec1bd2  pmagic-4.2_2.iso

Concaténer vers une vidéo

Les images .iso ou vidéo doivent avoir été découpées volontairement.
Il faut que les vidéos aient les mêmes propriétés (Format, débit, encodage).
Exemple pour découper une vidéo puis la concaténer à nouveau.
split --bytes=1M lion.ogv
ls
lion.ogv  xaa  xab  xac  xad
cat xaa xab xac xad > lion2.ogv
Cette manipulation peut permettre de déplacer plus facilement de gros fichiers.

Écrire dans un fichier avec EOF

Ecrire du texte statique

#Créer un fichier texte dialogue.
touch dialogue
#Ouvrir un fichier.
cat dialogue
#Aller à la suite et enregistrer un texte.
cat >dialogue <<EOF
Ceci est un essai.
EOF

Ecrire la valeur de variables

Le commande pwd indique le chemin du répertoire dans lequel on se trouve.
La variable $PWD contient la même information. Afficher le chemin du répertoire courant avec echo $PWD.
cat << EOF > fichier
heredoc> cd "$HOME"
heredoc> echo "$PWD"
heredoc> EOF
Affiche :
cd "/home/user"
echo "/home/user"
A noter que ajouter un antislash avec la commande suivante par exemple echo \$PWD affichera $PWD alors que echo $PWD affichera la valeur de la variable.

Écrire dans un fichier - Alternative

echo -e alternative au texte précédent \n >> dialogue

Faire un diff et conserver les changements dans un fichier

Installer :
# aptitude install diffutils patch
Comparer deux fichiers :
$ diff -u ancien-fichier nouveau-fichier
Exporter les changements vers un fichier.diff :
$ diff -u ancien-fichier nouveau-fichier > fichier.diff
Exporter les changements du fichier.diff vers un fichier de patch troisieme-fichier :
$ patch -i fichier.diff troisieme-fichier
Revenir au fichier ancien-fichier initial
$ patch -R -i fichier.diff ancien-fichier
Source : https://wiki.debian-fr.xyz/Utiliser_diff_et_patch

Copier vers le presse papier

# To copy output from shell to X11 clipboard:
pwd | xclip
# To paste from X11 clipboard to shell:
xclip -o | ls
Le programme « xclip » n'est pas encore installé. Vous pouvez l'installer en tapant :
sudo apt install xclip
Source : https://doc.ubuntu-fr.org/xclip
Source : https://codeyarns.com/2016/03/09/how-to-use-xclip/

Formater un texte

Organiser un texte sur une certaine largeur de caractère avec la commande fmt source > sortie
Supprimer les retours à la ligne avec la commande tr -d '\n' < input.txt > output.txt

Copier un fichier

cp source destination

Déplacer un fichier ou un dossier

mv source destination

Renommer un fichier

Renommer un fichier par date de création

Script de test

Créer un fichier renommer-fichiers.sh et ouvrir le fichier avec l'éditeur de texte.
#!/bin/bash 
for f in *.*  
do  
 mv -n "$f" "$(date -r "$f" +"%Y%m%d_%H%M%S")_VisionduWeb_$f"  
done
# $f = Nom d'origine du fichier avec l'extension.
# J'utilise un nom identique pour chaque fichier: _VisionduWeb_
# L'extension n'est plus affichée. Il faut ajouter l'extension: _VisionduWeb.pdf ou faire appel au nom d'origine avec $f qui va réinscrire le nom du fichier d'origine mais aussi conserver l'extension.
sudo sh renommer-fichiers.sh

Script fonctionnel

J'aimerais conserver l'extension sans avoir à conserver le nom d'origine : datecreation_heurecreation_NomDuFichierUniqueEtStatique.extension
Placer le script dans le dossier ou les fichiers sont à renommer.
#!/bin/bash 
for f in *.* 
do 
       extension="${f##*.}" 
       mv -n "$f" "$(date -r "$f" +"%Y%m%d_%H%M%S")_VisionduWeb.$extension" 
done
sudo sh renommer-fichiers.sh
Merci à [croftman] de développez.

Script fonctionnel avec passage de paramètres

Placer le script ou vous voulez et passer le paramètre pour définir la cible ou sont placés les fichiers à renommer.
#!/bin/bash 
if [ -n $1 ]
	then
		cd $1
fi

for f in *.* 
do 
      extension="${f##*.}" 
      mv -n "$f" "$(date -r "$f" +"%Y%m%d_%H%M%S")_VisionduWeb.$extension" 
done
sudo sh renommer-fichiers.sh dossier1/dossier2

Renommer des extensions

Pour renommer par exemple les fichiers .odt.txt en .txt, utiliser la commande rename avec la syntaxe PERL : rename 's/.odt.txt/.txt/' *

Supprimer un fichier

# Supprimer le contenu d'un fichier : Vider un fichier :
echo  | tee fichier.log
# Supprimer un fichier :
rm fichier
# Supprimer tout, sauf une liste de fichiers ?
# Utiliser find pour choisir les fichiers à supprimer et exclure les autres :
find . -name toto* -exclude truc1 -exclude truc2 -exec rm '{}' \;

Empêcher la suppression d'un dossier ou d'un fichier

# Empêcher la suppression ou le renommage d'un répertoire :
sudo chattr +i -R www/
# Revenir en arrière :
sudo chattr -i -R www/
Source : http://www.tux-planet.fr/empecher-la-suppression-dun-fichier-ou-dun-repertoire/

Ajouter et supprimer un utilisateur

Définition

Les utilisateurs systèmes servent aux tâches spécifiques régulières qui souvent portent le même nom que l’utilisateur. Exécution de logiciels ou de commandes.
Les utilisateurs réels sont associés à des personnes qui se connectent sur la machine via une interface graphique ou un accès en ligne de commande.

Ajouter un utilisateur

adduser toto
Des questions facultatives sont demandées par le système qui demandera également un mot de passe pour créer l’utilisateur "toto" sur le système.
Les options par défaut lors de la création d'un utilisateur sont définies dans le fichier de configuration /etc/adduser.conf
Modifier par exemple les répertoires utilisateur par défaut ou les groupes auxquels les utilisateurs sont affiliés.
Par défaut le répertoire utilisateur sera /home/toto
L'utilisateur toto qui a été créé possède maintenant des privilèges de compte réguliers.
Il est parfois nécessaire de faire des tâches administratives qui nécessitent les privilèges supplémentaires de sudoers.

Ajouter un utilisateur système

adduser --system --home /opt/redmine --shell /bin/bash --gecos 'Redmine user' --disabled-password redmine
adduser --system --no-create-home --ingroup redmine --disabled-password redmine

Ajouter un utilisateur à un groupe

adduser non_utilisateur nom_du_groupe
Ajouter l'option --no-create-home pour ne pas créer de dossier home.
Ajouter éventuellement l'option --ingroup avant le nom du groupe pour bien préciser que c'est le nom du groupe qui suit.

Voir les groupes existants

nano /etc/group

Utilisateur sudoers

Ajouter le droit sudoers pour un utilisateur

Un utilisateur ayant les privilèges de sudoers possède le droit d'accès à la racine du système.
Un utilisateur ayant les privilèges de sudoers possède autant de droits que l'utilisateur root.
Permet d'éviter l'accès avec l'utilisateur root et complique le travail d'un pirate informatique qui devra connaître le nom d'utilisateur toto.
Cela permettra à un utilisateur normal d'exécuter des commandes avec des privilèges administratifs en plaçant le mot sudo avant chaque commande.
Debian 8 n'est pas installé avec sudo par défaut.
# Installer le paquet sudo pour utiliser les commandes sudo et visudo.
apt update
apt install sudo

sudoers avec le mode graphique

Placer l'utilisateur dans le groupe sudo afin qu'il puisse faire partie de la liste des sudoers et soit en mesure d'effectuer des tâches d'administration.

sudoers depuis le terminal

Depuis Debian
Par défaut, sur Debian 8, les utilisateurs qui appartiennent au groupe "sudo" sont autorisés à utiliser la commande sudo.
Pour ajouter le nouvel utilisateur au groupe "sudo", utiliser root et la commande suivante :
usermod -a -G sudo toto
Quitter totalement le système, redémarrer, pour que les changements de droits soient appliqués.
Plus d'informations sur les commandes usermod : https://www.computerhope.com/unix/usermod.htm

Retirer le droit sudoers pour un utilisateur

deluser utilisateur sudo
Autres situations
Ok-ko.png Ajouter manuellement un utilisateur aux mêmes droits que root depuis le fichier sudoers
Ok-ko.png Éditer le fichier "/etc/sudoers" et copier la ligne avec les "ALL" et changer "root" par "toto".
Ok-ko.png Plus d'informations sur sudoers : https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos
Ok-ko.png Utiliser sudoers sans mot de passe : https://www.linuxtricks.fr/wiki/sudo-utiliser-et-parametrer#paragraph_utiliser-sudo
Ok-ko.png Documentation Ubuntu : https://doc.ubuntu-fr.org/sudoers

Ajouter une clé SSH à un utilisateur distant

SSH
Exporter la clé SSH publique du client vers un utilisateur du serveur distant
Se connecter en SSH avec un utilisateur sudoers pour configurer le serveur distant

Alerte mail de login root

Vous pouvez éditer le fichier /root/.bashrc qui est exécuté au démarrage d'une session root pour envoyer un e-mail de notification.
De cette façon, vous serez prévenu lorsqu'un login est effectué.
vi /root/.bashrc
Ajoutez la ligne (en modifiant l'adresse e-mail de destination) :
echo 'Accès Shell Root le ' `date` `who` | mail -s `hostname` Shell Root de `who | cut -d"(" -f2 | cut -d")" -f1` [email protected]

Personnalisation esthétique de bashrc ces lignes

alias ls='ls $LS_OPTIONS --color=auto'
alias ll='ls $LS_OPTIONS -al --color=auto'
alias vi='vim'

Changer d'utilisateur

su autre_utilisateur
Revenir à l’utilisateur précédent avec la commande exit.

Changer le mot de passe d’un utilisateur

Il est nécessaire de changer le mot de passe d'un utilisateur root surtout si celui-ci a été attribué par défaut.
Pour changer le mot de passe d’un utilisateur, se connecter avec l'utilisateur puis utiliser la commande passwd
A NE PAS FAIRE POUR UNE RELEASE 3 OVH PAR EXEMPLE.
Webmin et peut être d'autres services utilisent le mot de passe root.
Changer le mot de passe root pourrait alors créer un dysfonctionnement du serveur.

Tester la complexité des mots de passe utilisateurs

Les mots de passes des utilisateurs sont stockés dans le fichier /etc/shadow.
Seul l'utilisateur root peut lire ce fichier.
Installer en tant que root le programme john et le lancer sur le fichier /etc/shadow :
apt install john
john /etc/shadow
Quand john a trouvé un mot de passe, il l'affiche avec le login associé.
Attention, john utilisera le processeur à 100 % !
Il est conseillé de lui donner une priorité faible avec la commande nice ou renice si la machine doit être utilisée pendant ce temps.
Plus le nombre d'utilisateurs est grand, plus il faudra laisser tourner john longtemps pour que le test soit significatif.

Supprimer un utilisateur du système

Bloquer un compte utilisateur

Avant de supprimer l’utilisateur, il est important de bloquer son compte.
sudo passwd -l toto

Fermer les programmes lancés par un utilisateur et sa connexion

On ne peut pas supprimer un compte de quelqu’un qui est connecté sur la machine.
Fermer l’ensemble des programmes lancés par cet utilisateur ainsi que sa connexion.
Lister les pid des programmes utilisés par toto : sudo pgrep -u toto
Si aucun nombre n'est retourné, l’utilisateur n’est pas connecté et n’a lancé aucun programme.
Voir les programmes lancés par l’utilisateur avec sudo ps -fp $(pgrep -u toto)
Si l’utilisateur a des tâches CRON dans son fichier crontab, supprimez les avec la commande : crontab -r -u toto
Sinon, il faut tuer les connexions existantes avec killall -KILL -u toto
Une autre façon de tuer tous les processus d'un utilisateur : pkill -u user
Fonctionne très bien pour une connexion SSH, ou plusieurs utilisateurs serraient connectés plusieurs fois, suite à un plantage du terminal, et, une nouvelle connexion.
Supprimer l’utilisateur toto et son répertoire "home" ainsi que sa boîte email (avec l’option -r) avec la commande userdel : userdel -r toto

Groupe utilisateur

Savoir si l'utilisateur est dans un groups : groups nomutilisateur
groups nomutilisateur
nomutilisateur : nomutilisateur adm cdrom sudo dip plugdev lpadmin vboxsf sambashare vboxusers
Ok-ko.png Complément : https://wiki.debian-fr.xyz/Commandes_utilisateurs_et_groupes

Ressources complémentaires

Ok-ko.png Les utilisateurs et les droits : https://openclassrooms.com/fr/courses/43538-reprenez-le-controle-a-laide-de-linux/39044-les-utilisateurs-et-les-droits
Ok-ko.png Gestion des utilisateurs sous Ubuntu : http://guide.ubuntu-fr.org/server/user-management.html

Lancer un programme

Pour lancer un programme qui nécessite les droits d'exécution, utiliser ./ devant le nom du programme.
Exemple : ./blackcoin-qt pour lancer depuis la console l'exécution du logiciel Blackcoin QT en mode graphique.

Exécuter des programmes en arrière-plan avec screen

Screen permet de continuer à exécuter des programmes en tâche de fond et de conserver les messages du serveur.
Lorsque vous revenez sur la console de votre serveur, vous aurez accès aux messages affichés en votre absence.

Installer screen

sudo apt install screen

Utiliser screen

Screen sert a lancer un programme en tâche de fond quand il doit tourner sans s'arrêter, ou, qu'il prend du temps pour être traité.
Créer une nouvelle fenêtre virtuelle avec la commande screen.
Détacher ce programme de la console : Ctrl + a puis appuyer sur la touche d pour détacher screen et revenir à la fenêtre principale.
La console peut être fermée, le programme continuera de tourner.
Pour revenir à cette fenêtre lors de la prochaine connexion, lancer screen -r
Autres commandes de base :
Créer un screen nommé toto : screen -S toto
Lister les screen disponibles : screen -ls
Se connecter au screen toto : screen -x toto
Se connecter au screen avec l'id 3002 : screen -x 3002
Se connecter automatiquement à un screen si un seul disponible : screen -x
Raccourcis clavier
CTRL+a CTRL+a : Revenir au terminal précédent
CTRL+a {0,9} : Aller au terminal n°x
CTRL+a p : Aller au terminal précédent
CTRL+a n : Aller au terminal suivant
CTRL+a " : Afficher la liste des terminaux disponibles et on peut choisir avec le numéro ou les flèches
CTRL+a A : Renommer le terminal courant
CTRL+a d : Détacher le terminal. Il reste accessible.
CTRL+a S : Spliter le terminal en 2
CTRL+a TAB : Basculer sur le split suivant
CTRL+a X : Fermer le split courant
CTRL+a x : Verrouiller le screen avec le mot de passe de l'utilisateur courant.
Observer le partage en console avec la commande screen-x
Ok-ko.png Documentation : https://doc.ubuntu-fr.org/screen
Ressources complémentaires
Ok-ko.png Source : https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux/executer-des-programmes-en-arriere-plan
Ok-ko.png Source : https://wiki.debian.org/fr/Screen

Éditer le fichier .screenrc

Il est possible pour chaque utilisateur du système de personnaliser son screen grâce à un fichier de configuration spécifique ~/.screenrc placé dans le /home/user.
Un exemple de ce fichier est disponible dans /etc/screenrc.
Il vous suffit de faire : cp /etc/screenrc ~/.screenrc pour pouvoir configurer votre fichier .screenrc personnel.

Ne pas afficher la page de copyright

# Don't display the copyright page
# default: on
startup_message off
echo 'startup_message off' >> ~/.screenrc
Configurer le fichier screenrc dans /etc/screenrc ou ~/.screenrc

Copier et coller le fichier screenrc avec Vim

Aller dans home/user avec la commande cd~ ou cd $HOME
Créer le fichier .screenrc touch .screenrc
Ouvrir le fichier .screenrc vi .screenrc
Saisir le code :split /usr/share/doc/screen/examples/screenrc
Saisir la commande ggVG ( VG avec la touche maj. La commande ggVG sélectionne le texte qui vient d'être collé. ).
Saisir la lettre Y ( Voir comment faire pour saisir des majuscules ).
Saisir le raccourci clavier ctrl w (2x) pour changer d'écran.
Saisir la lettre P ( Voir comment faire pour saisir des majuscules ).
Saisir :wq!
Saisir :qa!

Solution rapide depuis le terminal - Vérifier si la manipulation fonctionne correctement

Depuis le dossier home/user
cat /usr/share/doc/screen/examples/screenrc >> ~/.screenrc
On peut le faire manuellement en GUI ou, avec cp .screenrc ~
Lancer most .screenrc
Quitter avec q.
Vérifier vimdiff /usr/share/doc/screen/examples/screenrc   .screenrc

Télécharger le bon fichier directement en ligne

wget path-a-trouver/(dot_)screenrc
Mettre ce fichier dans home/user/.screenrc
Ou avant ça, les comparer vimdiff   dot_screenrc    .screenrc
Une archive existe dans /usr/share/doc/screen/examples/screenrc

Changer la langue sur GNU/Linux

Les deux étapes, création des définitions des paramètres régionaux et positionnement de LANG, se font à l'aide de la commande suivante, sous root :
Reconfigurer la langue du system avec dpkg-reconfigure locales.
Après validation, il faut se déconnecter puis se reconnecter.
On peut alors vérifier le jeu de caractères utilisé qui est maintenant fr_FR.UTF-8 avec la commande locale :
locale
Sous Debian, la variable LANGUAGE n'est a priori pas nécessaire si LANG a été définie et si vous n'utilisez qu'une seule langue (Le français).
LANGUAGE n'est pas utilisée par tous les programmes et, lorsqu'elle l'est, chaque programme l'utilise « à sa manière ».
En général, LANGUAGE surcharge toutes les autres variables (LANG, LC_* et LC_ALL). 
Toutefois, vous pouvez ajouter LANGUAGE=fr dans le fichier /etc/environment.
Ok-ko.png Source : https://www.debian.org/doc/manuals/fr/debian-fr-howto/ch3.html

Pour Ubuntu

Avec l'interface graphique, aller dans le Menu / Système / Tous les paramètres, un icône permet de gérer les langues du système.
Depuis le terminal sudo apt install Language-support-fr Language-pack-fr Language-pack-fr-base
Installer également le pack de langue KDE ou GNOME en fonction de votre environnement graphique. Ce n'est pas nécessaire pour XFCE.
language-pack-kde-fr pour KDE
language-pack-gnome-fr et language-pack-gnome-fr-base pour GNOME

Pour Mint Mate

La solution graphique : Chercher language ou langue dans le menu. Choisir la langue et mettre à jour les paquets.
La solution console : sudo apt-get install language-pack-fr language-pack-fr-base language-pack-gnome-fr language-pack-gnome-fr-base
Supprimer les packs de langue qui ne sont pas en français. Je supprime les packs anglais également.
Redémarrer.

Pour Debian

Chercher task-french avec la commande apt-cache search task-french puis installer les paquets nécessaires.
task-french - environnement français
task-french-desktop - bureau français
task-french-kde-desktop - bureau KDE français
education-lang-fr - Debian Edu applications for French installs
education-lang-fr-desktop - Debian Edu Desktop applications for French installs
education-lang-fr-desktop-kde - French Debian Edu KDE desktop applications
iceowl-l10n-fr - French language package for iceowl-extension
texlive-latex-extra - TeX Live: LaTeX additional packages
galette-plugin-admintools - Administration tools for Galette
Voir les paquets a installer.
$ apt-cache search task-french
i   task-french                     - environnement français                    
i   task-french-desktop             - bureau français                           
i   task-french-kde-desktop         - bureau KDE français
Pour iceweasel
apt install iceweasel-l10n-fr
Pour Thunderbird, aller dans Add-ons / Extensions Français Language Pack (Thunderbird)

Changer de clavier qwerty pour azerty

Source : https://wiki.debian.org/fr/Keyboard

Pour Kali Linux

Chercher task french avec la commande apt-cache search task french puis installer les paquets nécessaires.

Pour Firefox

sudo apt install firefox-locale-fr

Pour VLC

Pour ce qui concerne VLC, s'assurer que le paquet VLC-I18n a bien été installé.

Utiliser le manuel en français

Utiliser man en français, depuis le terminal, c'est possible. Autant profiter du travail effectué par la communauté francophone.
sudo apt install manpages-fr
sudo apt install manpages-fr-dev
sudo apt install manpages-fr-extra

PGP vs GPG

"PGP" et "GPG" signifient "Pretty Good Privacy" et "Gnu Privacy Guard".
PGP et GPG sont utilisés pour crypter et appliquer des signatures numériques aux communications comme le courrier électronique.
Leur but est de rendre la communication impossible pour les autres à lire sauf s'ils ont la bonne clé de déchiffrement.
Lire : https://www.nextinpact.com/news/98509-openpgp-et-gnupg-25-ans-chiffrement-pour-tous-ce-quil-faut-savoir-avant-sy-mettre.htm

PGP

PGP a été développé par Phil Zimmermann.
Symantec a acheté les droits à PGP en 2010.
Installer pgp :
apt-get install pgp
Importer une clé privée PGP .asc : https://www.deepdotweb.com/2015/02/17/basic-guide-pgp-linux/

Signer un fichier avec GPG

Le programme gratuit de signature numérique et de cryptage des e-mails peut être téléchargé pour un usage personnel ou professionnel.
Toutes les données de l'algorithme sont stockées et documentées publiquement par OpenPGP Alliance.
GPG est plus compatible que l'original PGP avec OpenPGP.
GPG est la réécriture de PGP.
GnuPG, est libre.

Installer GPG

apt-get install gpa gnupg2

Créer une clé GPG

# Générer une clé.
gpg --gen-key
4096
0
y
nom
mail
commentaire
passephrase
Ouvrir gpa pour gérer l'ensemble des clés: sudo gpa

Créer une clé GPG

gpg -k retourne toutes les clés, et gpg -K retourne notre ou nos clés privées.
gpg -K pour voir si une clé a été crée.
# Générer une clé.
gpg --gen-key
Nom : NOM
Mail : [email protected]
Passe phrase : PASSE
pub   rsa3072 2018-03-09 [SC] [expire : 2020-03-08]
      7F038.........................970F0C30
Pour signer un fichier : gpg [email protected] --clearsign fichier.txt
Un fichier.txt.asc est créé.

Sinon : gpg --output fichier.sign --sign fichier.txt
Comment créer et gérer des clés : https://www.nextinpact.com/news/102685-gpg-comment-creer-paire-clefs-presque-parfaite.htm
Lire : https://www.gnupg.org/download/index.html
Lire : https://doc.ubuntu-fr.org/gnupg
Source : https://www.gnupg.org/gph/en/manual/x135.html
Utiliser GPG pour envoyer des e-mails chiffrés avec Thunderbird : http://lehollandaisvolant.net/tuto/gpg/

Améliorer la vitesse du Boot

Connaître la vitesse de Boot actuelle avec la commande suivante :
systemd-analyze time
Source : http://blog.touret.info/blog/2018/01/20/ameliorer-le-boot-sous-debian-9/#utm_source=rss&utm_medium=rss

Connaître l'adresse IP d'un site internet et son mail principal déclaré

host -T visionduweb.com 
visionduweb.com has address 93.184.35.226
visionduweb.com mail is handled by 10 postmaster.visionduweb.com

Mount

Monter un partage CIFS

Source : https://www.it-connect.fr/monter-un-partage-cifs-sous-linux/

Monter une clé USB depuis le terminal avec mount

# Vérifier /etc/add_user.conf à la ligne 77 du ficher adduser.conf et à la ligne 81
# Se mettre dans plugdev crée une entrée dans le mtab. Monter les clés USB avec une entrée dans le fstab.
# adduser NomUser plugdev
## /dev/sdb1       /media/Zer00CooL  auto        user,noauto     0       0
# Créer l'entrée dans /media en étant root ou sudo.
## mkdir  /media/NomUser

Vérifier si le dossier Backup_vers_Samba en local est monté vers le partage de Samba

if mount|grep -q '^//192.168.X.X/dossier_samba_en_partage_distant'
then
 echo
 # Si la cible est montée alors ...
 echo "Le dossier Backup_vers_Samba local est déjà monté sur le réseau vers le partage de Samba."
 echo
else
 echo
 # Sinon la cible n'est pas montée alors ...
 echo "Le dossier Backup_vers_Samba local va être monté sur le réseau vers le partage de Samba."
 echo
 # Monter le dossier Backup_vers_Samba local sur le réseau vers le dossier en partage distant.
 mount -t cifs //192.168.X.XX/dossier_samba_en_partage_distant /media/Backup_vers_Samba/ -o username='utilisateur_samba',password='password_utilisateur_samba'
fi

unmount

umount /media/Backup_vers_Samba/
Si le dossier de montage n'est plus nécessaire, le supprimer.
rmdir /media/Backup_vers_Samba

Lister les ports utilisés avec Netstat

Netstat permet de connaître les ports en écoute sur votre machine, sur quelles interfaces, avec quels protocoles de transport (TCP ou UDP), les connexions actives et de connaître les routes.
Pour voir les connexions actives netstat -nt, pour les ports ouverts netstat -ntl. On peut aussi vérifier s'il existe une route par défaut.
Par exemple existe-t-il une route par défaut vers la machine 213.186.xx.xx utilisez alors netstat -nr | grep 213.186.xx.xx.
L'option -a énumère les ports en cours d'utilisation ou ceux qui sont écoutés par le serveur : netstat -a ou netstat -a |grep ssh.
Retourne la liste avec le nom des services - donne des informations sur les interfaces réseau : netstat -a | grep 'listen' -i.
Des informations, paquets reçus, perdus, forwardés, taille options,..., sur le trafic réseau dans le protocole donné : netstat -p ip.
Liste les adresses locales utilisées : netstat -ltunp.
netstat -paunt
-a : Tous les ports
-t : Tous les ports TCP
-u : Tous les ports UDP
-l : Tous les ports en écoute
-n : Affiche directement les IP. Pas de résolution de nom.
-p : Affiche le nom du programme et le PID associé.

Trier avec sort

Source : https://debian-facile.org/doc:systeme:sort

Rechercher avec lsof

lsof permet de lister les fichiers ouverts et les processus actifs.
lsof -i indique les processus de type internet.
On peut ne demander que pour un protocole lsof -ni tcp:25 ou que vers une machine lsof -ni @213.186.xx.xx:25
Pour connaître tous les fichiers ouverts sur /hda1 utiliser lsof /dev/hda1
lsof -i -a -p 1234 permet de connaître tous les ports réseau ouverts par le processus 1234 (-a est interprété comme AND).
lsof -p 1234, 12345 -u 500, toto permet de connaître tous les fichiers ouverts par l'utilisateur 500 ou toto ou par le processus 1234 ou 12345.
Il existe des commandes pour faire cela (fuser, ps, netstat...), mais lsof est très complet.
Ok-ko.png Source : http://www.hsc.fr/ressources/breves/ports-ouverts.html.fr

fsck

En cas de problème de fichiers ou de disque, la commande fsck peut permettre de résoudre les difficultés rencontrées.
Par exemple, suite à l'utilisation de Bleachbit pour nettoyer le système, il m'est arrivé deux fois de ne pas arriver à relancer le système au démarrage.
Dans ce cas, la commande fsck /dev/nvme0n1p5 a résolu le ou les problèmes de démarrage.

Que faire avec un paquet qui a un bogue

Utiliser apt-listbugs. Ce paquet est disponible dans les dépôts et permet de se prémunir, pour ceux qui sont en testing ou instable, de l'installation d'un paquet "bugué".
Source : https://wiki.debian-fr.xyz/Apt-listbugs
Il est très simple d'installation et d'utilisation ! Quand un bogue sérieux est identifié, geler le paquet jusque résolution du problème.
Pour retrouver les paquets gelés, utiliser la commande : dpkg -l |grep "^hi" ou encore dpkg --list | grep ^hi

Nettoyer Debian

Deborphan

Deborphan recherche les paquets orphelins qui ne sont plus utilisés, pas les fichiers de conf obsolètes.
Dans un premier temps on peut l'utiliser sans option.
apt-get remove --purge `deborphan --guess-all`
Attention! Deborphan considère certaines librairies comme inutilisées quand aucun paquet n'en dépend de manière essentielle alors qu'elles apportent des fonctionnalités utiles (Codec divX...).

Fichiers de configurations

La commande suivante indique quels fichiers de configuration ne sont pas installés par un paquet.
dpkg -S /etc/init.d/* | grep "no path"
Enlève les fichiers de configuration associés à des paquets desinstallés.
dpkg --purge `dpkg --get-selections|awk '/deinstall/ {print $1}'`
Repérer les fichiers de configuration orphelins
dpkg -l | awk '$1~/^rc$/{print $2}' | xargs echo
Supprimer les fichiers de configuration orphelins
dpkg -P $(dpkg -l | awk '$1~/^rc$/{print $2}')
Une fois par mois faire un aptitude purge '~c' pour éliminer les fichiers de configuration des paquets qui ont été désinstallés et non purgés.

Vider les corbeilles : 3 types de corbeilles sont à prendre en compte

La corbeille utilisateur : ~/.local/share/Trash/ . pour la vider proprement:
rm -Rf ~/.local/share/Trash/*
La corbeille administrateur : /root/.local/share/Trash/ . pour la vider proprement:
rm -Rf /root/.local/share/Trash/*
Les corbeilles externes : situées sur vos disques dur externes, elles sont généralement nommées /media/votre_disque/.Trash_1000, ce qui correspond à votre identifiant utilisateur (uid)

Nettoyer les miniatures

rm -Rf ~/.thumbnails

Vider l'historique du terminal

history -c
history -w
Pour une suppression immédiate et radicale : rm ~/.bash_history
Ok.png Léa Linux - Effacer l'historique des commandes bash : http://lea-linux.org/documentations/Trucs:Effacer_historique_des_commandes_bash
Trouver les paquets supprimés mais non purgés avec dpkg -l |grep "^rc"

Fichiers oubliés

A tester sur une machine virtuelle.
Afin de savoir s'il y a des fichiers temporaires oubliés :
[email protected] # find / -ignore_readdir_race -name "*~"
Libre à vous d'en faire ce que vous voulez, je vous recommande de les supprimer :
for f in $(find / -ignore_readdir_race -name "*~"); do rm $f; done

Fichiers sans propriétaire

A tester sur une machine virtuelle.
Afin de savoir s'il y a des fichiers sans propriétaire :
[email protected] # find / -ignore_readdir_race -nouser -nogroup
Libre à vous d'en faire ce que vous voulez, en théorie il ne devrait pas y en avoir.

Bleachbit

Nettoie automatiquement votre système.

Supprimer les noyaux obsolètes

Inutile de conserver un noyau obsolète, si le nouveau noyau mis à jour permet à votre système de fonctionner.
Dans le cas de GNU/Linux Mint, sur une année d'utilisation, plusieurs Gigas peuvent être récupérés.

Ressources complémentaires pour nettoyer Debian

Ok-ko.png Source : https://wiki.debian-fr.xyz/Nettoyer_sa_Debian
Ok-ko.png Source : https://debian-facile.org/utilisateurs:arpinux:tutos:nettoyer-sa-debian
Ok-ko.png Source : http://doc.ubuntu-fr.org/optimisation

Ressources système

Connaître les ressources système utilisées par un paquet logiciel.
sudo apt install htop
htop
Source complémentaires : https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux/surveiller-l-activite-du-systeme

Redémarrer Linux en ligne de commande

sudo reboot
sudo shutdown -r
sudo shutdown -r now
#Dans une minute
sudo shutdown -r 1
#A 23h
sudo shutdown -r 23:00
#Annuler un redémarrage
sudo shutdown -c
#En passant par la commande associée au runlevel
sudo init 6

Le Kernel : Noyau de Linux

# Lister les noyaux
dpkg -l |grep linux-image
# Supprimer un ancien noyau.
apt-get remove --purge linux-image-4.13.0-31-generic
# Mettre à jour le grub pour prendre en compte les changements.
# Ici, au démarrage sélectif, les noyaux supprimés précédemment apparaissent toujours.
sudo update-grub
# Mettre à jour Grub2 pour les nouvelles versions de GNU/Linux.
sudo update-grub2

Grub

Le fichier de configuration :
sudo nano /etc/default/grub
Paramétrages manuels : https://doc.ubuntu-fr.org/tutoriel/grub2_parametrage_manuel

Changer la résolution de GRUB2 au démarrage

La résolution par défaut est au maximum et affiche un texte trop petit dans le menu multiboot de GRUB.
Lors de l'affichage du menu du GRUB, appuyer sur c pour faire apparaître la console.
Lancer la commande videoinfo fonctionnelle avec un EFI GRUB pour connaître les résolutions acceptées par le GRUB.
La commande vbeinfo ne fonctionne pas puisque le GRUB est un EFI GRUB.
Éditer # etc/default/grub et ajouter la ligne suivante : GRUB_GFXMODE=800x600
Appliquer les changements : sudo update-grub
Eventuellement : sudo update-grub2
Au redémarrage, le GRUB est parfaitement lisible et occupe correctement l'écran.

Changer le thème de GRUB2

Thème Ubuntu Mate

Thème Ubuntu Mate : apt://grub2-themes-ubuntu-mate

Liste de thèmes

Liste de thèmes : https://www.gnome-look.org/search/projectSearchText/grub2+theme/

Thème Alienware

Télécharger le thème : https://www.gnome-look.org/p/1111263/
Créer le dossier themes dans le dossier /boot/grub/ : sudo mkdir /boot/grub/themes
Copier le contenu des données du fichier alienware.zip dans le dossier /boot/grub/themes.
Le fichier boot/grub/themes/alienware/theme.txt permet de modifier l'affichage personnalisé, de modifier l'emplacement des images, de changer les textes.
Le fichier est proposé en téléchargement à l'aide de coinhive contre 10240 hash et hébergé sur OneDrive.
Télécharger la version modifiée proposée par Vision du web.
Faire une copie du fichier grub par défaut dans le dossier /etc/default/.
sudo cp grub grub.old.bak
Aller dans le dossier qui contient les fichiers de alienware.zip et copier le nouveau fichier grub.
sudo cp grub /etc/default/grub
En option, ajouter les lignes "Redémarrer le système" et "Éteindre le système".
Faire une copie du fichier 40_custom par défaut dans le dossier /etc/grub.d/.
sudo cp 40_custom 40_custom.old.bak
Aller dans le dossier qui contient les fichiers de alienware.zip et copier le nouveau fichier 40_custom.
sudo cp 40_custom /etc/grub.d/40_custom
Noter que les droits du fichier sont en 0755 : sudo chmod 0755 /etc/grub.d/40_custom.
Ce fichier 40_custom peut être traduit en français :
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry 'Arrêter le système' {
halt
echo 'Le système va être arrêté...'
}

menuentry 'Redémarer le système' {
reboot
echo 'Le système va être redémarré...'
}
Mettre à jour le grub : sudo update-grub

Grub et --removable

L'option --removable a deux effets :
- Installer GRUB en tant que EFI/boot/bootx64.efi (si EFI PC 64 bits), qui est le chemin de support amovible reconnu par défaut sans enregistrement d'une entrée d'amorçage EFI, donc utilisé notamment par tous les installateurs et systèmes live, au lieu de l'emplacement normal EFI/debian/grubx64.efi ;
- N'appelle pas efibootmgr pour enregistrer une entrée dans les variables d'amorçage du firmware EFI, opération dont l'échec provoque l'erreur d'installation de GRUB.
Installer systématiquement GRUB avec --removable sur tous les systèmes EFI afin de moins dépendre des caprices des firmwares UEFI et de leur gestion calamiteuse des variables d'amorçage.

Exemple de désinstallation / réinstallation de grub

# Désinstaller grub-pc  et grub. Attention ne pas rebooter avant d'avoir réinstallé grub-pc et le bootloader sur le MBR.
sudo  apt-get  remove  grub-pc
sudo  apt-get  purge  grub-pc
sudo  apt-get  remove  grub
sudo  apt-get  purge  grub
# Réinstaller grub-pc.
sudo  apt-get  install  grub-pc
# Réinstaller le bootloader sur le MBR.
sudo  update-grub
puis
sudo  grub-install   /dev/sda
# Sinon pour booter sur windows, voir a adapter la méthode manuelle :
set prefix=(hd0,6)/boot/grub
insmod /boot/grub/linux.mod
set root=(hd0,1)
chainloader+1
boot

Réinstaller le grub en mode rescue

Démarrer l'installateur en mode rescue.
Exécuter un shell à la racine du système installé.
Pas de commandes, cela ce fait dans l'installateur.
mount /boot/efi
grub-install --removable
Et comme /boot/grub/grub.cfg sera probablement manquant,
update-grub

Ecran noir au démarrage avec quelques points blancs

Résolution en instance. Note suite au bogue :
Suite à une mise à jour de Windows 10 ( 2 mises à jour en simultanée, une pour le système, l'autre pour la sécurité ) windows a redémarré sur le choix de GNU/Linux par défaut.
Depuis, au démarrage, je n'ai plus de GRUB, mais, un écran noir avec 3 points blancs qui forment un trait.
J'ai update-grub et update-grub2 sans succès.
Installation de grub-repair, sans succès. ( sudo add-apt-repository -y ppa:yannubuntu/boot-repair && sudo apt update && sudo apt install -y boot-repair boot-info && sudo boot-repair )
Décendu et supprimé 2 noyau, sans succès.
Je suis 2 versions de noyau au dessous de la version courante et l'écran noir avec tiret blanc statique s'affiche toujours.
Je relance boot-repair
Finalement, " je casse tout ".
Au démarrage par défaut, j'ai une erreur : grub rescue
Je dois passer par f12 et lancer le disque dur 3.
Je réinstalle un OS sur le 1er disque dur et le grub sur le 3ème disque dur.
Je récupère un grub fonctionnel mais mon temps de chargement passe de 50 secondes à 3 minutes 40.
Je n'ai pas réussi pour le moment à réparer mon Grub avec boot-repair.
Source : http://doc.ubuntu-fr.org/boot-repair
Source : https://sourceforge.net/p/boot-repair/home/fr/

Tentative pour accélérer le boot

Source : https://guideubuntu.blogspot.fr/2012/01/accelerer-le-demarrage-dubuntu.html

Couper la mise en veille du système

#!/bin/bash
echo "Stopper la mise en veille de l'écran !"
xset s off
xset -dpms

Permettre la surbrillance dans un terminal à l'aide de la souris

gpm devrait permettre de copier coller, mais, je n'arrive pas à utiliser cette fonctionnalité.
Le curseur de la souris et la surbrillance fonctionnent parfaitement bien.
sudo apt-get install gpm
Source : https://formation-debian.viarezo.fr/gpm.html
Source : https://linux.developpez.com/formation_debian/gpm.html

pv : connaître la progression d’une tâche

sudo apt install pv
Création d’une clé bootable :
pv image.iso | dd of=/dev/sdb && sync
Sauvegarde d’une base de données MariaDB:
mysqldump mybdd | pv > mybdd.sql
Création d’une archive :
tar -czf - dossier | pv > dossier.tar.gz
Source : https://memo-linux.com/pv-comment-connaitre-la-progression-dune-tache-sous-gnulinux/

Simulation du clavier et de la souris sous Linux

Xdotool : simulation du clavier et de la souris sous Linux : http://www.tux-planet.fr/xdotool-simulation-du-clavier-et-de-la-souris-sous-linux/
How to remove xdotool from Debian : https://www.howtoinstall.co/en/debian/jessie/xdotool?action=remove

Installer ncurses

sudo apt install libncursesw5-dev libncurses5-dev ncurses-doc

Liens complémentaires sur ncurses

Introduction à ncurses : http://linuxfocus.org/Francais/March2002/article233.shtml
https://fr.wikipedia.org/wiki/Ncurses
https://fr.wikipedia.org/wiki/Curses

Calcurses

Voir également avec calcurses.
Site officiel : http://calcurse.org (Ne fonctionne pas le 24 Juin 2018.)
apt-cache search calcurs

Wget

Télécharger un site pour navigation hors ligne.
wget -r -k -E -np URL_du_site
-r pour parcourir tous les liens du sites.
-k conversion des liens en liens locaux.
-E conversion php vers HTML, pour relire aisément avec Firefox.
-np pour ne pas remonter dans l’arborescence du site
D’autres options utiles :
-lX, où X est un entier, pour ne parcourir que X niveaux de l’arborescence du site.
-c pour continuer un téléchargement interrompu.
-load-cookies si nécessaire.
Les options pour ne pas pourrir le serveur :
-limit-rate X, pour limiter la Bande Passante à X B/s
-w X pour attendre X secondes entre chaque téléchargement de fichiers.
-T X au bout de X secondes wget abandonne le téléchargement d’un fichier.

Bibliographie

Ok-ko.png Ligne de commande : les 20 mémos d'un autodidacte : https://linuxfr.org/users/siltaar/journaux/ligne-de-commande-les-20-memos-d-un-autodidacte
Ok-ko.png Source : Les commandes fondamentales de Linux : http://wiki.linux-france.org/wiki/Les_commandes_fondamentales_de_Linux
Ok-ko.png Source : Commandes complémentaires : https://doc.ubuntu-fr.org/utilisateurs/fabux/brouillons/com_sh_reso
Ok-ko.png Source : Pages concernant la console : https://doc.ubuntu-fr.org/Console#pages_concernant_la_console
Ok-ko.png Source : http://wiki.linux-france.org/wiki/Les_commandes_fondamentales_de_Linux
Ok-ko.png Source : https://buzut.fr/101-commandes-indispensables-sous-linux/
Ok-ko.png Source : https://wiki.debian.org/fr/ShellCommands
Ok-ko.png Source : https://abs.traduc.org/abs-fr/

Programmation en Shell Bash Linux

Programmation en Shell Bash Linux est un pense bête pour programmer en Shell Bash.

Utiliser Zenity

Utiliser Zenity.

NAVIGATION

PARTICIPER ET PARTAGER

Vous êtes sur le wiki de Vision du Web.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Pour participer sur le wiki, créer un compte utilisateur en haut à droite.
La recherche interne du wiki permet de trouver le contenu qui vous intéresse.
Identifiez-vous pour poser vos questions sur la page de discussion de VisionDuWeb.
Améliorer le contenu des pages en faisant des propositions depuis l'onglet discussion.
Pour écrire en Markdown : Éditeur - Générateur de tableau 1 - Générateur de tableau 2.
Les informations du wiki ne doivent pas servir à nuire à autrui ou à un système informatique.
De nombreux outils gratuits sont listés et disponibles dans la boîte à outils de Vision du web.
D'autres pages du wiki peuvent correspondre à vos attentes. La liste de toutes les pages du wiki.

VALORISER LE WIKI

Valoriser le contenu partagé sur le wiki avec un don en monnaie numérique :
AEON - Bitcoins (BTC) - Bitcoins Cash - Bitcoins Gold - Bitcore (BTX) - Blackcoins - Bytecoins - Clams - Dash - Monero - Dogecoins - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Gagner des Altcoins - Miner des Altcoins.
Miroir PlanetHoster du 1er Novembre 2018.