GNU/Linux >> Znalost Linux >  >> Linux

Přesuňte soubor a nechte za sebou měkký odkaz

Malá poznámka je, že můžete použít ln v obou případech, aby příkaz ve skutečnosti nepřesouval data (za předpokladu, že obě cesty jsou na stejném souborovém systému).

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

Předpokládám ale, že chcete přesunout obsah /nejaké/cesty/ na jiný disk a pak vytvořit odkazy na nové soubory, aby si toho "nikdo" nevšiml.

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

Zabalení do funkce bash:

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

Zde je můj skript, který byste mohli použít (přebírá dva parametry /some/path/file a /other/path/):

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

Linux
  1. Vysvětlení pevných odkazů a měkkých odkazů v Linuxu

  2. Najít vzor a přesunout?

  3. Oprávnění a ukládání souborů?

  1. Přesměrování a výstup potrubí?

  2. Jak vytvořit měkké a pevné odkazy v Linuxu

  3. 6 Příklady příkazů mv pro přesun nebo přejmenování souborů a adresářů systému Linux

  1. Instalace a konfigurace vsFTPD

  2. Co jsou symbolické odkazy (Soft Links) a jak je vytvořit pod Linuxem

  3. Vlákna a deskriptory souborů