GNU/Linux >> Belajar Linux >  >> Ubuntu

Alias ​​​​:Perbedaan Antara .bash_rc, .bash_aliases Dan /usr/local/bin?

Bermain-main dengan Terminal, saya perhatikan bahwa ada banyak cara untuk membuat permanen alias.

Saya seorang pemula Linux, dan dari apa yang saya tahu, lakukan:

  1. sudo ln -s /path/to/executable /usr/local/bin/desired_alias
  2. menambahkan desired_alias = '/path/to/executable' ke ~/.bashrc
  3. batalkan komentar pada baris tersebut di ~/.bashrc :

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

    dan letakkan desired_alias = '/path/to/executable' ke dalam ~/.bash_aliases

semua memiliki efek yang sama.

Apa perbedaan antara metode pertama dan kedua?

Jawaban yang Diterima:

Dengan metode pertama Anda tidak membuat alias, Anda membuat symlink. Symlink adalah kependekan dari tautan simbolik:

Tautan simbolik adalah file yang bertindak sebagai
pointer ke file lain. […] Tautan simbolik
adalah tipe khusus dari
file yang isinya berupa string yang
adalah nama path file lain, file
yang dirujuk oleh tautan tersebut. Dengan kata lain
, tautan simbolik adalah penunjuk ke
nama lain, dan bukan ke objek
yang mendasarinya.

Baca lebih lanjut tentang symlink di sini dan di sini.

Hanya dengan metode kedua Anda sebenarnya membuat alias.

Alias ​​​​memungkinkan string untuk
menggantikan kata ketika digunakan
sebagai kata pertama dari perintah sederhana.
Shell menyimpan daftar alias
yang dapat disetel dan tidak disetel dengan
alias dan perintah bawaan unalias
(lihat SHELL BUILTIN COMMANDS di bawah).
Kata pertama dari setiap perintah
sederhana, jika tidak dikutip, dicentang ke
lihat apakah ada alias. Jika ya, kata
tersebut diganti dengan teks dari
alias.

Anda dapat menentukan alias di mana pun Anda dapat mengetik perintah dan memiliki shell (bash dalam hal ini) menafsirkannya, namun agar alias tersedia di shell lain, itu perlu didefinisikan dalam file yang ditafsirkan oleh shell saat startup (shell startup, bukan startup komputer).

Untuk bash ini adalah /etc/bash.bashrc (seluruh sistem) dan ~/.bashrc . File-file ini ditafsirkan ketika shell dimulai dalam mode interaktif (seperti saat menggunakan Terminal ). Saya tidak akan menyebutkan file profil karena memiliki tujuan yang berbeda.

Jadi, Anda ingin menambahkan alias Anda ke ~/.bashrc untuk membuatnya tersedia di setiap shell interaktif.

.bash_aliases metode menyelesaikan tepat hal yang sama seperti meletakkan alias di ~/.bashrc tetapi memiliki manfaat tambahan karena lebih mudah diuraikan dan dimanipulasi oleh program.

Terkait:Resolusi layar masuk KDE 5.56 SDDM pada layar HiDPI FHD?

. ~/.bash_aliases berarti sumber (memuat) _~/.bash_aliases_ dalam konteks shell yang sedang berjalan.


Ubuntu
  1. Perbedaan Antara /var/log/messages, /var/log/syslog, Dan /var/log/kern.log?

  2. Mengapa /bin/sh Menunjuk Ke /bin/dash Dan Bukan /bin/bash??

  3. Ubah direktori dan jalankan file dalam satu perintah

  1. Apa perbedaan antara #!/usr/bin/env bash dan #!/usr/bin/bash?

  2. cmake --version menunjuk ke /usr/bin/cmake sementara cmake menunjuk ke /usr/local/bin

  3. Perbedaan antara /bin dan /usr/bin

  1. Perbedaan antara /bin/false &/sbin/nologin

  2. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  3. Memindahkan /bin konten ke /usr/bin, mungkin untuk membatalkan?