Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| memo:unix [19/04/2022 12:52] – [Copier un fichier] Arnaud Jacquemin | memo:unix [05/03/2026 11:10] (Version actuelle) – Gérer les utilisateurs Arnaud Jacquemin | ||
|---|---|---|---|
| Ligne 22: | Ligne 22: | ||
| ln -s cible nom_lien | ln -s cible nom_lien | ||
| </ | </ | ||
| + | |||
| + | ===== Lister les fichiers ===== | ||
| + | |||
| + | * **-l** : utiliser un format d' | ||
| + | * **-h** : pour // | ||
| + | |||
| + | <code bash> | ||
| + | # Lister les fichiers et dossiers du répertoire courant, avec tous les détails, et les tailles compréhensibles par un humain | ||
| + | ls -lh | ||
| + | # Créer un alias pour cette commmande | ||
| + | alias ll="ls -lh" | ||
| + | </ | ||
| + | |||
| + | |||
| + | * **-a** : pour //all//, permet d' | ||
| + | * **-R** : pour // | ||
| + | * **-t** : pour trier les fichier par date de modification, | ||
| + | * **-r** : pour inverser le sens de tri | ||
| + | * **-S** : pour trier les fichier par taille, du plus gros au plus petit | ||
| + | |||
| + | <code bash> | ||
| + | # Lister les fichiers avec un filtre sur leur nom | ||
| + | ls *.pdf | ||
| + | </ | ||
| + | |||
| ===== Droits ===== | ===== Droits ===== | ||
| Ligne 77: | Ligne 102: | ||
| <code bash> | <code bash> | ||
| - | tar xvfz something.tar.gz | + | tar xvf something.tar.bz2 |
| - | tar jxf something.tar.bz2 | + | |
| unzip something.zip | unzip something.zip | ||
| unrar x "nom de fichier.rar" | unrar x "nom de fichier.rar" | ||
| + | </ | ||
| + | |||
| + | === Exclure un dossier === | ||
| + | |||
| + | <code bash> | ||
| + | tar xvf something.tar.bz2 --exclude=" | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | === Spécifier cible et créer un dossier === | ||
| + | |||
| + | <code bash> | ||
| + | # Créer dossier / | ||
| + | tar xvf / | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | # Créer dossier / | ||
| + | tar xvf / | ||
| </ | </ | ||
| Ligne 86: | Ligne 130: | ||
| <code bash> | <code bash> | ||
| - | tar czvf repertoire.tar.gz repertoire/ | + | tar cvf repertoire.tar.bz2 repertoire/ |
| - | tar cjvf repertoire.tar.bz2 repertoire/ | + | |
| </ | </ | ||
| - | Flags : | + | Paramètres |
| * '' | * '' | ||
| - | * '' | ||
| * '' | * '' | ||
| * '' | * '' | ||
| + | * '' | ||
| + | |||
| + | === Ne pas inclure toute le hiérarchie des dossiers === | ||
| + | |||
| + | * ''< | ||
| + | |||
| + | <code bash> | ||
| + | tar cvf archive.tar.bz2 --directory=/ | ||
| + | |||
| + | </ | ||
| + | |||
| + | === Supprimer les fichiers source après compression === | ||
| - | Idem en supprimant les fichiers source après compression : | ||
| <code bash> | <code bash> | ||
| tar cjvf repertoire.tar.bz2 repertoire/ --remove-files | tar cjvf repertoire.tar.bz2 repertoire/ --remove-files | ||
| Ligne 119: | Ligne 172: | ||
| <code bash> | <code bash> | ||
| find ./ -name \*.php | xargs grep " | find ./ -name \*.php | xargs grep " | ||
| + | </ | ||
| + | |||
| + | Ou autre version plus simple, avec grep uniquement : ((https:// | ||
| + | <code bash> | ||
| + | # -r or -R is recursive, | ||
| + | # -n is line number, and | ||
| + | # -w stands for match the whole word. | ||
| + | # -e is the pattern used during the search | ||
| + | grep --include=\*.{php, | ||
| </ | </ | ||
| Ligne 125: | Ligne 187: | ||
| grep -rwl ' | grep -rwl ' | ||
| </ | </ | ||
| + | |||
| + | |||
| ==== Supprimer fichiers selon leur nom ==== | ==== Supprimer fichiers selon leur nom ==== | ||
| Ligne 150: | Ligne 214: | ||
| ==== Se connecter ==== | ==== Se connecter ==== | ||
| - | | + | <code bash> |
| + | ssh user@host | ||
| + | </ | ||
| ==== Copier un fichier ==== | ==== Copier un fichier ==== | ||
| Ligne 181: | Ligne 246: | ||
| ===== Multimédia ===== | ===== Multimédia ===== | ||
| - | ==== Compresser en flac récursivement ==== | + | Audio, vidéo... déplacés sur la page [[ffmpeg]] |
| - | <code bash> | ||
| - | shopt -s globstar nocaseglob | ||
| - | for input in GigaSoundPack/ | ||
| - | do | ||
| - | indir=$(dirname " | ||
| - | outdir=${indir/# | ||
| - | [ ! -d " | ||
| - | infile=$(basename " | ||
| - | outfile=${infile%.??? | ||
| - | ffmpeg -i " | ||
| - | done | ||
| - | </ | ||
| ==== Retirer metatags de toutes les photos d'un dossier ==== | ==== Retirer metatags de toutes les photos d'un dossier ==== | ||
| Ligne 207: | Ligne 260: | ||
| find ./ -name ' | find ./ -name ' | ||
| </ | </ | ||
| - | |||
| - | ==== Extraire l' | ||
| - | |||
| - | <code bash> | ||
| - | ffmpeg -ss 300 -t 180 -i " | ||
| - | </ | ||
| - | |||
| - | Remplacer | ||
| - | * 300 par la position de départ (en secondes) | ||
| - | * 180 par la durée à capturer | ||
| - | * input.avi par le fichier d'où extraire | ||
| - | * output.flac par le fichier de destination | ||
| - | |||
| - | |||
| - | ==== Concaténer deux vidéos de même format ==== | ||
| - | |||
| - | <code bash> | ||
| - | ffmpeg -i video1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts | ||
| - | ffmpeg -i video2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts | ||
| - | ffmpeg -i " | ||
| - | </ | ||
| - | |||
| - | Source : http:// | ||
| - | |||
| - | |||
| - | ==== Recompresser une vidéo en H264 ==== | ||
| - | |||
| - | <code bash> | ||
| - | ffmpeg -i " | ||
| - | </ | ||
| - | |||
| - | Diminuer la valeur de CRF pour augmenter la qualité, et augmenter cette valeur pour diminuer la taille. | ||
| - | |||
| - | Source : https:// | ||
| - | |||
| - | * Pour changer le nombre d' | ||
| - | * Pour changer la résolution : paramètre -s | ||
| - | |||
| - | <code bash> | ||
| - | ffmpeg -i " | ||
| - | </ | ||
| - | |||
| ===== Téléchargement ===== | ===== Téléchargement ===== | ||
| Ligne 374: | Ligne 385: | ||
| What=192.168.0.42:/ | What=192.168.0.42:/ | ||
| Where=/ | Where=/ | ||
| + | Type=nfs | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | === Pour la musique : === | ||
| + | |||
| + | <file ini mnt-eddie-musique.automount> | ||
| + | [Unit] | ||
| + | Description=Automount Eddie Musique | ||
| + | |||
| + | [Automount] | ||
| + | Where=/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | <file ini mnt-eddie-musique.mount> | ||
| + | [Unit] | ||
| + | Description=Eddie Musique | ||
| + | |||
| + | [Mount] | ||
| + | What=192.168.0.42:/ | ||
| + | Where=/ | ||
| Type=nfs | Type=nfs | ||
| Ligne 398: | Ligne 435: | ||
| [Mount] | [Mount] | ||
| - | What=192.168.0.42:/ | + | What=192.168.0.42:/ |
| Where=/ | Where=/ | ||
| Type=nfs | Type=nfs | ||
| Ligne 449: | Ligne 486: | ||
| -i signifie "faire la modification directement dans le fichier source" | -i signifie "faire la modification directement dans le fichier source" | ||
| + | ===== Gérer les utilisateurs ===== | ||
| + | ==== Créer un utilisateur ==== | ||
| + | <code bash> | ||
| + | sudo useradd nom_utilisateur | ||
| + | </ | ||
| + | |||
| + | ==== Créer un groupe ==== | ||
| + | <code bash> | ||
| + | sudo groupadd nom_groupe | ||
| + | </ | ||
| + | |||
| + | ==== Ajouter un utilisateur dans un groupe ==== | ||
| + | |||
| + | <code bash> | ||
| + | sudo adduser nom_utilisateur nom_groupe | ||
| + | </ | ||
| + | |||
| + | Il faut fermer/ | ||
| + | |||
| + | Source : [[https:// | ||
| + | |||
| + | |||
| + | ===== Reformater des fichiers SQL ===== | ||
| + | |||
| + | <code bash> | ||
| + | sudo pipx install sqlparse | ||
| + | pipx ensurepath | ||
| + | find . -type f -exec sqlformat --reindent {} -o {}.sql \; | ||
| + | </ | ||