Können Sie in Bash einen symbolischen Link für eine Datei zu mehreren Zielen erstellen?

Können Sie in Bash einen symbolischen Link für eine Datei zu mehreren Zielen erstellen?

Ich möchte einen symbolischen Link für eine Datei (z. B. ) erstellen, der sowohl einen symbolischen Link zu als auch /var/log/cron/cron.logenthält ./proc/1/fd/2/proc/1/fd/1

Ist das möglich?

Antwort1

Nein, es kann nur auf ein Ziel verweisen. Da ein Link auf einen bestimmten Inode auf dem Ziel verweist, kann immer nur einer vorhanden sein.

Antwort2

Kevinbereits dem Buchstaben der Frage nach beantwortet, werde ich versuchen, dem Sinn nach zu antworten. Wenn Sie in zwei Dateien gleichzeitig schreiben möchten (vorausgesetzt, eine der Dateien ist kein Hard/symbolischer Link zur anderen), können Sie verwendenBenannte Pipesund der teeBefehl zum Duplizieren der Ausgabe:

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

wird "Hello world!"sowohl an a.txtals auch geschrieben b.txt. AllerdingsT-Shirtwird nach dem ersten Schreibvorgang beendet.

Da Sie in Ihrem Beispiel eine Protokolldatei verwenden, wäre eine stabilere Lösung die Konfigurationrsyslogdum alle cronNachrichten an mehrere Dateien zu senden:

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

verwandte Informationen