Miałeś tutaj dwa pytania. Ta strona działa lepiej, gdy jest tylko jedno pytanie na pytanie. W ten sposób innym osobom łatwiej jest znaleźć rozwiązanie, jeśli mają ten sam problem. Zredagowałem twoje drugie pytanie, ale zadaj je osobno.
nohillside
1
W odpowiedzi na drugie (usunięte) pytanie SymbolHound to wyszukiwarka, która nie ignoruje znaków specjalnych. Ponadto terminal OS X jest środowiskiem podobnym do Uniksa, co oznacza, że często można znaleźć odpowiedzi za pomocą wyszukiwanych terminów, takich jak „ kropka slash linux ”.
deizel
A jakie jest znaczenie słowa „otwarty”? Czy to jest jak „otwórz bieżący folder”?
Vitya Shurapov
Odpowiedzi:
18
./ jest częścią ścieżki do katalogu / pliku.
Jeśli jest używany jako część parametru polecenia
rm image.pngi rm ./image.pngsą dokładnie takie same i identyfikują plik w bieżącym katalogu
rm *./image.pngjest wzorcem, który szuka plików o nazwach image.pngwe wszystkich podkatalogach bieżącego katalogu, które kończą się kropką
Kluczowym zastosowaniem ./zwykle jest wywołanie skryptu / pliku wykonywalnego w bieżącym katalogu. Kiedy wykonujesz polecenie bez określania jego katalogu (np. cpZamiast /bin/cp), powłoka szuka tego we wszystkich katalogach wymienionych w $PATHzmiennej. Bieżący katalog zwykle nie jest częścią tej zmiennej (ze względów bezpieczeństwa), więc możesz użyć polecenia, ./command-nameaby powłoka szukała polecenia w bieżącym katalogu.
+1 - Dodatkowo, jeśli jeden typ ls -a, zobaczy wpisy dla .i ... Prawdopodobnie już wiadomo, że ..jest to katalog nadrzędny, więc oczywiście .jest to katalog bieżący. Jednak takie rzeczy nie mają specjalnego znaczenia, jeśli są używane w środku łańcucha, a nie od samego początku, podobnie rm *./image.pngjak czerwony śledź w tym pytaniu (to po prostu glob pasujący do rzeczy takich jak directorywithadot./image.png.)
deizel
-3
Wyrażenie w ścieżce pliku (./) oznacza „przenieś w górę” (z bieżącej lokalizacji), tj. „This” = ”. i / = „w górę”, więc ../ oznacza „przenieś w górę 2 katalogi” lub przejdź do elementu nadrzędnego tego (./), tj. weź bieżącą lokalizację i przejdź w górę do „/” nowej lokalizacji.
Odpowiedzi:
./
jest częścią ścieżki do katalogu / pliku.Jeśli jest używany jako część parametru polecenia
rm image.png
irm ./image.png
są dokładnie takie same i identyfikują plik w bieżącym katalogurm *./image.png
jest wzorcem, który szuka plików o nazwachimage.png
we wszystkich podkatalogach bieżącego katalogu, które kończą się kropkąKluczowym zastosowaniem
./
zwykle jest wywołanie skryptu / pliku wykonywalnego w bieżącym katalogu. Kiedy wykonujesz polecenie bez określania jego katalogu (np.cp
Zamiast/bin/cp
), powłoka szuka tego we wszystkich katalogach wymienionych w$PATH
zmiennej. Bieżący katalog zwykle nie jest częścią tej zmiennej (ze względów bezpieczeństwa), więc możesz użyć polecenia,./command-name
aby powłoka szukała polecenia w bieżącym katalogu.źródło
ls -a
, zobaczy wpisy dla.
i..
. Prawdopodobnie już wiadomo, że..
jest to katalog nadrzędny, więc oczywiście.
jest to katalog bieżący. Jednak takie rzeczy nie mają specjalnego znaczenia, jeśli są używane w środku łańcucha, a nie od samego początku, podobnierm *./image.png
jak czerwony śledź w tym pytaniu (to po prostu glob pasujący do rzeczy takich jakdirectorywithadot./image.png
.)Wyrażenie w ścieżce pliku (./) oznacza „przenieś w górę” (z bieżącej lokalizacji), tj. „This” = ”. i / = „w górę”, więc ../ oznacza „przenieś w górę 2 katalogi” lub przejdź do elementu nadrzędnego tego (./), tj. weź bieżącą lokalizację i przejdź w górę do „/” nowej lokalizacji.
źródło