Chcę znaleźć pliki w Linuksie, które są zgodne z pewnym wzorcem, ale nie interesują mnie dowiązania symboliczne.Jak znaleźć pliki z wyłączeniem dowiązań symbolicznych?
Dla tej opcji nie ma opcji polecenia find
.
Jak mam zrobić?
Chcę znaleźć pliki w Linuksie, które są zgodne z pewnym wzorcem, ale nie interesują mnie dowiązania symboliczne.Jak znaleźć pliki z wyłączeniem dowiązań symbolicznych?
Dla tej opcji nie ma opcji polecenia find
.
Jak mam zrobić?
Sprawdź ponownie man page;) To:
find /path/to/files -type f
type f
wyszukiwania dla zwykłych plików tylko - z wyłączeniem dowiązania symboliczne.
Czy chcesz, aby śledził dowiązania symboliczne, ale ich nie zwraca (jeśli pasują do twojego wzoru)?
find -H
?
man find
...
-H Cause the file information and file type (see stat(2)) returned for each symbolic link specified on the command line to be those of
the file referenced by the link, not the link itself. If the referenced file does not exist, the file information and type will be
for the link itself. File information of all symbolic links not on the command line is that of the link itself.
-L Cause the file information and file type (see stat(2)) returned for each symbolic link to be those of the file referenced by the
link, not the link itself. If the referenced file does not exist, the file information and type will be for the link itself.
This option is equivalent to the deprecated -follow primary.
! -type l
Na przykład, jeśli chcesz wyszukać wszystkie pliki w/usr/bin, z wyłączeniem miejsce linku:
find /usr/bin/ \! -type l
Nie -tyl l będzie szukał TYLKO dla dowiązań symbolicznych. Strona kasowa: strona – laserbeamer
Negatywny test z "!" (pling) - który powinien zostać w razie potrzeby usunięty - zwróci wszystko, co NIE jest dowiązaniem symbolicznym. – MikeW
Mam odczytanej mężczyzna i teraz wydaje się to -P również, użycie -type r spowodowałoby błąd. również zauważyć, jest zachowanie DEFAULT teraz.
-P Nigdy nie podążaj za dowiązaniami symbolicznymi. Jest to domyślne zachowanie . Kiedy find sprawdza lub drukuje plik, a plik jest dowiązaniem symbolicznym, używane informacje będą pobierane z właściwości samego dowiązania symbolicznego z poziomu .
Tak, ale OP nie chce żadnych wyników pochodzących z dowiązania symbolicznego - przypuszczam, że unikam powielania przetwarzania, ponieważ 'find' prawdopodobnie zwróci zarówno "prawdziwy" plik, jak i adresowany przez dowiązanie symboliczne do tego samego "prawdziwego" pliku. – MikeW
Działa to dla mnie:
find -H. -maxdepth 1 -type f
Właściwie, naprawdę nie trzeba -h
ha ha, tak ok, myślałem, że zwykły plik zawiera dowiązania symboliczne. Przepraszam za to. Cóż, dostaniesz punkty za łatwe pytanie :) – Barth
teraz wiesz .. :) – hek2mgl
tutaj dopasowałeś dowiązania symboliczne do zwykłych plików, musiałem użyć '-type f -xtype f' –