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.045494959543953 Monero.

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

De Wiki. Analyse, Communication, Développement, Hacking.
Aller à : navigation, rechercher
m (Mettre pause)
m (Mettre pause)
Ligne 1 223 : Ligne 1 223 :
 
  # Waits 5 days.
 
  # Waits 5 days.
 
  sleep 5d
 
  sleep 5d
 +
===Mettre pause===
 +
read -p "Pause Time 5 seconds" -t 5
 +
read -p "Continuing in 5 Seconds...." -t 5
 +
echo "Continuing ...."
  
 
===Mettre pause===
 
===Mettre pause===

Version du 9 février 2018 à 15:43

Naviguer sur le wiki : Accueil du wiki - Sommaire Administrateur - Sommaire des projets - Sommaire pour Webmaster - Sommaire We make Hack
Naviguer sur le site : Accueil du site - Les annuaires - Les éditoriaux - Le forum - Les outils - Les projets

Sommaire

Connaître la version de Linux utilisée

Les 4 commandes suivantes donnent des informations complémentaires sur votre version de GNU/Linux.

cat /etc/issue

Linux Mint 18 Sarah \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 $ est indiqué devant une commande. Ainsi, on fait la différence entre la commande saisie, et, le texte en réponse obtenu une fois la commande lancée.

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

Divers

   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

Autocomplétion

La touche Tab 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.

Cette fonction est présente dans Ubuntu.

Si elle n'est pas ou plus activée, il suffit d'éditer le fichier /etc/bash.bashrc et de décommenter les lignes concernant l'auto-complétion :

# if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
# fi

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, une ligne du type :

alias monalias='commandetreslongue'

La commande monalias lancée dans le terminal exécutera la commandetreslongue.

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.

Dans mon cas, j'obtiens une erreur au moment de recharger .bashrc

