Bagaimana Cara Membuat Alias ​​dan Fungsi Shell di Linux?

Mengetahui prompt perintah & skrip shell masih diperlukan jika Anda ingin mendapatkan hasil maksimal dari sistem GNU / Linux & semakin seseorang beroperasi pada baris perintah, semakin banyak orang akan menemukan bahwa sebagian besar perintah yang digunakan sangat bagian kecil dari perintah yang tersedia. Sebagian besar tugas bersifat kebiasaan & pengguna Anda dapat menjalankannya dengan cara yang sama setiap hari.

Sementara pembuat banyak utilitas perintah yang paling umum telah berusaha untuk menghilangkan pengetikan asing dengan menggunakan nama yang dipersingkat mis. alih-alih daftar, kami mengetik "ls"& Alih-alih direktori perubahan, kami mengetik"CD". Selain itu, banyak pengguna Linux sering kali perlu menggunakan satu perintah berulang kali. Mengetik / menyalin perintah yang sama lagi & lagi akan mengurangi produktivitas & mengalihkan perhatian pengguna dari pekerjaan yang sebenarnya.

Akan lebih bagus jika kita menghabiskan lebih sedikit waktu untuk mengetik perintah yang panjang itu. Kami memiliki Dua cara ampuh untuk meminimalkan waktu Anda pada baris perintah tersebut alias shell dan fungsi, dengan menggunakan keduanya, pengguna dapat menjinakkan tugas yang berulang, mempersingkat proses yang panjang, & mengonfigurasi perintah yang disesuaikan dengan opsi yang selalu digunakan pengguna & berjuang untuk mengingatnya.

Anda dapat menentukan perintah yang sesuai dengan kebutuhan spesifik Anda, dan untuk meringankan beban tugas yang berulang.

Alias ​​dan skrip shell yaitu fungsi melakukan jenis pekerjaan yang sama. Mereka memungkinkan Anda untuk menentukan — dan memberi nama — sekumpulan fungsionalitas shell Bash yang kemudian dapat dipanggil dengan nama yang Anda berikan padanya. Mengetik nama lebih mudah dan lebih nyaman daripada harus mengetik semua langkah atau perintah setiap kali Anda ingin menggunakannya.

Perbedaan antara alias dan fungsi terletak pada kompleksitas & skala. Skrip lebih baik dalam menahan potongan kode yang lebih panjang dan lebih rumit. Alias ​​sempurna untuk menampung rangkaian perintah yang lebih pendek dan lebih ringkas.

Alias ​​Shell

Alias ​​shell adalah pintasan khusus untuk mereferensikan perintah atau sekumpulan perintah yang dijalankan dengan atau tanpa opsi khusus. Alias ​​ini adalah nama alternatif yang mudah diingat untuk perintah panjang yang perlu sering Anda jalankan. Saat Anda mengetik di baris perintah, shell pertama-tama mencari apa yang Anda tulis di daftar aliasnya. Jika kecocokan ditemukan, itu akan diganti dengan alias dengan teks yang sesuai; setelah menyelesaikan itu, itu akan kembali melihat seluruh baris perintah yang dihasilkan & mengeksekusinya.

Kemungkinan Anda mungkin sudah pernah menggunakan alias di sistem Linux karena sebagian besar distribusi Linux menambahkan setidaknya beberapa alias populer secara default di ".bashrc ” file akun pengguna.

Di luar alias: Fungsi shell

Blok kode yang mirip tetapi tidak identik tidak dapat diganti dengan Alias. Mereka tidak dapat menangani kesalahan atau mengembalikan kode keluar khusus, melakukan kontrol aliran, atau menggunakan variabel. Jika Anda perlu melakukan salah satu dari ini, sekarang saatnya menggunakan fungsi shell.

Fungsi shell adalah blok kode yang disusun sebagai sub-skrip lengkap, ditulis sekali dan dipanggil dari skrip apa pun yang membutuhkannya.

Sintaks alias:

Membuat alias di bash sangatlah mudah. Sintaksnya adalah sebagai berikut:

alias alias_name = ”command_to_run”

Untuk membuat alias bash baru di sesi saat ini

  1. Ketik "alias
  2. Kemudian nyatakan nama alias
  3. Diikuti dengan tanda sama dengan
  4. Dan perintah yang akan dijalankan saat alias dipanggil.

