logo

Hvordan få den fullstendige banen til en fil i Linux

Vi jobber ofte med Linux-filer mens vi lager shell-skript. Men noen ganger trenger vi å vite hele banen til en fil vi jobber med, og denne artikkelen vil fortelle deg hvordan du kan få hele banen til en fil. Vi har listet opp noen metoder som vil hjelpe deg å finne plasseringen til en bestemt fil.

Men før vi går videre, la oss først lage en fil:



java bryterdeksel

Utdataene ovenfor viser tydelig at file.txt har blitt opprettet.

Nå skal vi ta en titt på metodene som vil gi oss hele banen til en fil. Totalt er det 6 metoder oppført i denne artikkelen. De inkluderer:

Metode 1: Readlink-kommandoen

Readlink-kommandoen brukes til å skrive ut kanoniske filnavn. Vi vil bruke -f-alternativet i kombinasjon med readlink for å skrive ut plasseringen til filen. Her er implementeringen og utgangen:



Metode 2: Realpath-kommandoen

Realpath-kommandoen viser en fils absolutte bane. Vi vil ikke bruke noe alternativ her, i motsetning til readlink-kommandoen. Implementeringen og produksjonen er gitt nedenfor:

Metode 3: Dirnavnet Kommando

Et annet interessant alternativ er kommandoen dirname . Den tar hele banen til en fil, fjerner filnavnet fra banen og viser resten på skjermen. Sjekk ut implementeringen og utgangen nedenfor:

Metode 4: Kombinasjonen av basename og dirname kommandoer

Vi har sett hvordan du bruker kommandoen dirname. Men det er en annen ting vi kan gjøre med denne kommandoen. Vi kan kombinere denne kommandoen med en annen som heter basename. Basename-kommandoen gjør det motsatte av dirname. Den tar hele banen til en fil, fjerner det som vises før filnavnet, og viser resten på skjermen.



Nå går vi videre til demonstrasjonen. Men før vi demonstrerer den kombinerte bruken av basename og dirname, vil vi først se hvordan basename fungerer:

Tydeligvis viser utdataene ovenfor bare filnavnet.

Deretter vil vi se hvordan kommandoene ovenfor kan brukes sammen. La oss lage et skallskript kalt file_path.sh, som inneholder følgende:

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

Ovenfor har vi brukt dirname-kommandoen for å finne plasseringen til filen, som vi vil legge inn som det første kommandolinjeargumentet. Deretter navigerte vi til filplasseringen og skrev ut gjeldende arbeidskatalog. Vi ba om den fysiske plasseringen av filen ved å bruke -P-kommandoen. Til slutt har vi brukt kommandoen basename for å skrive ut bare filnavnet.

Hvis vi kjører skallskriptet ovenfor, vil utdataene være:

Vi kan se ovenfor at utgangene til disse to kommandoene er sammenkoblet til én for å få hele banen til filen.

Metode 5: Finn-kommandoen

De finne kommando er en annen måte å få hele banen til en fil. La oss se hvordan det fungerer:

Ovenfor har vi brukt find-kommandoen med følgende underkommandoer for å få filplasseringen:

  • De -type f kommandoen hjelper oss ved å se etter filer.
  • De -Navn kommandoen hjelper oss ved å se etter filene i den gjeldende arbeidskatalogen og dens underkataloger.

Ovennevnte utdata viser oss tydelig hele banen til filen.

jpa om våren

Metode 6: ls-kommandoen

Enda en metode er å bruke ls-kommandoen. Hvis en katalog sendes som et argument, viser den alle filene og mappene som er plassert i den katalogen. Men hvis et filnavn sendes sammen med pwd-kommandoen, viser kommandoen oss filplasseringen. Se følgende:

Vi kan se ovenfor at hele banen til filen vises på skjermen.

Konklusjon :

I denne artikkelen har vi diskutert noen nyttige måter å få hele banen til en fil. Så neste gang du står fast, bruk en av metodene ovenfor for å få svaret umiddelbart.