Alias ​​baris perintah dalam Shell Linux

Alias ​​baris perintah dalam Shell Linux

Setakat ini, dalam siri tutorial ini, kami telah membincangkan penggunaan asas serta butir-butir berkaitan cd - and pushd/popd perintah, dan juga CDPATH pembolehubah persekitaran. Dalam keempat dan terakhir ini, kami akan membincangkan konsep alias serta bagaimana anda boleh menggunakannya untuk menjadikan navigasi arahan arahan anda lebih mudah dan lebih lancar.

Seperti biasa, sebelum melompat ke bahagian tengah tutorial, ia bernilai berkongsi bahawa semua arahan serta contoh yang dibentangkan dalam artikel ini telah diuji di Ubuntu 14.04LTS. Shell baris perintah yang telah kami gunakan ialah bash (versi 4.3.11).

Barisan alias arahan di Linux

Dalam istilah orang awam, alias boleh dianggap sebagai nama pendek atau singkatan kepada perintah rumit atau kumpulan perintah, termasuk argumen atau pilihan mereka. Jadi pada asasnya, dengan alias, anda membuat mudah untuk mengingati nama untuk not-so-mudah-untuk-jenis / mengingati perintah.

Sebagai contoh, arahan berikut mencipta 'home' alias untuk perintah 'cd ~':

alias home = "cd ~"

Ini bermakna bahawa sekarang anda boleh dengan cepat menaip 'rumah' dan tekan enter setiap kali anda ingin kembali ke direktori rumah anda dari mana saja pada sistem anda.

Inilah yang dikatakan halaman arahan lelaki alias mengenai utiliti ini:

Utiliti alias harus membuat atau mentakrifkan definisi alias atau menuliskan nilai definisi alias sedia ada kepada output standard. Takrif alias menyediakan nilai rentetan yang akan menggantikan nama arahan apabila ditemui Takrif alias akan mempengaruhi persekitaran pelaksanaan shell semasa dan persekitaran pelaksanaan subkelompok shell semasa. Apabila digunakan seperti yang ditentukan oleh volum IEEE Std 1003.1-2001, definisi alias tidak akan menjejaskan proses induk shell semasa atau sebarang persekitaran utiliti yang digunakan oleh shell.

Jadi, betapa tepat alias membantu dalam navigasi baris perintah? Nah, inilah contoh mudah:

Katakan anda sedang bekerja di / home / himanshu / projects / howtoforge direktori, yang selanjutnya mengandungi banyak subdirektori, dan subdirektori. Sebagai contoh, berikut adalah satu cawangan direktori lengkap:

/ home / himanshu / projects / howtoforge / command-line / navigation / tips-tricks / part4 / final

Bayangkan sekarang, anda berada dalam direktori 'akhir', dan kemudian anda mahu kembali ke direktori 'trik tip' dan dari sana, anda perlu kembali ke direktori 'howtoforge'. Apa yang akan kamu lakukan?

Nah, biasanya, anda akan menjalankan perintah berikut:

cd ../ ..

cd ../../ ..

Walaupun pendekatan ini tidak salah, anda pasti tidak mudah, terutamanya apabila anda kembali, katakan direktori 5 dalam laluan yang sangat panjang. Jadi, apakah penyelesaiannya? Jawapannya ialah: alias.

Apa yang boleh anda lakukan ialah, anda boleh membuat mudah untuk mengingati (dan menaip) alias untuk setiap satu cd .. arahan. Sebagai contoh:

alias bk1 = "cd .."
alias bk2 = "cd ../ .."
alias bk3 = "cd ../../ .."
alias bk4 = "cd ../../../ .."
alias bk5 = "cd ../../../../ .."

Jadi sekarang setiap kali anda mahu kembali, katakan 5 tempat, dari direktori kerja semasa anda, anda hanya boleh menjalankan arahan berikut:

bk5

Tidak begitu mudah sekarang?

Maklumat berkaitan

Walaupun teknik yang kami gunakan untuk menentukan nama alias setakat ini (menggunakan arahan alias) pada prompt shell adalah silap mata, alias hanya wujud untuk sesi terminal semasa. Terdapat peluang yang baik bahawa anda mungkin mahu alias yang ditakrifkan oleh anda untuk berterusan supaya mereka boleh digunakan di mana-mana tetingkap terminal baris / tab baru yang anda lancarkan selepas itu.