Perintah harus diapit tanda kutip & tanpa spasi di sekitar tanda sama dengan. Spasi di sini akan merusak perintah. Setiap alias harus dideklarasikan di baris baru.

Mari kita perjelas dengan contoh. Di baris perintah Linux, salah satu perintah yang paling sering digunakan adalah "ls". Sebagian besar perintah "ls" digunakan dengan "laSwitch yang akan menampilkan semua file & direktori dengan file tersembunyi dalam format daftar panjang. Sekarang kita akan membuat alias bash sederhana "ll"Yang akan menjadi jalan pintas kels -la perintah.

  1. Buka sebuah jendela terminal
  2. Tipe:
    alias ll = "ls -la"

    & tekan memasukkan

  3. Sekarang di konsol ketik "aku"Dan tekan memasukkan
  4. Outputnya akan sama dengan mengetik ls -la.

Alias ​​"ll" yang ditentukan di atas hanya akan tersedia di sesi shell saat ini. Jika Anda menutup sesi atau jendela sesi baru yang dimulai dari terminal lain, alias "ll" yang didefinisikan di atas tidak akan tersedia.

Nanti akan kita bahas bagaimana membuat alias persistent. Contoh di sini adalah untuk shell bash, tetapi semua konsep dan sebagian besar kode juga valid untuk shell lain.

Alias ​​yang Ditetapkan Sebelumnya

Beberapa alias telah ditentukan sebelumnya untuk Anda. Untuk mengetahui daftar semua alias yang didefinisikan dalam sistem, kita akan menggunakan perintah “alias” tanpa parameter apa pun:

alias

Ini adalah alias di mesin uji Ubuntu tempat artikel ini diteliti. Selain itu, alias yang ditentukan khusus, akan muncul di daftar ini juga.

Ada banyak alias berbeda untuk perintah ls, dan ada sekelompok alias yang memberikan keluaran warna ke keluarga perintah grep, mis. dengan alias yang ditentukan seperti di atas, setiap kali Anda mengetik:

grep

Ini akan diartikan sebagai:

grep --warna = otomatis

Ini menunjukkan poin penting dengan alias. Mereka dapat memiliki nama yang sama dengan perintah yang ada. Mereka bahkan dapat berisi perintah asli di dalam dirinya sendiri.

Berikut definisi alias grep.

alias grep = 'grep --color = auto'
  1. Perintah alias digunakan untuk mendefinisikan alias.
  2. Nama alias diberikan berikutnya. Dalam contoh ini, ini adalah "grep".
  3. Tanda sama dengan menghubungkan nama alias ketubuh dari alias. Untuk semua kecuali alias yang sangat sederhana, isi alias diapit dalam tanda kutip tunggal '.
  4. Badan alias adalah bagian yang dijalankan saat alias digunakan pada baris perintah.
  5. Badan alias ini hanya memanggil perintah grep dengan opsi –color = auto.

Alias ​​Siaga

Di bagian atas daftar, ada alias yang tampak rumit bernamawaspada. Sebagai tambahan cepat, dan agar Anda tahu apa fungsinya, alias peringatan digunakan untuk memberi tahu Anda ketika sebuah perintah telah selesai. Ini juga menunjukkan apakah perintah berhasil diselesaikan atau tidak. Ini memberikan peringatan sistem grafis di bagian atas layar.

Berikut contoh sederhananya. Perintah tidur akan tidur selama lima detik., Alias ​​peringatan kemudian akan dipanggil. Alias ​​memeriksa respons dari perintah sebelumnya. Ini mengekstrak perintah terakhir dari file sejarah. Ini menentukan apakah perintah berhasil diselesaikan atau tidak. Ini kemudian menyajikan hasil dalam peringatan sistem.

Jika perintah diselesaikan seperti yang diharapkan, ikon di peringatan sistem adalah jendela terminal kecil. Jika perintah mengembalikan kode kesalahan, ikon di peringatan sistem adalah ikon kesalahan merah.

tidur 5; waspada

Setelah lima detik, kami melihat peringatan sistem ini:

Ikonnya adalah jendela terminal kecil, yang berarti semuanya berjalan dengan baik. Mari kita coba lagi dengan perintah yang kita tahu akan gagal:

DoomedToFail; waspada

Peringatan sistem kami sekarang memiliki ikon kesalahan.

Mendefinisikan Alias ​​Trivial

Seperti yang telah kita lihat, untuk mendefinisikan sebuah alias, kita menggunakan perintah alias.