source ~/.bashrc
/home/root/.bashrc:16: command not found: shopt
/home/root/.bashrc:24: command not found: shopt
/home/root/.bashrc:122: command not found: shopt
/usr/share/bash-completion/bash_completion:51: command not found: shopt
/usr/share/bash-completion/bash_completion:57: command not found: complete
/usr/share/bash-completion/bash_completion:62: command not found: complete
/usr/share/bash-completion/bash_completion:65: command not found: complete
/usr/share/bash-completion/bash_completion:68: command not found: complete
/usr/share/bash-completion/bash_completion:71: command not found: complete
/usr/share/bash-completion/bash_completion:74: command not found: complete
/usr/share/bash-completion/bash_completion:77: command not found: complete
/usr/share/bash-completion/bash_completion:80: command not found: complete
/usr/share/bash-completion/bash_completion:83: command not found: complete
/usr/share/bash-completion/bash_completion:86: command not found: complete
/usr/share/bash-completion/bash_completion:89: command not found: complete
/usr/share/bash-completion/bash_completion:92: command not found: complete
/usr/share/bash-completion/bash_completion:314: parse error near `\n'
\[\e]0;\[email protected]\h \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\]

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.

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

Telnet (port 23)Telnet est géré par xinetd

Pour arrêter le service, il faut éditer le fichier de configuration de Telnet puis redémarrer xinetd.
L'option dans xinetd fonctionne à l'envers à savoir vous devez mettre no pour activer le service.==
# pico /etc/xinetd.d/telnet
#/etc/init.d/xinetd restart
Pour démarrer le service:
# pico /etc/xinetd.d/telnet
# /etc/init.d/xinetd restart

SMTP (port 25)SMTP est géré par Qmail www.qmail.org

Pour arrêter le service (le script de démarrage agit aussi sur le serveur POP3) :
# cd / #/etc/init.d/qmail stop
Pour démarrer le service :
# cd / # /etc/init.d/qmail start

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

POP3 (port 110)POP est géré par Qmail www.qmail.org

Pour arrêter le service (le script de démarrage agit aussi sur le serveur SMTP).
# cd / # /etc/init.d/qmail stop
Pour démarrer le service :
# cd / # /etc/init.d/qmail start

IMAP (port 143)IMAP est géré par Courier-Imap? www.inter7.com/courierimap.html

Pour arrêter le service :
# /etc/init.d/imapd stop
Pour démarrer le service :
# /etc/init.d/imapd 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.
apt-cache depends <nom-du_paquet>
Dépendances.
apt-cache madison <nom-du_paquet>
Versions disponibles.
apt-cache policy <nom-du_paquet>
Versions et possibilités.
apt policy <nom-du_paquet>
Différence entre apt-cache policy et apt policy ?
apt-cache show <nom-du_paquet>
Informations sur le paquet.
apt-show-versions <nom-du_paquet>
Alternative. Informations sur le paquet. Installer : apt-get install apt-show-versions
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 la distribution complète.

nohup apt upgrade

La commande nohup 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.

Utiliser la commande awk

awk est une commande très puissante, un langage de programmation a elle tout seule qui permet une recherche de chaînes et l'exécution d'actions sur les lignes sélectionnées.

Cette commande est utile pour récupérer de l'information, générer des rapports, transformer des données entre autres.

Une grande partie de la syntaxe a été empruntée au langage c, d'ailleurs awk sont les abréviations de ces 3 créateurs dont k pour Kernighan, un des inventeurs du c.

Ok-ko.png Source : http://www.shellunix.com/awk.html
Ok-ko.png Source : http://www.funix.org/fr/unix/awk.htm
Ok-ko.png Source : https://linuxconfig.org/learning-linux-commands-awk

Utiliser la commande sed

Ok-ko.png Source : https://doc.ubuntu-fr.org/sed
Ok-ko.png Source : https://www.shellunix.com/sed.html
Ok-ko.png Source : https://openclassrooms.com/courses/la-commande-sed
Ok-ko.png Source : https://www.system-linux.eu/index.php?post/2008/12/21/La-commande-Sed
Ok-ko.png Source : 31 exemples : https://likegeeks.com/sed-linux/

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/ {print $1 " "$2 " "$3}'

dpkg -l |awk '/libreoffice-gtk/' est équivalent à dpkg -l |grep libreoffice-gtk

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 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

Un paquet permet d'afficher les dépendances mode graphique si nécessaire.

Source : https://memo-linux.com/comment-verifier-les-dependances-dun-paquet-sur-ubuntu-ou-debian/

Exemples de paquets logiciels à installer

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.

KeePass 2

Installer Keepass2 pour GNU/Linux.

$ sudo add-apt-repository ppa:eugenesan/ppa
$ sudo apt-get update
$ sudo apt-get install keepass2

Supprimer keepass2

$ sudo apt-get remove keepass2

Ok.png Installer Keepass2 pour Windows : https://sourceforge.net/projects/keepass/files/KeePass%202.x/

Lire les fichiers compressés

sudo apt-get install p7zip p7zip-full unrar

Compresser en ZIP en ligne de commande

sudo apt-get install zip
zip archive.zip fichiers

Evernote

http://sourceforge.net/projects/nevernote/files/
sudo dpkg -i nixnote2-2.0-beta6_amd64.deb
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

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

Actuellement un bogue avec Debian. Il devrait être corrigé prochainement.

Un paquet est manquant.

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.

Installer des paquets avec ppa

Source de logiciels à installer avec ppa : https://www.learn2crack.com/2013/08/ubuntu-apps-command-line-ppa.html

Vérifier les pilotes qui sont chargés

Utiliser lspci -k

Pour avoir plus d'informations sur le pilote, utiliser la commande modinfo.

Par exemple : modinfo nvme

Paquets supprimés mais non purgés

On peut trouver les paquets supprimés mais non purgés avec dpkg -l |grep "^rc"

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 !!

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 problème de shell assez intéressant. Ici bash fait la transformation : cd $rep ==> cd espace de travail ==> 'cd' 'espace' 'de' 'travail'

Avec zsh par contre, ceci marche parfaitement :

rep="blah blah"
cd $rep

La variable rep occupe exactement un argument de la commande 'cd'. C'est donc un choix qui est fait par le shell.

Informations sur un dossier ou un fichier

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

Pour connaître l'encodage d'un fichier, utiliser la commande file.

file tesat.sql
tesat.sql: UTF-8 Unicode text, with very long lines

Connaître les droits sur les fichiers d'un dossier.

ls -ltr nomdufichier

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

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
Redémarrer le service : /etc/init.d/ntp restart

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

Ouvrir le fichier texte dialogue.

{nano|| mcedit || vim || 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 le fichier texte.
touch une-ligne.txt
# 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 des valeurs de variables

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

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
Ajouter un espace après chaque point ou caractères de ponctuation avec la commande sed 's/\./\. /g' input.txt > output.txt

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

Changer les droits sur un fichier

Source : https://doc.ubuntu-fr.org/droits

Changer les droits pour le premier user installé

chown 1000:1000 NomDuFichier
1000 = Premier utilisateur installé.
0 = Utilisateur root
8 = Service mail

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.

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 le droit sudoers pour un utilisateur

Un super utilisateur ayant un compte normal ayant des privilèges root l'utilisateur sudoers.
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
Plus d'informations sur les commandes usermod : https://www.computerhope.com/unix/usermod.htm
Autres situations
Ajouter manuellement un utilisateur aux mêmes droits que root depuis le fichier sudoers
Éditer le fichier "/etc/sudoers" et copier la ligne avec les "ALL" et changer "root" par "toto".
Plus d'informations sur sudoers : https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos

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
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

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
Ok-ko.png Documentation : http://www.jacksay.com/tutoriaux/bash-shell/utilitaire-screen.html
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

Editer 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

Reconfigurer la langue du system avec dpkg-reconfigure locales.

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 Serena

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

Pour Firefox

sudo apt install Firefox-locale-fr

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

Fichier .asc

Installer pgp :

apt-get install pgp
apt-get install gpa gnupg2

Générer sa clé :

gpg --gen-key
4096
0
y
nom
mail
commentaire
passephrase

Ouvrir gpa pour gérer l'ensemble des clés:

sudo gpa

Source : https://www.deepdotweb.com/2015/02/17/basic-guide-pgp-linux/

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

Lire les mails du système

Lire les mails du système en ligne de commande avec mutt

Installer mutt

sudo apt-get install mutt
mutt

Les commandes de mutt

Lire les mails avec mutt.
q 	Quit
d 	Del
u	Undel
s	Save
m	Mail
r	Reply
g	Group
?	Help
Marquer les mails à supprimer avec D.
Quitter mutt. Un message de confirmation demande si les mails doivent être supprimés.

Envoyer un mail avec mutt

Pour envoyer un courriel il suffit de taper "m".

# Il faut alors saisir le destinataire :
To : 
# Puis le sujet :
Subject: 
# On peut alors écrire le corps du courriel.
Le message.
# Une fois fini ctrl+x pour sortir.
# Taper Y pour sauvegarder.
# Taper Y pour envoyer le courriel.

Si vous recevez le courriel c'est que votre serveur de courriel fonctionne correctement.

Mutt avec Gmail

Source : https://nickdesaulniers.github.io/blog/2016/06/18/mutt-gmail-ubuntu/

Utiliser la messagerie et la commande mail

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

Mount

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
# à vérifier avec dmesg pour l'adresse. Comment ?
# Créer l'entrée dans /media en étant root ou sudo.
## mkdir  /media/NomUser

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é.

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

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écedemment apparaissent toujours.
sudo update-grub

Programmation avec Bash

Mettre une pause entre deux commandes

Mettre pause

# Waits 0.5 second.
sleep .5
# Mettre en pause un script pendant une minute.
sleep 60
sleep 60s
sleep 1m
# Waits 5 hours.
sleep 5h
# Waits 5 days.
sleep 5d

Mettre pause

read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."

Mettre pause

read -p "Appuyer sur une touche pour continuer ..."

Mettre pause

#! /bin/bash

echo "Appuyer la touche <Entrée> pour continuer..."
read touche
case $touche in
*)	echo "Reprise du script..."
	;;
esac

Mettre pause

#! /bin/bash

echo "Voulez-vous continuer ? [O/N]"
read mot
while
[ "$mot" = "O" ]
do
echo "Voulez-vous continuer ? [O/N]"
read mot
done
echo "Programme achevé..."

Passer root dans un script et poursuivre l’exécution

# On ne peut pas passer root dans un script et poursuivre l'exécution du script en tant que root.
# su, sudo, etc. sont des commandes externes, exécutées dans un autre processus.
# Elles ne peuvent donc pas changer l'uid du script en cours (Le process père).
# Passer les commandes à exécuter en root comme étant des arguments de la commande "su" ou "sudo".

# A la demande du mot de passe, c'est le mot de passe root qu'il faut saisir.

# Le début du script.
## Ici du code.
cd /home/seo/

echo "Chargement de l'image Docker Lamp MySQL PHP5 curl."
echo "Appuyer sur la touche <Entrée> pour continuer."
read touche
case $touche in
*)	echo "Saisir le mot de passe root :"
	;;
esac

# Passer en root.
su -c '
# Tes commandes à lancer en tant que root
docker load -i /home/seo/lamp-mysql-php5-curl.tar
'

# La suite du script.
## Ici du code.

Programmation avancée avec Bash

Advanced Bash Scripting.
Ok-ko.png Bash scripting Tutorial : https://linuxconfig.org/bash-scripting-tutorial
Ok-ko.png Debian Admin - Advanced Bash-Scripting Guide : http://www.debianadmin.com/advanced-bash-scripting-guide.html
Ok-ko.png ABS-Guide : https://linux.die.net/abs-guide/
Ok-ko.png Advanced Bash-Scripting Guide : Revision 10 - 10 Mar 2014 : http://www.tldp.org/LDP/abs/abs-guide.pdf
Ok-ko.png http://blaireaulinux.free.fr/linux-scripts-bash-1.php
Ok-ko.png https://abs.traduc.org/abs-fr/

Scripts pour Youtube et conversion du format vidéo

Ok.png Source : http://happy-tux.org/marco/scripts-youtube/

Bibliographie

Ok-ko.png Source : https://buzut.fr/101-commandes-indispensables-sous-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 : Les commandes fondamentales de Linux : 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

NAVIGATION

COMPRENDRE LA BLOCKCHAIN PAR LA PRATIQUE

Obtenir gratuitement de la cryptomonnaie sur internet : https://www.visionduweb.eu/forum/bitcoin/1597-gagner-des-bitcoins-miner-des-bitcoins

PARTICIPER ET PARTAGER

Vous êtes sur le HackerSpace 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.
Pourquoi utiliser GNU/Linux ? Y'a moins bien, mais, c'est beaucoup plus cher.
GNU/Linux, hackerspace, opensource, logiciels libres et transition écologique.
La recherche interne du wiki permet de trouver le contenu qui vous intéresse.
Les informations présentes sur cette page sont issues d'une recherche personnelle.
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.
Vous pouvez partager les articles du wiki avec l'ensemble de la communauté des internautes.
Les recherches sur la sécurité servent à administrer et protéger votre système informatique.
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.

SOUTENIR VISIONDUWEB

Soutenir Vision du web avec des Bitcoins : 33ZsupGQr1rUmwj62HadcZ55hsGJajD9wN
Soutenir Vision du web avec des Bitcoins Cash : 15q5xAVFGpMbqgKsr8uhXymTv7kLfke7hq
Soutenir Vision du web avec des Bitcoins Gold : GNcVseSdiEGRzKYwZWeCbGGg1sZ6Nax172
Soutenir Vision du web avec des Bitcore (BTX) : 1Ks9FDF4FVauAHBCpBFKySiSmD8LaQhqDH
Soutenir Vision du web avec des Blackcoins : BKYBEhQGm9ExrYoWzbvmHA491sK2ArxFM6
Soutenir Vision du web avec des Bytecoins : 241LTEY5L3CSTN2afYf97obxGp4ahUYnq5jDwx5b15NQDothce8fpUeKA32X5SrJuDPBgXTsSmQRoAbCzcDvM2d2Pe9w6AY
Soutenir Vision du web avec des Clams : xMF9u1evuiN2zzEjg2KhgeYPcCLU84Ki5T
Soutenir Vision du web avec des Dash : Xd4vJFnWy27be8cLGSiXVYzP6nKFbdHATU
Soutenir Vision du web avec des Monero : 469EK3yr8JbNe3Gf1rXHD81zcHT7o1hTsDxqvWtxunnaTDLVNiXQ2NyWbwaVe4vUMveKAzAiA4j8xgUi29TpKXpm413rpYt
Soutenir Vision du web avec des Dogecoins : A64jhqCgsUyrUCPte6fV3BcG2Y7daH13Ym
Soutenir Vision du web avec des Ethereum : 0x0E4D6B7A1F88A56A1A66bf408c72FAE3d104D632
Soutenir Vision du web avec des Ethereum Classique : 0x633d83a4ab31e63d76d01edb660ecca4498ef8fa
Soutenir Vision du web avec des Litecoins : 3LKigW6TCS5MvXrZFGh8VMEtZf6MtE86iz
Soutenir Vision du web avec des Potcoins : PUYvjeJ3n2frypgD5yd95yNnwoztnZL5P3
Soutenir Vision du web avec des Solarcoins : 8aYbMcAL68U8f3c3o5pEKUKeWxx48gU1eq
Soutenir Vision du web avec des Zcash : t1Tkiv7nTt9Gwwui9ifsBdp37dTnRG7oYHp