GNU/Linux >> Tutoriels Linux >  >> Linux

Unix - créer le chemin des dossiers et des fichiers

Utilisez && pour combiner deux commandes dans une seule ligne de shell :

COMMAND1 && COMMAND2
mkdir -p /my/other/path/here/ && touch /my/other/path/here/cpedthing.txt

Remarque :Auparavant, je recommandais l'utilisation de ; pour séparer les deux commandes mais comme l'a souligné @trysis, il est probablement préférable d'utiliser && dans la plupart des situations car dans le cas COMMAND1 échoue COMMAND2 ne sera pas exécuté non plus. (Sinon, cela pourrait entraîner des problèmes auxquels vous ne vous attendiez peut-être pas.)


Faites-le avec /usr/bin/install :

install -D /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt

quand vous n'avez pas de fichier source :

install -D <(echo 1) /my/other/path/here/cpedthing.txt

Vous devez d'abord créer tous les répertoires parents.

FILE=./base/data/sounds/effects/camera_click.ogg

mkdir -p "$(dirname "$FILE")" && touch "$FILE"

Si vous voulez faire preuve de créativité, vous pouvez créer une fonction :

mktouch() {
    if [ $# -lt 1 ]; then
        echo "Missing argument";
        return 1;
    fi

    for f in "[email protected]"; do
        mkdir -p -- "$(dirname -- "$f")"
        touch -- "$f"
    done
}

Puis utilisez-la comme n'importe quelle autre commande :

mktouch ./base/data/sounds/effects/camera_click.ogg ./some/other/file

Linux
  1. Différence entre chat et '>' pour mettre à zéro un fichier ?

  2. Pourquoi utiliser Install plutôt que Cp et Mkdir ?

  3. Créer et supprimer des fichiers d'échange dans Ubuntu

  4. Extraire le nom de base du fichier sans chemin ni extension dans bash

  5. unix - début ET fin du fichier

DOS vers Unix :commandes et exemples

Chiffrement et déchiffrement de fichiers avec ccrypt

Comment créer et utiliser un fichier d'échange sous Linux

Exemples de manipulation de fichiers à l'aide des commandes Tac, Rev, Paste et Join Unix

Comment toucher un fichier et mkdir si nécessaire en une seule ligne

Comprendre les autorisations UNIX et les types de fichiers