Startpagina > Bestands- en mapbeheer > basename-u

basename-u: Bestandsnaam extraheren (basename commando)

Dit document behandelt het commando 'basename-u', maar 'basename-u' bestaat niet in de standaard Linux commando lijst. We gaan ervan uit dat de gebruiker het 'basename' commando verkeerd heeft ingevoerd, of dat het verwijst naar een niet-standaard script/alias dat in een specifieke omgeving wordt gebruikt. Daarom bieden we instructies voor het standaard 'basename' commando. 'basename' wordt gebruikt om het directory-gedeelte van een gegeven pad te verwijderen en alleen de pure bestandsnaam of directory-naam te extraheren.

Overzicht

Het 'basename' commando wordt gebruikt om het directory-gedeelte van een bestandspad te verwijderen en alleen de bestandsnaam (of de laatste directory-naam) te extraheren. Dit is erg handig bij het manipuleren van bestandspaden in shell-scripts, vooral wanneer alleen de naam van het bestand nodig is.

Belangrijkste functies

  • Extraheert de bestandsnaam uit een bestandspad
  • Verwijdert optioneel een opgegeven suffix van de bestandsnaam
  • Biedt functionaliteit voor batchverwerking van meerdere paden

Belangrijkste opties

Hier zijn de belangrijkste opties die beschikbaar zijn in het standaard 'basename' commando.

Standaard gedrag en filtering

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`basename-u` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Hier zijn enkele praktische voorbeelden van het standaard 'basename' commando.

Standaard bestandsnaam extractie

basename /home/user/documents/report.pdf

Extraheert alleen de bestandsnaam uit een gegeven pad.

Suffix verwijderen

basename /var/log/syslog.log .log

Verwijdert een specifiek suffix van de bestandsnaam.

Meerdere bestandsnamen extraheren

basename -a /etc/hosts /usr/bin/ls /tmp/test.txt

Extraheert bestandsnamen uit meerdere paden tegelijk.

Gebruik van NUL-terminatie met xargs

find . -maxdepth 1 -type f -print0 | xargs -0 basename -z

Verwerkt veilig NUL-getermineerde uitvoer met `xargs -0`.

Tips & Aandachtspunten

Uitleg over de basename-u optie

De '-u' in de commando naam is geen geldige optie voor het standaard 'basename' commando. De 'basename' commando in GNU Coreutils heeft geen '-u' optie, en het gebruik ervan kan een foutmelding zoals 'basename: invalid option -- 'u'' opleveren. Als '-u' in een specifiek script of omgeving wordt gebruikt, is het waarschijnlijk geen 'basename' commando, maar een ander door de gebruiker gedefinieerd script of alias.

Combinatie met dirname

'basename' extraheert alleen de bestandsnaam, terwijl 'dirname' alleen het directory-pad extraheert. Door deze twee commando's te combineren, kunt u een bestandspad perfect scheiden in een directory en een bestandsnaam, wat erg nuttig is bij het schrijven van shell-scripts.

  • Voorbeeld: path="/home/user/documents/report.pdf" echo "Directory: $(dirname "$path")" echo "Bestandsnaam: $(basename "$path")"

Hétzelfde categoriecommando