Tuto commandes Linux (from OrgFiles)

Table of Contents

ls (list sort):

Liste les fichiers et répertoires du répertoire courant._

ls -l:

L'option ~ -l ~ donne des détails sur les fichiers listés dont notamment les droits en lecture/écriture pour le propriétaire, le groupe et le reste du monde

-rw-rw-r-- 1 docnext users 1064 Jan  7  2020 gesfipe-info.md
drwxrwxr-x 2 docnext users 4096 Jan  5  2020 images
-rw-rw-r-- 1 docnext users  122 Mar  6  2020 keyboard-review.md
-rw-rw-r-- 1 docnext users  690 Mar 24  2020 logiciels-utiles.md
-rw-rw-r-- 1 docnext users  581 Jan  7  2020 todo-list.md
-rw-rw-r-- 1 docnext users 6305 Jan  3 21:33 tuto-unix.md

ls -la :

Le fait de rajouter ~ -a ~ permet de lister les fichiers cachés

ls -lS En ajoutant ~ -S ~ cela permet de lister le contenu du répertoire trié en ordre décroissant suivant le volume des fichiers. En combinant avec les options précédentes ~ ls -laS ~ cela donne le listing ci-après:

-rw-r--r-- 1 prog prog  16K Jan  9 17:18 git-tuto.org
-rw-r--r-- 1 prog prog  13K Jan  1 22:31 crypto-tuto.org
-rw-rw-r-- 1 prog prog 7.6K Jun 13 22:26 unix-tuto.org
-rw-r--r-- 1 prog prog 5.7K Jun 19 09:12 emacs-tuto.org
drwxr-xr-x 4 prog prog 4.0K Jun 19 19:28 .
drwxr-xr-x 8 prog prog 4.0K Jun 19 15:38 ..
drwxr-xr-x 8 prog prog 4.0K Jun 19 19:25 .git
drwxr-xr-x 3 prog prog 4.0K Jun 13 21:28 content
-rw-r--r-- 1 prog prog 1.2K Jun 19 16:14 README.org
-rw-r--r-- 1 prog prog  938 Jun 19 16:13 README.md

Find files

Files Larger Than a Specified Size

find . -type f -size +7k

./git-tuto.org
./crypto-tuto.org
./unix-tuto.org
./content/posts/git-tuto.md
./content/posts/unix-tuto.md
./content/posts/crypto-tuto.md

Searching the Whole Linux Filesystem For Large Files

sudo find / -xdev -type f -size +100M ~ ( "." représente le répertoire local) ~

/usr/lib/firefox-esr/libxul.so
/usr/lib/jvm/java-11-openjdk-amd64/lib/modules
/opt/google/chrome/chrome
/opt/DockStation/dockstation

Finding the 10 Largest Linux Files on Your Drive

sudo du -aBm . 2>/dev/null | sort -nr | head -n 10 ~ ( "." représente le répertoire local) ~

1M      ./unix-tuto.org
1M      ./git-tuto.org
1M      ./emacs-tuto.org
1M      ./crypto-tuto.org
1M      ./content/posts/unix-tuto.md
1M      ./content/posts/git-tuto.md
1M      ./content/posts/emacs-tuto.md
1M      ./content/posts/crypto-tuto.md
1M      ./content/posts/README.md
1M      ./content/posts

cd (change directory):

Permet de changer de répertoire

Exemples:

cd /etc	--> permet d'aller dans le répertoire "/etc"
cd ..         --> permet de remonter au repère supérieur
cd ~          --> permet d'aller dans son répertoire "home"

pwd (print work directory):

Affiche le répertoire courant Exemple:

/home/prog/OrgFiles/Org-xlh-site/content/posts

mkdir (make directory):

Permet de créer un répertoire. Exemple:

mkdir toto --> crée le répertoire "toto" dans le répertoire courant

chown (change owner):

Permet de changer le propriétaire d'un ou plusieurs fichiers ou répertoires.

Exemples:

chown xavier:www-data monfichier.txt

le propriétaire du fichier "monfichier.txt" est maintenant "xavier", le groupe auquel appartient le fichier est maintenant "www-data"

chmod (change mode):

