• 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

15 år 4 måneder 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

15 år 4 måneder 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

15 år 4 måneder 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

15 år 4 måneder 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

15 år 4 måneder 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

15 år 4 måneder 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

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
En snak om Linux-kompatibel software 7
Nulstilling af adgangskode 6
Virtuel maskine? 2
PCLinuxOS 27
"Intet realistisk alternativ" - mig i r*ven 15
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4
Linuxin er nu migreret til Drupal 11 13

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !