GNU/Linux >> Tutoriales Linux >  >> Linux

Mueva un archivo y deje un enlace suave atrás

Una pequeña nota, es que podría usar ln en ambas ocasiones para hacer que el comando no mueva los datos (suponiendo que ambas rutas estén en el mismo sistema de archivos).

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

Pero supongo que desea mover el contenido de /some/path/ a otro disco y luego crear enlaces a los nuevos archivos para que "nadie" se dé cuenta.

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

Envolviéndolo en una función bash:

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

Hay mi secuencia de comandos que podría usar (toma dos parámetros /alguna/ruta/archivo y /otra/ruta/):

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

Linux
  1. Cómo crear enlaces blandos y duros en Linux

  2. Instalación y configuración de vsFTPD

  3. 6 ejemplos de comandos mv para mover o renombrar archivos y directorios de Linux

  4. Qué son los Enlaces Simbólicos (Soft Links) y cómo crearlos bajo Linux

  5. ¿Por qué mi enlace simbólico crea un archivo y no una carpeta?

Cómo crear enlaces duros y blandos (enlace simbólico) en sistemas Linux

Cómo mover archivos y directorios en Linux (comando mv)

Explicación de Soft Link y Hard Link en Linux con ejemplos

Hardlink y Softlink en Linux:usos y ejemplos

El comando ln en Linux:crear enlaces blandos y duros

Enlaces duros y enlaces blandos en Linux:todo lo que necesita saber