Change le mode du fichier (read (r) write (w) execute (x) pour le propriétaire (u: pour "user"), le groupe (g: pour "group") et le reste du monde (o: pour "other")

Exemple: chmod u+w monfichier.txt rend le fichier "monfichier.txt" exécutable (x) et modifiable (w) pour le propriétaire (u: user)

avant la commande chmod u+w monfichier.txt :

-rw-r--r-- 1 xavier xavier 0 janv.  5 14:26 monfichier.txt

après la commande chmod u+w monfichier.txt :

-rwxr--r-- 1 xavier xavier 0 janv.  5 14:26 monfichier.txt

chmod o+w monfichier.txt :

ls -l monfichier.txt
-rwxr--rw- 1 xavier xavier 0 janv.  5 14:26 monfichier.txt
  • Le premier digit indique si c'est un fichier (-) ou si c'est un répertoire (d)
  • Les 3 digits suivants (rwx) indiquent les droits en lecture écriture et en exécution du fichier pour le propriétaire
  • Les 3 digits suivants indiquent les droits en lecture écriture et en exécution du fichier pour le groupe.
  • Et enfin les 3 digits suivants indiquent les droits en lecture écriture et en exécution du fichier pour le reste du monde._

Add sudo:

To add a user to sudo group

usermod -aG sudo _username_

du (disk use):

Permet d'obtenir la quantité d'octets utilisé par répertoire.

exemple:

du -h -t 1G

produit le listing suivant: -h : human readeable -t 1G threshold (liste uniquement les répetoires dont le volume utilisé est supérieur à 1G) Il est possible aussi de limiter l'analyse à un certain niveau de l'arborescence: -d 2 (2 nivveaux uniquement)

1,4G	./.PlayOnLinux/wine
2,4G	./.PlayOnLinux
64G	./kvm-isos/macOS-Simple-KVM
64G	./kvm-isos
1,1G	./.cache/mozilla/firefox/twct8bf1.default-release/cache2/entries
1,1G	./.cache/mozilla/firefox/twct8bf1.default-release/cache2
1,1G	./.cache/mozilla/firefox/twct8bf1.default-release
2,1G	./.cache/mozilla/firefox
2,1G	./.cache/mozilla
1,1G	./.cache/pip/http
1,1G	./.cache/pip
5,3G	./.cache

lsof

Lists open files and the corresponding processes For instance, to chose a process running on a particular port

lsof -i :8080

Utilitaires:

mc (midnight commander):

Utilitaire permettant de naviguer dans les répertoires et d'efffectuer un certain nombre d'opérations sur les fichiers et répertoires (créer / supprimer, changer de propriétaire / groupe du fichier ou répertoire, créer des liens symboliques, …)

nano:

Editeur de fichiers type texte léger (pratique pour amender rapidement des fichiers de configuration )

emacs:

Editeur de fichiers texte multi format et configurable à volonté via le langage lisp. Excellent pour la programmation quelque soit le type de langage employé. Nécessite l'apprentissage des commandes claviers mais cela en vaut la peine.

ncdu:

Permet de rechercher le nombre d'octets contenus dans les répertoire

bpytop

To see and analyse processes and cpu / mem load etc. See bpyTOP

fzf

It's a general-purpose command-line fuzzy finder, written in Go. See: https://github.com/junegunn/fzf

Tmux

Quelques commandes Tmux à retenir issues de Tuto Ubuntu

Raccourcis de base

Commandes Descriptions
C-b c Créer un nouveau terminal dans la session tmux active
C-b & Supprime la fenêtre courante
C-b n Switcher entre les différents terminaux de la session
C-b X Choisir un terminal spécifique (ou X est le numéro du terminal)
C-b d Se détacher de la session tmux (lancer 'tmux a' pour s'y- rattacher)
C-b , Permet de renommer un terminal
C-b w Affiche la liste des terminaux disponibles
C-b t Afficher l’heure dans un terminal
C-b [ Permet de scroller ligne/ligne (avec les fleches du clavier ou la souris) ou même page par page avec PgnUP et PgnDOWN, tapez "q" pour quitter ce mode

Commndes dans un split

Commandes Description
C-b " Split horizontal du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
C-b % Split vertical du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
C-b o Switcher entre les terminaux splittés
C-b "espace" Changer l’organisation visuelle des terminaux splittés
C-b (flèches directionnelles) se déplacer de terminal en terminal
C-b "Alt + (flèches directionnelles)" Reduire, agrandir fenêtre du split
C-b ! Convertir un split en terminal seul
C-b q Afficher les numéros des terminaux splittés
C-b b puis saisissez ":join"" permet de joindre un terminal seul dans un split

Help

man

Man pages. For instance:

man tar

info

Info pages. For instance:

info tar

tldr pages

Gives some samples with unix commands

tldr tar

Commandes plus complexes:

Retrouver des packages installés

Comment retrouver aisément un ou des packages intallés (exemple: recherche les kernel PVE installés):

dpkg --list | grep 'pve-kernel-.*-pve' | awk '{print $2}' | sort -V

Pour retirer le fichier le "package" le plus récent ==> rajouter -n -1:

dpkg --list | grep 'pve-kernel-.*-pve' | awk '{print $2}' | sort -V | head -n -1

Et enfin pour supprimer tous les anciens "packages" (sauf le dernier):

apt-get purge $(dpkg --list | grep 'pve-kernel-.*-pve' | awk '{print $2}' | sort -V | head -n -1)

Supprimer la mise en veille:

Comment stopper la mise en veille automatique d'une Debian (utile quand le serveur est un vieux laptop): https://www.linuxtricks.fr/news/10-logiciels-libres/451-empecher-la-mise-en-veille-sur-debian/

systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Pour revenir en arrière et rendre possible la mise en veille:

systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

If you just want to prevent suspending when the lid is closed you can set the following options in:

> /etc/systemd/logind.conf:

[Login] HandleLidSwitch=ignore HandleLidSwitchDocked=ignore

> restart the service or reboot your machine

systemctl restart syste| Commandes | Description |

<Ctrl> + <b> suivi de <"> Split horizontal du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
<Ctrl> + <b> suivi de <%> Split vertical du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
<Ctrl> + <b> suivi de <o> Switcher entre les terminaux splittés
<Ctrl> + <b> suivi de <espace> Changer l’organisation visuelle des terminaux splittés
<Ctrl> + <b> suivi de (flèches directionnelles) se déplacer de terminal en terminal
<Ctrl> + <b> suivi de <Alt> + (flèches directionnelles) Reduire, agrandir fenêtre du split
<Ctrl> + <b> suivi de <!> Convertir un split en terminal seul
<Ctrl> + <b> suivi de <q> Afficher les numéros des terminaux splittés
<Ctrl> + <b> puis saisissez join : permet de joindre un terminal seul dans un split

Help

man

Man pages. For instance:

man tar

info

Info pages. For instance:

info tar

tldr pages

Gives some samples with unix commands

tldr tar

Commandes plus complexes:

Retrouver des packages installés

Comment retrouver aisément un ou des packages intallés (exemple: recherche les kernel PVE installés):

dpkg --list | grep 'pve-kernel-.*-pve' | awk '{print $2}' | sort -V

Pour retirer le fichier le "package" le plus récent ==> rajouter -n -1:

dpkg --list | grep 'pve-kernel-.*-pve' | awk '{print $2}' | sort -V | head -n -1

Et enfin pour supprimer tous les anciens "packages" (sauf le dernier):

apt-get purge $(dpkg --list | grep 'pve-kernel-.*-pve' | awk '{print $2}' | sort -V | head -n -1)

Supprimer la mise en veille:

Comment stopper la mise en veille automatique d'une Debian (utile quand le serveur est un vieux laptop): https://www.linuxtricks.fr/news/10-logiciels-libres/451-empecher-la-mise-en-veille-sur-debian/

systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Pour revenir en arrière et rendre possible la mise en veille:

systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

If you just want to prevent suspending when the lid is closed you can set the following options in:

> /etc/systemd/logind.conf:

[Login] HandleLidSwitch=ignore HandleLidSwitchDocked=ignore

> restart the service or reboot your machine

systemctl restart systemd-logind.service

To stop screen baclight, use vbetool. First: install vbetool with the following command:

sudo apt install vbetool and change backlight with:

vbetool dpms off vbetool dpms on

Portainer –> lancement du container

>docker volume create portainer

docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Lister tous les ports ouverts:

sudo netstat -ltup
netstat -nlt
netstat -anp|grep <nom de process>

Pour desactiver dnsmasq et donc l'ecoute du port 53:

sudo systemctl stop  dnsmasq.service
sudo systemctl disable  dnsmasq.service
sudo systemctl status systemd-resolved.service
sudo systemctl stop systemd-resolved.service
sudo systemctl disable systemd-resolved.service

Démarrage du serveur en mode console / graphique:

>Sous Ubuntu 18.04 :

sudo systemctl set-default multi-user.target

>puis redémarrage et tu contrôles que toutes les fonctions serveurs sont actives. >Si nécessaire: repasser en mode graphique en faisant :

sudo systemctl start graphical.target

>Pour réactiver le mode graphique au démarrage :

sudo systemctl set-default graphical.target

Configuration de l'imprimante:

lpstat -p -d	   # liste les imprimantes
lpotions -d <printer> 	   # définit imprimante par défaut
lpq 		   # vérifie imprimante par défaut

Rechercher taille répertoires:

sudo du -xkhs * |sort -n
Mon Blog — généré avec Emacs Org-mode