Kami akan membuat nama samaran untuk perintah yang jelas. Alias ​​kami akan disebut cls dan itu akan memanggil perintah yang jelas.

Definisi alias kami sangat sepele sehingga tidak perlu dibungkus dengan tanda kutip tunggal. Jika badan alias lebih kompleks dari ini, atau jika berisi spasi, bungkus dalam tanda kutip tunggal. Kami akan mendefinisikan alias, menggunakan ls untuk meletakkan beberapa keluaran di jendela terminal dan kemudian menggunakan alias baru kami cls untuk membersihkan layar.

alias cls = hapus ls -l cls

Layarnya bersih. Sukses, meski berumur pendek. Alias ​​tersebut hanya akan bertahan selama jendela terminal ini tetap terbuka. Setelah jendela ditutup, alias akan hilang.

Untuk membuat Alias ​​permanen dengan menggunakan File ".bashrc"

Anda mungkin bertanya-tanya di mana alias yang sudah dikemas sebelumnya didefinisikan. itu ada di file ".bashrc" di folder rumah Anda. File ini dibaca, dan perintah di dalamnya dijalankan setiap kali Anda memulai shell interaktif. Saat itulah Anda membuka jendela terminal.

Ketik perintah berikut di folder rumah Anda untuk melihat konten file ".bashrc" dengan penyorotan sintaks.

gedit .bashrc

Ini akan meluncurkangediteditor dengan file ".bashrc" dimuat ke dalamnya.

Area yang disorot menunjukkan dua area di mana alias ditentukan.

Menggulir dokumen akan mengungkapkan dua bagian lain yang terkait dengan alias:

Yang pertama adalah definisi alias waspada. Yang kedua adalah pernyataan if. Ini diterjemahkan menjadi, "jika file".bash_aliases"Ada, baca di."

Jika Anda hanya memiliki beberapa alias yang ingin Anda tentukan, Anda dapat meletakkannya di file ".bashrc". Selipkan di bawah bagian yang berisi alias ls.

Jika Anda akan membuat banyak alias, atau Anda hanya menyukai gagasan agar alias Anda dienkapsulasi di dalam file sendiri, Anda dapat mendefinisikannya di file “.bash_aliases” Anda. Salah satu keuntungan dari membuatnya di file ".bash_aliases" adalah Anda tidak dapat secara tidak sengaja mengubah setelan apa pun di file ".bashrc". Keuntungan lainnya adalah alias Anda mudah disalin ke sistem baru karena dipisahkan dari file ".bashrc".

Alias ​​harus diberi nama dengan cara yang mudah diingat. Juga disarankan untuk menambahkan komentar untuk referensi di masa mendatang.

Menyimpan Alias ​​di File .bash_aliases

File ".bash_aliases" tidak ada secara default, Anda harus membuatnya. Anda dapat membuat file dengan perintah ini:

sentuh .bash_aliases

Mari edit file dan tambahkan beberapa alias ke dalamnya. Perintah ini akan membuka file ".bash_aliases" di editor gedit.

gedit .bash_aliases

Kami telah menambahkan tiga alias. Yang pertama adalah milik kitaclsalias yang kami gunakan sebelumnya. Berikutnya disebuth. dan merupakan cara singkat untuk memanggil perintah sejarah.

Alias ​​ketiga disebutftc. Ini adalah singkatan dari "jumlah jenis file".

Alias ​​ini lebih terlibat, sehingga dibungkus dengan tanda kutip tunggal. Ini menggunakan rantai perintah yang dihubungkan bersama oleh pipa. Ini menghasilkan daftar yang diurutkan dari ekstensi file dan nama direktori yang berbeda, dengan hitungan untuk setiap entri daftar.

Ketika kita telah menyimpan file “.bash_aliases”, kita mungkin berharap alias kita hidup dan dapat diakses. Bukan itu masalahnya. File harus dibaca oleh shell Bash sebelum definisi alias dijalankan. Ini dilakukan setiap kali shell interaktif dibuka.

Kami juga dapat menggunakan Bash shell built-in. untuk membaca dan menjalankan perintah dalam sebuah file. Karena file ".bash_alias" kita dibaca saat ".bashrc" diproses, kita harus melakukan pengujian dengan memanggil ".bashrc". Dengan begitu kita dapat memeriksa apakah file “.bash_alias” dipanggil dari “.bashrc” dan bahwa alias kita hidup dan sehat.