Untuk ini, anda perlu menentukan alias anda di dalam ~ / .bash_aliases fail, yang dimuatkan oleh anda ~ / .bashrc fail secara lalai (sila sahkan ini jika anda menggunakan versi Ubuntu yang lebih lama).

Berikut ialah petikan dari fail .bashrc saya yang bercakap mengenai fail .bash_aliases:

# Alias ​​definisi.
# Anda mungkin mahu memasukkan semua penambahan anda ke dalam fail berasingan seperti
# ~ / .bash_aliases, bukannya menambahkannya di sini secara langsung.
# Lihat / usr / share / doc / bash-doc / contoh dalam pakej bash-doc.
jika [-f ~ / .bash_aliases]; kemudian. ~ / .bash_aliases fi

Sebaik sahaja anda telah menambah definisi alias ke fail .bash_aliases anda, alias tersebut akan tersedia di mana-mana dan setiap terminal baru. Walau bagaimanapun, anda tidak akan dapat menggunakannya di mana-mana terminal lain yang sudah terbuka apabila anda menentukan alias - jalan keluar adalah sumber .bashrc dari terminal tersebut. Berikut ialah arahan yang tepat yang perlu anda jalankan:

sumber ~ / .bashrc

Jika itu sedikit terlalu banyak kerja (ya, saya melihat anda LAZY ONES), maka inilah pintasan untuk melakukan semua ini:

"Alias ​​[the-alias]" >> ~ / .bash_aliases && source ~ / .bash_aliases

Tidak perlu dikatakan, anda perlu mengganti [the-alias] dengan arahan sebenar. Sebagai contoh:

"Alias ​​bk5 = 'cd ../../../../ ..'" >> ~ / .bash_aliases && source ~ / .bash_aliases

Bergerak, kini mengandaikan anda telah mencipta beberapa nama alias, dan telah menggunakannya dan mematikan selama beberapa bulan. Tiba-tiba, suatu hari, anda meragui bahawa salah seorang daripada mereka tidak berfungsi seperti yang diharapkan. Oleh itu, anda merasakan keperluan untuk melihat arahan yang tepat yang telah diberikan kepada alias tersebut. Apa yang akan kamu lakukan?

Sudah tentu, anda boleh membuka fail .bash_aliases anda dan lihat di sana, tetapi proses ini boleh memakan sedikit masa, terutamanya apabila fail mengandungi banyak alias. Jadi, jika anda sedang mencari jalan mudah, inilah satu: semua yang anda perlu lakukan adalah untuk menjalankannya alias perintah dengan nama alias sebagai argumen.

Berikut adalah contoh:

$ alias bk6
alias bk6 = 'cd ../../../../../ ..'

Seperti yang anda dapat lihat, arahan yang dinyatakan di atas menunjukkan arahan sebenar yang diberikan kepada alias bk6. Ada satu lagi cara: menggunakan jenis perintah. Berikut ialah contoh:

jenis $ bk6
bk6 adalah alias ke `cd ../../../../../ .. '

Jadi perintah jenis menghasilkan output yang lebih mudah difahami manusia.

Perkara lain yang bernilai di sini ialah anda boleh menggunakan alias untuk kesilapan biasa yang anda buat. Sebagai contoh:

alias mroe = 'more'

Akhirnya, ia juga bernilai menyebut bahawa tidak semua orang memihak menggunakan alias. Kebanyakan mereka berhujah bahawa sebaik sahaja anda terbiasa dengan alias yang anda tentukan untuk kemudahan anda, ia menjadi sangat sukar bagi anda untuk bekerja pada beberapa sistem lain di mana alias tersebut tidak wujud (dan anda tidak dibenarkan membuat apa-apa juga) . Untuk lebih (dan alasan yang tepat) mengapa sesetengah pakar tidak mencadangkan menggunakan alias, anda boleh mengetuai disini.

Kesimpulan

Seperti pembolehubah persekitaran CDPATH yang dibincangkan di bahagian sebelumnya, alias juga pedang bermata dua yang harus digunakan dengan sangat berhati-hati. Jangan terkecil sekalipun, kerana semuanya mempunyai kelebihan dan kelemahannya sendiri. Hanya latihan dan pengetahuan yang lengkap adalah kunci apabila anda berurusan dengan konsep seperti alias.

Jadi ini menandakan tamatnya siri tutorial ini. Harap anda menikmatinya serta mempelajari beberapa perkara/konsep baharu daripadanya.

Source