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 [25/02/2017 00:31] – [Décompresser] Arnaud Jacquemin | memo:unix [05/03/2026 11:10] (Version actuelle) – Gérer les utilisateurs Arnaud Jacquemin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== | + | ====== Commandes Unix ====== |
| ===== Créer un dossier ===== | ===== Créer un dossier ===== | ||
| 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 46: | Ligne 71: | ||
| find "/ | find "/ | ||
| </ | </ | ||
| + | |||
| + | |||
| + | ===== Dates ===== | ||
| + | |||
| + | Pour analyser les différentes dates des fichiers et répertoire, | ||
| + | |||
| + | <code bash> | ||
| + | cd DOSSIER_A_ANALYSER | ||
| + | printf " | ||
| + | find . -printf " | ||
| + | </ | ||
| + | |||
| + | Pour rappel les dates sont : | ||
| + | * mtime : dernière modification du contenu (pas des attributs) | ||
| + | * ctime : dernière modification du contenu OU des attributs (:!: pas la date de création) | ||
| + | * atime : dernier accès | ||
| + | |||
| + | Source : https:// | ||
| + | |||
| + | Récupérer les fichiers modifiés dans les 15 derniers jours avec leur date/heure de modification : | ||
| + | |||
| + | <code bash> | ||
| + | find ./ -type f -mtime -15 -printf " | ||
| + | </ | ||
| + | |||
| + | |||
| ===== Archives ===== | ===== Archives ===== | ||
| Ligne 51: | 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 60: | 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 93: | 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 99: | Ligne 187: | ||
| grep -rwl ' | grep -rwl ' | ||
| </ | </ | ||
| + | |||
| + | |||
| ==== Supprimer fichiers selon leur nom ==== | ==== Supprimer fichiers selon leur nom ==== | ||
| Ligne 124: | Ligne 214: | ||
| ==== Se connecter ==== | ==== Se connecter ==== | ||
| - | | + | <code bash> |
| + | ssh user@host | ||
| + | </ | ||
| ==== Copier un fichier ==== | ==== Copier un fichier ==== | ||
| - | | + | Envoyer un fichier local vers une machine distante : |
| + | <code bash> | ||
| + | scp / | ||
| + | </ | ||
| + | |||
| + | Télécharger un fichier depuis une machine distante : | ||
| + | <code bash> | ||
| + | scp user@host: | ||
| + | </ | ||
| ===== MD5 ===== | ===== MD5 ===== | ||
| Ligne 146: | Ligne 246: | ||
| ===== Multimédia ===== | ===== Multimédia ===== | ||
| - | ==== Retirer | + | Audio, vidéo... déplacés sur la page [[ffmpeg]] |
| + | |||
| + | ==== Retirer | ||
| <code bash> | <code bash> | ||
| - | find ./ -name ' | + | exiftool |
| </ | </ | ||
| - | ==== Extraire l' | + | |
| + | ==== Retirer les premières secondes de plusieurs mp3 ==== | ||
| <code bash> | <code bash> | ||
| - | ffmpeg | + | find ./ -name ' |
| </ | </ | ||
| - | |||
| - | 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 | ||
| ===== Téléchargement ===== | ===== Téléchargement ===== | ||
| Ligne 243: | Ligne 340: | ||
| ===== Monter automatiquement NFS ===== | ===== Monter automatiquement NFS ===== | ||
| + | |||
| + | ==== Version intiale ==== | ||
| + | |||
| Dans ''/ | Dans ''/ | ||
| Ligne 252: | Ligne 352: | ||
| Source : https:// | Source : https:// | ||
| + | ==== Version 2017 (autofs) ==== | ||
| + | |||
| + | Dans ''/ | ||
| + | < | ||
| + | music | ||
| + | music-making | ||
| + | photo | ||
| + | video | ||
| + | public | ||
| + | </ | ||
| + | |||
| + | ==== Version 2021 (systemd) ==== | ||
| + | |||
| + | Créer deux fichiers dans ''/ | ||
| + | |||
| + | <file ini mnt-eddie-musicmaking.automount> | ||
| + | [Unit] | ||
| + | Description=Automount Eddie Music Making | ||
| + | |||
| + | [Automount] | ||
| + | Where=/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | <file ini mnt-eddie-musicmaking.mount> | ||
| + | [Unit] | ||
| + | Description=Eddie Music Making | ||
| + | |||
| + | [Mount] | ||
| + | What=192.168.0.42:/ | ||
| + | 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 | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | Pour les vidéos : | ||
| + | |||
| + | <file ini mnt-eddie-videos.automount> | ||
| + | [Unit] | ||
| + | Description=Automount Eddie Vidéos | ||
| + | |||
| + | [Automount] | ||
| + | Where=/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | <file ini mnt-eddie-videos.mount> | ||
| + | [Unit] | ||
| + | Description=Eddie Vidéos | ||
| + | |||
| + | [Mount] | ||
| + | What=192.168.0.42:/ | ||
| + | Where=/ | ||
| + | Type=nfs | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | Annoncer ces fichiers à systemd : | ||
| + | |||
| + | <code bash> | ||
| + | systemctl daemon-reload | ||
| + | systemctl start mnt-eddie-musicmaking.automount | ||
| + | </ | ||
| + | Source : https:// | ||
| ===== Copier stdout et stderr dans un fichier ===== | ===== Copier stdout et stderr dans un fichier ===== | ||
| Ligne 288: | 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 \; | ||
| + | </ | ||