GNU/Linux >> Znalost Linux >  >> Linux

Výukový program příkazů se základním názvem Linuxu pro začátečníky (s příklady)

Někdy vás při práci na příkazovém řádku (zejména při práci se skripty shellu) může zajímat pouze název souboru, ale máte k dispozici úplnou cestu k souboru. Požadavkem je tedy odstranit složku adresáře z cesty. Budete rádi, že existuje příkaz - basename - to dělá tuto práci.

V tomto tutoriálu budeme diskutovat o základech 'basename' pomocí několika snadno pochopitelných příkladů. Ale než se k tomu vrhneme, stojí za zmínku, že všechny příklady zde byly testovány na počítači Ubuntu 16.04 LTS.

Příkaz základního názvu Linuxu

Příkaz basename umožňuje odstranit komponenty z názvů souborů, které nejsou povinné. Následuje syntaxe nástroje:

basename NAME [SUFFIX]
basename OPTION... NAME...

A zde je to, co o tom říká manuálová stránka:

basename - strip directory and suffix from filenames

Print NAME with any leading directory components removed. If specified, also remove a trailing
SUFFIX.

Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout dobrou představu o tom, jak příkaz basename funguje.

O1. Jak funguje příkaz basename?

Ve výchozím nastavení, pokud spustíte příkaz 'basename' s úplnou cestou k souboru jako vstup, příkaz vrátí název souboru na výstupu. Například, když jsem provedl následující příkaz:

basename /home/himanshu/Downloads/analytics.pdf

Mám následující výstup:

analytics.pdf

Q2. Může základní jméno zpracovat více vstupů?

Ano, může. Ale aby k tomu došlo, musíte použít volbu -a příkazového řádku. Například, když jsem provedl následující příkaz:

basename -a /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

A tady je výstup, který jsem dostal:

analytics.pdf
test.png

Q3. Jak také vytvořit příponu souboru stripu basename?

Někdy můžete chtít načíst pouze název souboru, ale ne jeho příponu. To lze provést pomocí volby příkazového řádku -s (která vyžaduje, abyste předali příponu jako vstup).

Například následující příkaz:

basename -s .pdf /home/himanshu/Downloads/analytics.pdf

vytvořil tento výstup:

analytics

Q4. Jak zajistit, aby každý výstup řádku končil hodnotou NUL?

Ve výchozím nastavení se jako oddělovač ve výstupu používá znak nového řádku. Pokud však chcete, můžete přinutit basename, aby jako oddělovač použil NUL. To lze provést pomocí volby příkazového řádku -z.

Například:

basename -az /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

A tady je výstup:

analytics.pdftest.png

Takže tu nevidíte znak NUL. K tomu musíte přesměrovat výstup do souboru a poté soubor otevřít v editoru, jako je vim. Zde je to, co vim ukázal:

Závěr

Jak můžete vidět, basename není příliš bohatý na funkce - možnosti, které poskytuje, jsou omezené a většina z nich byla probrána zde v tomto tutoriálu. Až budete s jejich procvičováním hotovi, přejděte na manuálovou stránku nástroje, kde se o něm dozvíte více.


Linux
  1. Výukový program příkazů Linux factor pro začátečníky (s příklady)

  2. Linux ano Příkazový kurz pro začátečníky (s příklady)

  3. Linux nproc Command Tutorial pro začátečníky (s příklady)

  1. Rozšíření Linuxu Command Tutorial pro začátečníky (s příklady)

  2. Výukový program pro Linux tac Command pro začátečníky (s příklady)

  3. Uživatelé Linuxu Výukový program příkazů pro začátečníky (s příklady)

  1. Výukový program příkazů Linux expr pro začátečníky (s příklady)

  2. Výukový program příkazu Linux sum pro začátečníky (s příklady)

  3. Výukový program příkazu spánku pro Linux pro začátečníky (s příklady)