GNU/Linux >> Znalost Linux >  >> Ubuntu

Aliasy:Rozdíl mezi .bash_rc, .bash_aliases a /usr/local/bin?

Když jsem si hrál s Terminálem, všiml jsem si, že existuje mnoho způsobů, jak vytvořit trvalé aliasy.

Jsem v Linuxu nováček a podle toho, co vím, dělám:

  1. sudo ln -s /path/to/executable /usr/local/bin/desired_alias
  2. přidání desired_alias = '/path/to/executable' na ~/.bashrc
  3. odkomentování těchto řádků v ~/.bashrc :

    if [ -f ~/.bash_aliases ]; then
        . ~/.bash_aliases
    fi
    

    a zadáním desired_alias = '/path/to/executable' do ~/.bash_aliases

všechny mají stejný účinek.

Jaký je rozdíl mezi první a druhou metodou?

Přijatá odpověď:

První metodou nevytváříte alias, ale symbolický odkaz. Symbolické odkazy jsou zkratkou pro symbolické odkazy:

Symbolické odkazy jsou soubory, které fungují jako
ukazatele na jiné soubory. […] Symbolický odkaz
je speciální typ souboru
, jehož obsahem je řetězec, který
je cesta k jinému souboru, souboru
, na který odkaz odkazuje. Jinými
slovy, symbolický odkaz je ukazatel na
jiné jméno, nikoli na podkladový
objekt.

Přečtěte si více o symbolických odkazech zde a zde.

Pouze pomocí druhé metody ve skutečnosti vytváříte alias.

Aliasy umožňují
nahradit slovo řetězcem, když je použit
jako první slovo jednoduchého příkazu.
Shell udržuje seznam aliasů
, které lze nastavit a zrušte nastavení pomocí
vestavěných příkazů alias a unalias
(viz PŘÍKAZY SHELL BUILTIN níže).
První slovo každého jednoduchého
příkazu, pokud není v uvozovkách, je zaškrtnuto na
podívejte se, zda má alias. Pokud ano, bude toto
slovo nahrazeno textem aliasu
.

Alias ​​můžete definovat kdekoli, kde můžete zadat příkaz a mít shell (bash v tomto případě) jej interpretujte, ale aby byl alias dostupný v jiných shellech, musí být definován v souboru, který je interpretován shellem při spuštění (spuštění prostředí, nikoli spuštění počítače).

Pro bash jsou to /etc/bash.bashrc (v celém systému) a ~/.bashrc . Tyto soubory jsou interpretovány, když se shell spustí v interaktivním režimu (jako když používáte Terminal ). Nebudu se zmiňovat o souborech profilu, protože slouží jinému účelu.

Takže chcete přidat své aliasy do ~/.bashrc aby byly dostupné v každém interaktivním prostředí.

.bash_aliases metoda dosahuje přesně totéž jako vložení aliasů do ~/.bashrc ale má tu výhodu, že je snáze analyzovat a manipulovat programy.

Související:KDE 5.56 SDDM Rozlišení přihlašovací obrazovky na obrazovce HiDPI FHD?

. ~/.bash_aliases znamená zdroj (načíst) _~/.bash_aliases_ v kontextu aktuálně spuštěného shellu.


Ubuntu
  1. /usr/bin Vs /usr/local/bin Na Linuxu?

  2. Podivný rozdíl mezi Pwd a /bin/pwd?

  3. Rozdíl mezi /opt a /usr/local?

  1. Rozdíl mezi /var/log/messages, /var/log/syslog a /var/log/kern.log?

  2. Proč /bin/sh ukazuje na /bin/dash a ne /bin/bash?

  3. cmake --version ukazuje na /usr/bin/cmake, zatímco který cmake ukazuje na /usr/local/bin

  1. Rozdíl mezi /bin/false &/sbin/nologin

  2. Kdy musím použít #!/bin/bash a kdy #!/bin/sh?

  3. Jaký je rozdíl mezi /tmp a /run?