Vi arbetar ofta med Linux-filer medan vi skapar skalskript. Men ibland behöver vi veta den fullständiga sökvägen till en fil som vi arbetar med och den här artikeln låter dig veta hur du kan få den fullständiga sökvägen till en fil. Vi har listat några metoder som hjälper dig att hitta platsen för en viss fil.
Men innan vi går vidare, låt oss först skapa en fil:
Ovanstående utdata visar tydligt att file.txt har skapats framgångsrikt.
Nu ska vi ta en titt på metoderna som ger oss hela sökvägen till en fil. Totalt finns det 6 metoder som anges i den här artikeln. De inkluderar:
gimp ersätter färg
Metod 1: kommandot readlink
Readlink-kommandot används för att skriva ut kanoniska filnamn. Vi kommer att använda alternativet -f i kombination med readlink för att skriva ut platsen för filen. Här är implementeringen och resultatet:
Metod 2: Realpath-kommandot
Realpath-kommandot visar en fils absoluta sökväg. Vi kommer inte att använda något alternativ här, till skillnad från kommandot readlink. Implementeringen och resultatet ges nedan:
konvertera sträng till char
Metod 3: Dirname Command
Ett annat intressant alternativ är kommandot dirname . Den tar hela sökvägen till en fil, tar bort filnamnet från sökvägen och visar resten på skärmen. Kolla in implementeringen och resultatet nedan:
Metod 4: Kombinationen av kommandon basename och dirname
Vi har sett hur man använder kommandot dirname. Men det finns en annan sak vi kan göra med det här kommandot. Vi kan kombinera detta kommando med ett annat som heter basename. Kommandot basename gör raka motsatsen till dirname. Den tar hela sökvägen till en fil, tar bort allt som visas före filnamnet och visar resten på skärmen.
Nu går vi vidare till demonstrationen. Men innan vi demonstrerar den kombinerade användningen av basnamn och dirname, kommer vi först att se hur basnamn fungerar:
Uppenbarligen visar ovanstående utdata bara filnamnet.
Därefter kommer vi att se hur ovanstående kommandon kan användas tillsammans. Låt oss skapa ett skalskript som heter file_path.sh, som innehåller följande:
#!/bin/bash echo '$(cd '$(dirname '')' && pwd -P)/$(basename '')'>
Ovan har vi använt dirname-kommandot för att hitta platsen för filen, som vi kommer att mata in som det första kommandoradsargumentet. Sedan navigerade vi till filplatsen och skrev ut den aktuella arbetskatalogen. Vi begärde den fysiska platsen för filen genom att använda kommandot -P. Slutligen har vi använt kommandot basename för att bara skriva ut filnamnet.
Om vi exekverar skalskriptet ovan blir utdata:
Vi kan se ovan att utdata från dessa två kommandon är sammanlänkade till ett för att få hela sökvägen till filen.
Metod 5: Hitta kommandot
De hitta kommando är ett annat sätt att få hela sökvägen till en fil. Låt oss se hur det fungerar:
hashbar java
Ovan har vi använt kommandot find med följande underkommandon för att få filplatsen:
- De -typ f kommandot hjälper oss genom att leta efter filer.
- De -namn kommandot hjälper oss genom att leta efter filerna i den aktuella arbetskatalogen och dess underkataloger.
Ovanstående utdata visar tydligt hela sökvägen till filen.
Metod 6: ls-kommandot
Ytterligare en annan metod är att använda kommandot ls. Om en katalog skickas som ett argument, listar den alla filer och mappar som finns i den katalogen. Men om ett filnamn skickas tillsammans med kommandot pwd, visar kommandot oss filens plats. Se följande:
Vi kan se ovan att hela sökvägen till filen visas på skärmen.
hashing i datastruktur
Slutsats :
I den här artikeln har vi diskuterat några användbara sätt att få hela sökvägen till en fil. Så nästa gång du fastnar, använd någon av ovanstående metoder för att få ditt svar direkt.