GNU/Linux >> Znalost Linux >  >> Linux

Získejte informace o příkazu pomocí příkazu typu v systému Linux

Příkaz type je vestavěný příkaz shellu bash, který může poskytnout typ zadaného příkazu.

Co to znamená „typ příkazu“? To znamená, že můžete získat informace, jako zda je linuxový příkaz vestavěným příkazem shellu, kde je umístěn jeho spustitelný soubor a zda je přidružen k nějakému jinému příkazu.

Může se zdát, že to není k ničemu, ale věřte, že by se to mohlo hodit při zkoumání, proč se příkaz chová určitým způsobem.

Použití příkazu type v Linuxu

Syntaxe příkazu type je jednoduchá:

type [options] name

Chcete-li začít, použijte příkaz type bez voleb u známého příkazu echo:

[email protected]:~$ type echo
echo is a shell builtin

Říká nám, že echo je vestavěný příkaz shellu. Toto je typ příkazu, který by se spustil, pokud je název echo interpretován příkazovým řádkem.

Zkusme něco jiného:

[email protected]:~$ type mkdir
mkdir is /usr/bin/mkdir

Ve výše uvedeném případě vyhledá spustitelný soubor příkazu mkdir. Toto je podobné příkazu which, ale typ je rychlejší, protože se jedná o vestavěný příkaz shellu.

Pokud jej použijete s něčím, co není příkaz, zobrazí se chyba nenalezena.

[email protected]:~$ type no_command
bash: type: no_command: not found

2. Typ příkazu s aliasem

Pravděpodobně již znáte aliasy v Linuxu. Pro rychlé zapamatování se jedná o pseudo příkazy, které fungují jako zkratky. Lze je nastavit ve vašem profilu shellu.

Podívejme se, jaký druh informačního typu příkaz najde, když jej použijete na příkaz s aliasem:

[email protected]:~$ type ll
ll is aliased to `ls -alF'

Jak můžete vidět, ukazuje skutečný příkaz za aliasem.

3. Získejte typ více příkazů

Můžete také použít typ s více příkazy a nechat si výsledky vrátit zpět k nám.

[email protected]:~$ type ls ll
ls is aliased to `ls --color=auto'
ll is aliased to `ls -alF'

Na Ubuntu a některých dalších distribucích má ls alias, aby vám ukázal barevný výstup. To vám pomůže rozlišit symbolické odkazy, pevné odkazy, adresáře, spustitelné soubory a další různé typy souborů.

4. Vynutit typ, aby vrátil cestu k příkazům

Pokud chcete najít spustitelný soubor příkazu a typ, který neustále poskytuje výstup, jako je vestavěný shell a informace o aliasu, můžete vynutit získání cesty pomocí volby -P.

[email protected]:~$ type -P ls
/usr/bin/ls

To vrátí název cesty, i když se jedná o alias, vestavěnou nebo funkci.

5. Získejte všechny informace o příkazech

Nejúplnější informace můžeme získat pomocí volby -a.

[email protected]:~$ type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls

To nám ukazuje jak informace o typu, tak každé umístění na systémové cestě se souborem.

6. Vraťte pouze typ příkazu, nikoli cestu

Zde je jiný typ, který můžete získat:

  • Alias
  • Vestavěné
  • Soubor
  • Funkce
  • Klíčové slovo

Můžete se dotázat pouze na typ s volbou -t. Zde je několik příkladů:

[email protected]:~$ type -t ls
alias
[email protected]:~$ type -t echo
builtin
[email protected]:~$ type -t sort
file
[email protected]:~$ type -t _mac_addresses 
function
[email protected]:~$ type -t if
keyword

Bonus:Proč vidíte „příkaz je hašovaný“?

Někdy, když uvidíte, že výstup podobný příkazu je hašován spolu s cestou ke spustitelnému souboru:

[email protected]:~$ type man
man is hashed (/usr/bin/man)

Aby nestrávili příliš mnoho času hledáním cesty ke spustitelnému souboru, shell často uchovává seznam programů, které našel v minulosti. Tento seznam se nazývá „hash“.

Když vidíte výstup jako „příkaz je hash“, znamená to, že příkaz type vrací výsledek z již provedených vyhledávání. Můžete použít hash -r donutit shell hledat od nuly.

Závěr

Doufám, že jste se dnes s tímto představením příkazu type v Linuxu naučili něco nového. Připadá mi podobný příkazu file, který se používá pro získávání informací o souborech.

Pokud se vám tato příručka líbí, sdílejte ji na sociálních sítích. Pokud máte nějaké připomínky nebo dotazy, zanechte je níže. Pokud máte nějaké návrhy na témata, která byste rádi viděli, klidně je také zanechte. Děkuji za přečtení.


Linux
  1. Linux Tee Command s příklady

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

  3. JQ Command v Linuxu s příklady

  1. wc Linux Command s příklady

  2. Linux řazení příkazů s příklady

  3. Jak používat příkaz typu (zobrazit informace o příkazu) v Linuxu

  1. Echo Command v Linuxu (s příklady)

  2. man Command v Linuxu s příklady

  3. Příkaz AWK v Linuxu s příklady