Perintah yang kami gunakan adalah:

gedit .bash_aliases

Untuk mengedit file ".bash_aliases".

. .bashrc

Ini akan membaca dan menjalankan perintah dalam ".bashrc", yang akan memanggil ".bash_aliases".

ftc

Ini akan memanggil alias ftc.

Alias ​​kami merespon yang berarti Bash telah membaca “.bashrc” dan “.bash_aliases”, dan alias baru kami sekarang sudah aktif.

Sekarang Anda dapat melanjutkan dan menambahkan alias baru ke file ".bash_aliases" saat muncul di benak Anda. Jika Anda menemukan diri Anda melakukan sesuatu lebih dari sekali atau dua kali, pertimbangkan untuk membuat alias untuk itu.

Menghapus Alias

Ada perintah untuk menghapus alias sehingga Bash tidak mengenalinya atau menanggapinya. Terus terang, perintah itu dipanggilunalias.

Untuk menggunakannya, berikan nama alias yang ingin Anda lupakan Bash. Untuk membuat Bash melupakan alias ftc kita, gunakan unalias mis. yang sebelumnya digunakan "ll"Perintah:

unalias ll

Anda dapat menggunakan unalias untuk menghapus alias yang telah Anda tentukan dan salah satu alias yang telah ditentukan sebelumnya.

Untuk menghapus semua alias dari sistem Anda, gunakan opsi -a (semua):

unalias -a

Namun, hilangnya memori Bash tidak akan permanen. Lain kali Anda membuka jendela terminal, alias "terlupakan" akan kembali. Untuk benar-benar menghapusnya, Anda perlu menghapusnya dari file ".bashrc" dan ".bash_alias".

Jika Anda merasa ingin mendapatkannya kembali, jangan hapus dari file “.bashrc” Anda. Sebagai gantinya, beri komentar dengan menambahkan hash # ke awal setiap baris alias. Untuk membuat file ".bash_alias" Anda tidak efektif, ganti namanya. Jika file ".bashrc" Anda tidak dapat melihatnya, file tersebut tidak akan dapat dibaca. Mengembalikan langkah-langkah ini untuk memulihkan alias adalah masalah yang sepele.

Untuk sementara melewati alias (misalnya kita aliased ls ke ls -a), kita bisa mengetik:

\ ls

Akibatnya perintah normal akan dipanggil, bukan versi alias.

Bantuan untuk perintah Alias:

  • Pilihan –help: Ini menampilkan Informasi bantuan.

Sintaksis:

alias --help

Fungsi Shell

Terkadang alias yang dapat menerima satu atau lebih argumen diperlukan, saat itulah fungsi bash digunakan.

Sintaksis

Membuat fungsi bash tidak terlalu sulit. Mereka dapat dideklarasikan dalam salah satu dari dua format berbeda berikut:

function_name () {[perintah]}

atau

fungsi nama_fungsi { [perintah] }

Kita dapat memampatkan formulir kedua ini menjadi satu baris dan memisahkan perintah dengan titik koma. Titik komaharus datang setelah perintah terakhir juga:

function_name () {command1; perintah2; }

Alias ​​Lika, fungsi shell Bash dapat didefinisikan dalam file ".bashrc", tetapi seringkali lebih rapi untuk meletakkannya di file definisinya sendiri. Kami akan menyebutnya ".bash_functions", mengikuti konvensi yang digunakan untuk file ".bash_aliases".

Itu berarti kita perlu memberi tahu file ".bashrc" untuk dibaca dalam definisi kita. Kita dapat menyalin dan mengubah potongan kode yang terbaca di file ".bash_aliases". Luncurkan gedit dan muat file ".bashrc" dengan perintah ini:

gedit .bashrc

Anda perlu menambahkan bagian yang disorot yang ditunjukkan di bawah ini.

Anda dapat menyorot bagian alias dan menekan Ctrl + C lalu pindah ke tempat yang Anda inginkan untuk bagian baru dan tekan Ctrl + V untuk menempelkan salinan teks. Kemudian yang perlu Anda lakukan adalah mengubah dua tempat yang bertuliskan “.bash_aliases” menjadi “.bash_functions.”

Kami dapat menyimpan perubahan tersebut dan menutup gedit.

Sekarang kita akan membuat dan mengedit file ".bash_functions", dan meletakkan definisi fungsi di dalamnya.

