파일의 일부에 Symlink?


14

심볼릭 링크와 같은 다른 파일에서 바이트의 하위 시퀀스 인 파일을 만들 수는 있지만 파일의 일부만 참조 할 수 있습니까?


4
아마도 당신이하려는 일의 목적을 설명한다면 해결책을 제안 할 수 있습니다.
JRT

답변:



12

예, 적어도 약간의 제한이 있지만 Linux에서는 가능합니다.

방법은 파일의 서브 세트에 맵핑되는 읽기 / 쓰기 루프 장치를 작성하는 것입니다.

예 :

#!/bin/bash
for ((i=0;i<10000;i++)); do
    printf "%7d\n" $i
done >/var/tmp/file
losetup -v -f -o 512 --sizelimit 512 /var/tmp/file
losetup -a
head -2 /var/tmp/file
echo ...
tail -2 /var/tmp/file
echo ===
head -2 /dev/loop0
echo ...
tail -2 /dev/loop0 
printf "I was here" > /dev/loop0
grep here /var/tmp/file
losetup -d /dev/loop0

산출:

loop device: /dev/loop0
/dev/loop0: [0808]:136392 (/var/tmp/file), offset 512, size 512
      0
      1
...
   9998
   9999
===
     64
     65
...
    126
    127
I was here   65

오프셋과 크기는 모두 블록 크기 (512 바이트)의 배수 여야한다고 생각합니다.

루프 장치를 작성하고 액세스하려면 루트 여야합니다.

심볼릭 링크가 필요한 경우 루프 장치를 가리키는 심볼릭 링크를 만들 수 있습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.