• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af marlar | 26.02.2010 01:03

Kan find følge symlinks?

Hjælp generelt
Hvis der er to filer i en mappe

fil1
fil2

så vil


find . -exec echo {} \;


udskrive navnene på de to filer:


./fil1
./fil2


Men fil2 er en symlink der peger på /sti/til/fil3, så kan man
ændre på find så den i stedet evaluerer symlinket? Altså giver dette output:


./fil1
/sti/til/fil3


Jeg skal bruge det til at generere en liste over alle filer i en mappestruktur, men sådan at der i stedet for symlinks vises destinationerne for symlinket.
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer6

# 1

16 år siden

Permalink

Indsendt af mich den 26. februar 2010 kl. 03:06

Permalink

Re: Kan find følge symlinks?

Prøv

find -L . > liste.txt

find returnerer de fundne filnavne, så du behøver ikke -exec.

Se man find for mere information.
  • Log ind eller opret dig for at tilføje kommentarer

# 2

16 år siden

Permalink

Indsendt af marlar den 26. februar 2010 kl. 10:19

Permalink

Re: Kan find følge symlinks?

Jeg kender godt -L switchen, men den gør det desværre ikke. Der kommer stadig til at stå ./fil2 i outputtet, hvor der gerne skulle stå ./sti/til/fil3

Når jeg bruger -exec er det fordi der skal stå noget andet end echo, det er blot for at teste selve syntaxen i find jeg bruger den harmløse echo!
  • Log ind eller opret dig for at tilføje kommentarer

# 3

16 år siden

Permalink

Indsendt af mich den 26. februar 2010 kl. 17:55

Permalink

Re: Kan find følge symlinks?

Et script som nedenstående lister alle filer.

#!/bin/bash
for f in `find -L .`
do
echo "`pwd`${f#*.}" # udskriv filnavn med sti
done
  • Log ind eller opret dig for at tilføje kommentarer

# 4

16 år siden

Permalink

Indsendt af marlar den 27. februar 2010 kl. 14:30

Permalink

Re: Kan find følge symlinks?

Tak scriptet, men det viser blot navnet på selve symlinkene, det lister ikke den destinations om symlinket peger på.

Som i det først eksempel, hvis fil1 er en almindelig fil, og fil2 et symlink der peger på /sti/til/fil3, så skal der stå følgende når man lister mappens indhold:

fil1
/sti/til/fil3

Jeg har funde frem til denne kommando som gør det ønskede:

find . -type l -print | xargs ls -ld | awk '{print $10}'
  • Log ind eller opret dig for at tilføje kommentarer

# 5

16 år siden

Permalink

Indsendt af mich den 28. februar 2010 kl. 02:22

Permalink

Re: Kan find følge symlinks?

Jeg har nok misforstået, hvad du ønsker, men når jeg prøver din kommando på en mappe med alm. filer, directories og et enkelt symlink (Fotografier -> /media/data/fotografier), så får jeg kun en linies output:
/media/data/fotografier
  • Log ind eller opret dig for at tilføje kommentarer

# 6

16 år siden

Permalink

Indsendt af marlar den 28. februar 2010 kl. 08:53

Permalink

Re: Kan find følge symlinks?

Ja, det har du ret i. Jeg endte med en version som kun koncentrerer sig om symlinkene, da det var dem jeg var interesseret i at finde og rette permissions for.

Det var til at bringe orden i /etc som jeg så grundigt havde lavet rod i.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Linux Fanpakke til LUG'er og foreninger 0
KDE Plasma 6.6 skrivebordsmiljø udgivet 0
GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0
KDE Plasma 6.6 tilføjer en funktion, som brugerne har spurgt efter i evigheder 0
Linux i København 12.01.2026: Open source i det offentlige 0

Seneste aktivitet

youtube-tui: Nyd YouTube fra terminalen som en professionel 5
Lukker og slukker 8
BigLinux 6
(U)hyggen breder sig 1
Det engang så elskede PCLinuxOS er tilbage - og det er stadig en fantastisk Windows erstatning 1
rsync og filsystem 6
Mousam er en detaljeret desktop vejrapp til Linux 1
Hjælp til Handbrake - ingen dk-undertekster 1
luckyBackup 2
GIMP 30
Pinegrow på Debian 13 ? 4
Openmediavault 1
E-mail blues 9
Driver til min scanner? 5
Printer Epson ET-2865 problem 16
Sudo 7
Thunderbird filvedligeholdelse 2
Debian 13.3.0 8
Linux Mint 22.3 - hvornår opdatere? 10
Canon-printer: Jeg savner "Ink-Toner Level"-meddelelse 10

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !