FAT32メモリカードを使用してファイルシステムとシンボリックリンクをUbuntu 14.04から16.04に移動しましたが、これによりBitTorrentSyncの使用が中断されたようです。違いは、これらのリンクがXSymのおかげで私のOSXインストールの残りの部分であるということです。私が作ったのはls -la $HOME | grep Math
シンボリックリンクでした。
-rw-r--r-- 1 masi masi 1067 May 17 21:28 Math
テキストエディタには何がありますか?
XSym
0078
48055bd2d9c13568c969e1eb8d6a22ac
/Users/masi/Math/
反対側を指す必要があります/Users/masi/LOREM/Math/
。リンクがまだ機能していないため、PATHを手動で変更するだけでは機能しません。
問い合わせコマンド以下にも適用できます。
find /Users/masi/Math/ /
-lname '/Users/masi/LOREM/Math/*' \
-exec sh -c 'ln -snf "/mnt$(readlink "$0")" "$0"' {} \;
ソースとターゲットを正しい順序でインポートしているかどうかはわかりません。
システム:Ubuntu 14.04、Ubuntu 16.04
答え1
私は2つの考えられる解決策を考えました。
1. すべてのディレクトリを繰り返してLOREM
シンボリックリンクします。$HOME
cd "$HOME/LOREM"
for item in *
do
test -d "$item" || continue
mv -f "$HOME/$item" "$HOME/$item.DELETE_ME_LATER" 2>/dev/null
ln -s "$HOME/LOREM/$item" "$HOME/$item"
done
# Once you are happy that only the correct files have been replaced
# rm "$HOME"/*.DELETE_ME_LATER
rm
たとえば、スクリプトの前に追加して、変更する前にスクリプトの効果を確認できます。ln
echo
echo rm -f "Users/masi/$item"
2. 既存のファイルセットを処理し、それを正しいシンボリックリンクに変換します。
シンボリックリンクでなければならないファイルを識別する具体的な内容がないため、これには少しの経験的方法(推測)が必要です。
このようなことがうまくいくかもしれません。
for file in *
do
# Skip files that we have already processed
[[ $file =~ DELETE_ME_LATER ]] && continue
# Look for a path-like string in the file
path=$(grep "^$HOME/" "$file")
if test -d "$path"
then
# It is a directory
mv -f "$file" "$file.DELETE_ME_LATER"
ln -s "$HOME/LOREM/$file" "$file"
fi
done
# Once you are happy that only the correct files have been replaced
# rm *.DELETE_ME_LATER
同様にmv
、ドアの前にln
プレフィックスを付けてecho
変更を適用しなくても効果を確認できます。
答え2
これは答えではなく、コメントするには大きすぎる情報を増幅するだけです。
ファイルXSym
は(一種の)説明されていますここ。
もともとポスターはもともと質問でこれについて言及していませんでしたが、Léoのファイルシステムは、Macからアクセス可能なSambaを実行しているNAS(または他のホームネットワークサーバー)にあると推測されています。したがって、シンボリックリンクは実際にシンボリックリンクではありません。
これらの偽のシンボリックリンクファイルを書くことがmacOSバージョンであるかln
Samba自体であるかを100%確信することはできませんが、上記のリンク文書ではこれについては明確ではありません。要約すると、SMB / CIFSファイルシステムでUnixクライアントシンボリックリンクをサポートする方法があります。