To polecenie, które można uruchomić w darmowym dostawcy hostingu OnWorks, korzystając z jednej z wielu naszych darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
pościg - pościg za linkami symbolicznymi
STRESZCZENIE
pościg [ --gadatliwy | --z pliku | -f | --zero | -0 | --loop-warn-threshold LICZBA | -w
LICZBA | --próg-błędu-pętli LICZBA | -l LICZBA | --disable-loop-detection | -D ] [filet...]
pościg -v | --wersja
pościg -h | --help
OPIS
pościg to niewielkie narzędzie, które śledzi nazwę rzeczywistego pliku, który jest naprawdę
dostęp, gdy ktoś trafi na symboliczny link. Tak jakby gonił link.
W normalnym trybie pracy podajesz pościg nazwę istniejącego pliku. Następnie program
pokaż (lub, dokładniej, wydrukuj do standardowego strumienia wyjściowego) nazwę rzeczywistego
plik, do którego odnosił się oryginalny plik. Nie ma znaczenia, czy podasz programowi
nazwa zwykłego pliku; pościg po prostu zwróci ci to samo imię. Możesz dać
użyteczność opcja --gadatliwy, aby był bardziej szczegółowy w działaniu.
może również podać programowi listę plików, z której odczyta nazwy plików do odczytania
ścigany (zobacz opcję --z-pliku).
Podam ci dobry przykład przypadku, w którym pościg jest użyteczny. W Debianie GNU/Linux
system, instalacja oprogramowania jest obsługiwana przez program dpkg(8). Istnieje sposób na zapytanie
dpkg(8), do którego pakietu należy plik. Niestety, nie rozumie to wszystkich
dowiązania symboliczne. To problem, ponieważ system Debian intensywnie używa dowiązań symbolicznych
obsługa kilku wersji programu (np. XEmacs i GNU Emacs oraz wersje 19 i
20 z obu). Teraz z pościg, można łatwo ustalić prawdziwy plik i następnie za jego pomocą
wynik jako argument do dpkg(8). Obserwuj:
ajk@ugh:~$ dpkg -S `który xemacs20`
dpkg: /usr/bin/xemacs20 nie znaleziono.
ajk@ugh:~$ dpkg -S `który xemacs20 | xargs pościg`
xemacs20-nomule: /usr/bin/xemacs-20.4-nomule
ajk@ugh:~$
Gdy podano wiele nazw plików jako argumenty, pościg będzie ścigał każdego z nich po kolei.
OPCJE
Następujące opcje są rozpoznawane przez pościg:
--gadatliwy
Porozmawiaj o tym, co się dzieje.
-f, --z-pliku
Traktuj nazwy plików w wierszu poleceń jako źródła nazw do śledzenia. Jeśli
ta opcja jest obecna, pościg odczyta każdy z plików podanych w poleceniu
wiersz (zarówno myślnik „-”, jak i brak nazw plików będą traktowane jako
standardowy strumień wejściowy). Każdy wiersz w plikach jest traktowany jako plik dosłowny
nazwa, która będzie śledzona tak, jakby została podana w wierszu poleceń podczas uruchamiania
bez tej opcji. Nie ma możliwości cytowania znaku nowej linii;
dlatego za pomocą tej opcji można określić tylko nazwy plików, które nie zawierają znaków nowej linii.
pliki. To ograniczenie jest znoszone przez opcję -0. Jednak dosłowne
przestrzenie są zachowywane i nie są interpretowane jako coś szczególnego.
-0, --null
Ta opcja implikuje opcję -f, która odczytuje nazwy plików z pliku. Opcja -0
opcja modyfikuje zachowanie -f, tak aby zamiast traktować wiersze w pliku jako
nazwy plików, nazwy plików powinny być rozdzielone znakami null. To
umożliwia określenie nazw plików zawierających znaki nowej linii za pomocą opcji -f.
-w LICZBA, --loop-warn-threshold=LICZBA
-l LCOUNT, --loop-fail-threshold=LCOUNT
Ustaw próg ostrzeżenia o możliwej pętli dowiązania symbolicznego (WCOUNT) i dla
nieudane z powodu jednego (LCOUNT). Istnieją wartości domyślne, które możesz sprawdzić
przez przywołanie pościg z argumentem --help. Używając zera jako WCOUNT lub LCOUNT
wyłącza sprawdzanie.
-D, --disable-loop-detection
Normalnie pościg przechowuje rejestr wszystkich dowiązań symbolicznych, które odwiedził podczas śledzenia
bieżący plik. Używa tego rekordu, aby niezawodnie wykrywać pętle symlink. Jednak,
sprawdzanie rekordu nieco spowalnia proces (bardziej w przypadku długich łańcuchów dowiązań symbolicznych)
a rekord wymaga niewielkiej ilości pamięci (więcej w przypadku długich łańcuchów)
symlinks), więc w niektórych przypadkach może być pożądane zablokowanie tego sprawdzania. Ta opcja
wyłącza wykrywanie pętli i powiązane z tym rejestrowanie odwiedzonych dowiązań symbolicznych.
Gdy ta opcja jest aktywna (zakładając, że w powiązanym kodzie nie ma błędów) pościg wbiega
stała przestrzeń i liniowy czas w stosunku do długości łańcuchów symbolicznych
napotkany.
-h, --pomoc
Wyświetl podsumowanie użycia i pomyślnie zakończ działanie.
-v, --wersja
Wyświetl informacje o wersji i zakończ pomyślnie.
DIAGNOSTYKA
Status wyjścia wynosi 0 wtedy i tylko wtedy, gdy wszystkie pliki podane w wierszach poleceń istnieją i żaden z nich nie jest dostępny.
są to wiszące dowiązania symboliczne.
Następujące wiadomości są emitowane przez pościg gdy podejrzewa lub wykrywa pętlę dowiązania symbolicznego:
dość dużo przeskoków przez dowiązania symboliczne, mam nadzieję, że nie ma pętli...
Oznacza to, że łańcuch dowiązań symbolicznych jest dłuższy niż określony próg. Może to
oznacza, że łańcuch jest nieskończony (i w związku z tym zawiera gdzieś pętlę).
próg można określić za pomocą opcji wiersza polecenia --loop-warn-threshold.
za dużo przeskoków między dowiązaniami symbolicznymi, poddaję się...
Oznacza to, że łańcuch dowiązań symbolicznych jest dłuższy niż dany próg. To
zwykle oznacza, że łańcuch jest nieskończony (i dlatego zawiera gdzieś pętlę).
próg można określić za pomocą opcji wiersza polecenia --loop-fail-threshold.
Jeżeli widzisz ten komunikat, oznacza to, że pościg zrezygnował z tego pliku.
wykryto pętlę dowiązania symbolicznego, poddaję się...
Łańcuch dowiązań symbolicznych zapętla się, dlatego pościg nie daje żadnych wyników. pościg
zrezygnował z tego pliku.
Dodatkowo, pościg emituje kilka komunikatów o błędach w przypadku problemów. Wszystkie
pochodzą z bibliotek systemowych, więc program nie ma kontroli nad rzeczywistym brzmieniem
wiadomości. Wszystkie mają format „nazwa programu: nazwa pliku: komunikat o błędzie”, gdzie
nazwa pliku to nazwa pliku lub katalogu, którego dotyczy problem.
Użyj Chase Online korzystając z usług onworks.net