원본 파일로 심볼릭 링크 덮어쓰기

원본 파일로 심볼릭 링크 덮어쓰기

다음과 같은 일부 심볼릭 링크 파일이 포함된 디렉터리가 있습니다.

/home/user/symlink/$(*symlink_file_name1*).mkv
/home/user/symlink/$(*symlink_file_name2*).mkv

원본 파일(심볼릭 링크된 파일)이 포함된 다른 디렉터리가 있습니다.

/home/user/original/$(*original_file_name1*).mkv
/home/user/original/$(*original_file_name2*).mkv

따라서 문제는 .mkv모든 파일을 /home/user/symlink/원본 파일로 "변환"하지만 파일 이름은 동일하다는 것입니다.

심볼릭 링크 폴더에 모든 원본 파일과 해당 이름을 원합니다

symlink name $(*symlink_file_name*)

/home/user/original/$original_file_name1.mkv그럼 이사 나 /home/user/symlink/$(symlink_file_name1).mkv그런 곳 으로 갈 수 있나요 ?

답변1

GNU를 사용하여 readlink원본 파일 이름에 대한 기호 링크를 확인합니다.

먼저 디렉터리 설정을 흉내냈습니다.

$ mkdir original "symlink dir"
$ touch original/file1 original/file2
$ cd "symlink dir"/
$ ln -s ../original/file1 link1
$ ln -s ../original/file2 link2
$ cd ..

그런 다음 파일을 복사합니다.

$ for link in "./symlink dir"/*; do
> orig="$(readlink -f "$link")"
> rm "$link"
> cp -v "$orig" "$link"
> done
‘/home/user/original/file1’ -> ‘./symlink dir/link1’
‘/home/user/original/file2’ -> ‘./symlink dir/link2’

관련 정보