Bash의 여러 대상에 대한 파일의 심볼릭 링크를 만들 수 있습니까?

Bash의 여러 대상에 대한 파일의 심볼릭 링크를 만들 수 있습니까?

/var/log/cron/cron.log에 대한 심볼릭 링크가 있는 파일(예: )에 대한 심볼릭 링크를 만들려고 합니다 ./proc/1/fd/2/proc/1/fd/1

이것이 가능한가?

답변1

아니요, 하나의 대상만 가리킬 수 있습니다. 링크는 대상의 특정 inode를 가리키므로 한 번에 하나만 존재할 수 있습니다.

답변2

케빈질문의 편지에 이미 답변을 드렸으니 정신에 답변해 드리겠습니다. 동시에 두 개의 파일에 쓰려는 경우(한 파일 중 하나가 다른 파일에 대한 하드/기호 링크가 아니라고 가정) 다음을 사용할 수 있습니다.명명된 파이프tee출력을 복제하는 명령은 다음 과 같습니다 .

mkfifo dup.txt
tee -a a.txt >> b.txt < dup.txt &
echo "Hello world!" >> dup.txt

"Hello world!"둘 다에 기록 됩니다 . 하지만a.txtb.txt첫 번째 쓰기 후에 종료됩니다.

귀하의 예에서는 로그 파일을 사용하므로보다 안정적인 솔루션은 다음을 구성하는 것입니다.rsyslogdcron모든 메시지를 여러 파일로 보내려면 다음을 수행하세요 .

cron.* -/var/log/cron/cron.log
cron.* -/var/log/another-file.log

관련 정보