logo

Jak uzyskać pełną ścieżkę pliku w systemie Linux

Często pracujemy z plikami systemu Linux podczas tworzenia skryptów powłoki. Czasami jednak musimy znać pełną ścieżkę pliku, nad którym pracujemy, a w tym artykule dowiesz się, jak uzyskać pełną ścieżkę do pliku. Wymieniliśmy kilka metod, które pomogą Ci znaleźć lokalizację konkretnego pliku.

Ale zanim przejdziemy dalej, utwórzmy najpierw plik:



Powyższe dane wyjściowe wyraźnie pokazują, że plik.txt został pomyślnie utworzony.

Teraz przyjrzymy się metodom, które dadzą nam pełną ścieżkę do pliku. W sumie w tym artykule wymieniono 6 metod. Zawierają:

Metoda 1: Polecenie readlink

Polecenie readlink służy do drukowania kanonicznych nazw plików. Użyjemy opcji -f w połączeniu z readlink, aby wydrukować lokalizację pliku. Oto implementacja i wyniki:



Metoda 2: Polecenie realpath

Polecenie realpath wyświetla bezwzględną ścieżkę pliku. Nie będziemy tu używać żadnej opcji, w przeciwieństwie do polecenia readlink. Poniżej przedstawiono implementację i wyniki:

Metoda 3: Polecenie diname

Inną interesującą opcją jest polecenie dirname. Pobiera pełną ścieżkę pliku, usuwa nazwę pliku ze ścieżki i wyświetla resztę na ekranie. Sprawdź implementację i wyniki poniżej:

Metoda 4: Kombinacja poleceń basename i dirname

Widzieliśmy, jak używać polecenia dirname. Ale jest jeszcze jedna rzecz, którą możemy zrobić za pomocą tego polecenia. Możemy połączyć to polecenie z innym o nazwie basename. Polecenie basename działa zupełnie odwrotnie niż dirname. Bierze pełną ścieżkę pliku, usuwa wszystko, co pojawia się przed nazwą pliku, a resztę wyświetla na ekranie.



Teraz przejdziemy do demonstracji. Zanim jednak zademonstrujemy łączne użycie nazwy podstawowej i nazwy katalogu, najpierw zobaczymy, jak działa nazwa_bazowa:

Oczywiście powyższe dane wyjściowe pokazują tylko nazwę pliku.

Następnie zobaczymy, jak można używać powyższych poleceń razem. Utwórzmy skrypt powłoki o nazwie file_path.sh, który zawiera następujące elementy:

#!/bin/bash echo '$(cd '$(dirname '')' && pwd -P)/$(basename '')'>

Powyżej użyliśmy polecenia dirname, aby znaleźć lokalizację pliku, który wprowadzimy jako pierwszy argument wiersza poleceń. Następnie przeszliśmy do lokalizacji pliku i wydrukowaliśmy bieżący katalog roboczy. Poprosiliśmy o fizyczną lokalizację pliku za pomocą polecenia -P. Na koniec użyliśmy polecenia basename, aby wydrukować tylko nazwę pliku.

Jeśli wykonamy powyższy skrypt powłoki, wynikiem będzie:

Jak widać powyżej, dane wyjściowe tych dwóch poleceń są łączone w jedno, aby uzyskać pełną ścieżkę do pliku.

Metoda 5: Polecenie znalezienia

The znajdź polecenie to inny sposób uzyskania pełnej ścieżki pliku. Zobaczmy jak to działa:

Powyżej użyliśmy polecenia find z następującymi podkomendami, aby uzyskać lokalizację pliku:

drzewo binarne
  • The -wpisz f polecenie pomaga nam w poszukiwaniu plików.
  • The -nazwa polecenie pomaga nam w poszukiwaniu plików w bieżącym katalogu roboczym i jego podkatalogach.

Powyższe dane wyjściowe wyraźnie pokazują nam pełną ścieżkę pliku.

Metoda 6: Polecenie ls

Jeszcze inną metodą jest użycie polecenia ls. Jeśli jako argument zostanie przekazany katalog, wyświetli listę wszystkich plików i folderów znajdujących się w tym katalogu. Jeśli jednak wraz z poleceniem pwd zostanie przekazana nazwa pliku, polecenie pokaże nam lokalizację pliku. Zobacz co następuje:

Widzimy powyżej, że na ekranie wyświetlana jest pełna ścieżka pliku.

Wniosek :

W tym artykule omówiliśmy kilka przydatnych sposobów uzyskania pełnej ścieżki pliku. Zatem następnym razem, gdy utkniesz, użyj jednej z powyższych metod, aby natychmiast uzyskać odpowiedź.