GNU/Linux >> Tutoriels Linux >  >> Linux

Déplacer un fichier et laisser un lien symbolique derrière

Une petite note est que vous pouvez utiliser ln les deux fois pour que la commande ne déplace pas réellement les données (en supposant que les deux chemins se trouvent sur le même système de fichiers).

ln /some/path/file /another/path/ && ln -sf /another/path/file /some/path/

Mais je suppose que vous voulez déplacer le contenu de /some/path/ vers un autre disque, puis créer des liens vers les nouveaux fichiers afin que "personne" ne le remarque.

for f in `ls /some/path/`; do ln /some/path/$f /another/path/ && ln -sf /another/path/$f /some/path; done

Enveloppez-le dans une fonction bash :

function cpln {
    for f in `ls $1`
    do
        ln $1/$f $2 && ln -sf $2/$f $1
    done
}

Il y a mon script que vous pouvez utiliser (prend deux paramètres /some/path/file et /another/path/ ):

#!/bin/bash
cp $1 $2
if [ "$?" -ne "0" ]; then
    echo "Some error"
    exit 1
    fi
ln -sf $2/${1##*/} ${1%/*}

Linux
  1. Liens physiques et liens souples sous Linux expliqués

  2. Installation et configuration de vsFTPD

  3. Qu'est-ce que les liens souples et les liens durs dans le système de fichiers Linux

  4. Différence entre les liens symboliques et les liens physiques sous Linux

  5. Threads et descripteurs de fichiers

Comment créer des liens matériels et logiciels (lien symbolique) sur les systèmes Linux

Comment déplacer des fichiers et des répertoires sous Linux (commande mv)

Expliquer Soft Link et Hard Link sous Linux avec des exemples

Hardlink et Softlink sous Linux - Utilisations et exemples

La commande ln sous Linux :créer des liens logiciels et matériels

Liens matériels et liens logiciels sous Linux :tout ce que vous devez savoir