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