同じディレクトリ階層を持つ複数のハードドライブがあります。たとえば、次のようになります。
/media/sda/dir1
/media/sda/dir2
...
/media/sdb/dir1
/media/sdb/dir2
名前とディレクトリ名が似ている2つのハードドライブ。各ハードドライブにdir1とdir2への別々のシンボリックリンクを作成したいと思います。私が見つけた最も簡単な方法は、次を使用することですcp -sR
。
cp -sR /media/sd*/dir1 /somedir/dir1
cp -sR /media/sd*/dir2 /somedir/dir2
ただし、これを実行すると/somedirに新しいディレクトリが作成され、ディレクトリタイムスタンプが役に立たなくなるなど、さまざまな副作用が発生します。
/media/sd*/dir1 および /media/sd*/dir2 への dir1 と dir2 というシンボリックリンクをどのように生成しますか?ファイルは定期的にハードドライブに追加されるため、これらのコマンドを定期的に実行する必要があります。
ベストアンサー1
/somedir/dir1/*
これにより、へのシンボリックリンクが生成されます/media/sd*/dir1/*
。
mkdir /somedir/dir1
ln -sf /media/sd*/dir1 /somedir/dir1
ファイルまたはディレクトリが複数のファイルまたはディレクトリに存在する場合、/media/sd*/dir1/
リンクは最後のファイルまたはディレクトリを指します。たとえば、次のようになります。
/media/sda1/dir1/Movies
/media/sda1/dir1/Pictures
/media/sdb1/dir1/Movies
/media/sdb1/dir1/Data
あなたは得るでしょう:
/somedir/dir1/Movies -> /media/sdb1/dir1/Movies
/somedir/dir1/Pictures -> /media/sda1/dir1/Pictures
/somedir/dir1/Data -> /media/sdb1/dir1/Data
しかし、これがあなたが望むものであるかどうかはわかりません。
私の意見では、unionfs
インストールが/media/sd*
シンボリックリンクよりも目的に適しているようです。