sentuh .bash_functions gedit .bash_functions

Ini akan membuka file ".bash_functions" yang kosong di gedit.

Kami akan menambahkan fungsi sederhana yang dipanggil. up akan mengambil satu parameter baris perintah, yang merupakan digit. up kemudian akan memanggil cd .. sebanyak itu. Jadi, jika Anda menggunakan perintah

naik 2

up akan memanggil cd .. dua kali dan akan naik dua tingkat di pohon direktori.

Ada berbagai cara untuk mendefinisikan suatu fungsi. Ini dia:

function up () {

Fungsi kata bersifat opsional. Jika Anda seorang tradisionalis, gunakanlah, jika Anda tidak bisa repot-repot mengetiknya, tinggalkan.

Berikut seluruh fungsi kami di gedit:

function up () {

Ini menandai awal dari definisi fungsi kita, dan menamai fungsinya.

level = $ 1

Ini menciptakan variabel yang disebutlevel dan menyetelnya ke nilai parameter pertama. Parameter ini akan menjadi digit yang disediakan oleh pengguna saat mereka memanggil fungsi tersebut. $ 1 berarti "parameter baris perintah pertama".

sementara ["$ level" -gt "0"]; melakukan

Kami kemudian memasuki loop yang kemudian akan diterjemahkan sebagai "ketika"nilai"Dari"level"Positif atau lebih besar dari nol, lakukan apa yang terkandung dalam badan loop."

Di dalam badan loop, kami memiliki dua perintah. Mereka:

cd ..

Naik satu tingkat di pohon direktori.

level = $ (($ level - 1))

Setel level ke nilai baru, yang nilainya kurang dari nilainya saat ini.

Kami kemudian kembali ke atas loop, perbandingan antara nilai level dan nol dibuat sekali lagi. Jika "level" lebih dari nol, badan loop akan dieksekusi lagi. Jika tidak positif atau lebih besar dari nol, loop selesai, & kita turun ke pernyataan done, dan fungsinya selesai.

Menyimpan perubahan ini dan tutupgedit.

Kami akan membaca dan menjalankan perintah di ".bashrc" yang seharusnya membaca dan menjalankan perintah di file ".bash_functions" kami.

. .bashrc

Kita dapat menguji fungsi tersebut dengan pindah ke beberapa lokasi di pohon direktori dan menggunakan up untuk kembali ke titik "lebih tinggi" di pohon direktori.

cd ./work/backup/ up 2

Fungsinya bekerja. Kami dipindahkan dua tingkat direktori lebih tinggi di pohon.

Mengikuti jejak dengan tipe

Saat Anda membuat suite alias dan pustaka fungsi, mungkin sulit untuk mengingat apakah perintah tertentu adalah alias atau fungsi. Anda dapat menggunakan "Tipe" perintah untuk mengingatkan Anda. Hal yang keren di sini adalah Anda juga bisa melihat definisinya.

Mari kita gunakan tipe diftcalias dan fungsi up kita.

ketik ftc ketik up

Kami mendapatkan pengingat yang sangat berguna tentang jenis perintah apa masing-masing, bersama dengan definisinya.

Mulai Mengumpulkan

Alias ​​dan fungsi dapat sangat mempercepat penggunaan baris perintah Anda. Mereka dapat mempersingkat urutan perintah, dan memungkinkan Anda memasukkan opsi yang selalu Anda gunakan dengan perintah standar. Setiap kali Anda melihat fungsi one-liner yang bagus atau berguna, Anda dapat menyesuaikan dan mempersonalisasinya, lalu menambahkannya ke file ".bash_aliases" atau ".bash_functions". Penggunaan ekstensif ini dapat membantu membuat waktu Anda di shell lebih menyenangkan dan tidak terlalu rumit.

Ingatlah untuk berhati-hati dalam mendefinisikan ulang perintah yang ada dengan perilaku yang berpotensi merusak.Bahkan melakukan kebalikannya dan mengalihkan perintah ke varian yang lebih aman (selalu meminta konfirmasi sebelum menghapus secara rekursif, misalnya) dapat kembali menggigit Anda saat pertama kali Anda menggunakan sistem tanpanya setelah Anda mengandalkannya . Untuk menemukan kandidat yang mungkin bagus untuk membuat alias, mungkin ada baiknya untuk menelusuri riwayat Anda untuk perintah yang paling umum digunakan.

Facebook Twitter Google Plus Pinterest