Anda di halaman 1dari 36

Bab 4 - Perangkat Lunak Sumber Terbuka dan Lisensi

4.1 Pendahuluan
Proyek perangkat lunak mengambil bentuk kode sumber, yang merupakan
serangkaian instruksi komputer yang dapat dibaca manusia. Karena kode sumber tidak
dipahami secara langsung oleh komputer, kode itu harus dikompilasi ke dalam
instruksi mesin oleh kompiler. Compiler adalah program khusus yang mengumpulkan
semua file kode sumber dan menghasilkan instruksi yang dapat dijalankan di
komputer, seperti oleh kernel Linux.

Secara historis, perangkat lunak komersial telah dijual di bawah lisensi sumber
tertutup, yang berarti bahwa pengguna memiliki hak untuk menggunakan kode mesin,
juga dikenal sebagai biner atau dapat dieksekusi, tetapi tidak dapat melihat kode
sumber. Seringkali lisensi secara eksplisit menyatakan bahwa pengguna tidak boleh
mencoba merekayasa balik kode mesin kembali ke kode sumber untuk mengetahui
apa fungsinya.

Pertimbangkan ini

Kode sumber yang dikompilasi dalam program biner adalah salah satu metode untuk
membuat program dan menjalankan instruksi komputasi. Lain adalah banyak jenis
bahasa yang ditafsirkan, seperti PERL, Python dan bahkan BASH scripting, di mana
kode tersebut tidak dikompilasi, tetapi diumpankan ke program penafsiran, biasanya
executable biner yang memahami dan mengimplementasikan instruksi yang
terkandung dalam kode sumber atau skrip .

Pengembangan Linux sangat mirip dengan kebangkitan perangkat lunak open source.
Di awal ada shareware, program yang tersedia secara bebas di mana pengguna tidak
perlu memiliki akses ke kode sumber. Ada banyak hal baik tentang hal ini, tetapi juga
bermasalah karena program jahat dapat disamarkan sebagai game, screensaver, dan
utilitas yang tampak tidak bersalah.

Open source mengambil tampilan sumber-sentris dari perangkat lunak. Filosofi open
source adalah bahwa pengguna memiliki hak untuk mendapatkan kode sumber
perangkat lunak, dan untuk memperluas dan memodifikasi program untuk
penggunaan mereka sendiri. Ini juga berarti kode tersebut dapat diperiksa untuk
backdoors, virus, dan spyware. Dengan menciptakan komunitas pengembang dan
pengguna, pertanggungjawaban untuk bug, kerentanan keamanan, dan masalah
kompatibilitas menjadi tanggung jawab bersama. Komunitas penggemar komputer
global yang baru ini diberdayakan oleh meningkatnya ketersediaan layanan internet
yang lebih cepat dan web di seluruh dunia.
Ada banyak varian open source, tetapi semua sepakat bahwa pengguna harus memiliki
akses ke kode sumber. Perbedaannya adalah bagaimana seseorang dapat, atau harus,
mendistribusikan kembali perubahan.

Linux telah mengadopsi filosofi ini dengan sangat sukses. Karena Linux ditulis dalam
bahasa pemrograman C, dan itu mencerminkan desain dan fungsionalitas sistem
UNIX yang sudah mapan, secara alami menjadi forum di mana orang dapat
mengembangkan dan berbagi ide-ide baru. Terbebas dari kendala platform perangkat
keras dan perangkat lunak berpemilik, sejumlah besar programmer yang sangat
terampil telah mampu berkontribusi pada berbagai distribusi, membuat perangkat
lunak yang seringkali lebih kuat, stabil, mudah beradaptasi, dan, terus terang, lebih
baik daripada yang eksklusif, ditutup penawaran sumber yang mendominasi dekade
sebelumnya.

Organisasi besar tentu curiga tentang penggunaan perangkat lunak yang dibangun
dengan cara baru ini, tetapi seiring waktu mereka menyadari bahwa programmer
terbaik mereka bekerja pada proyek open source berbasis Linux di waktu luang
mereka. Segera, server-server Linux dan program-program open source mulai
mengungguli sistem mahal yang sudah ada. Ketika tiba saatnya untuk memperbarui
perangkat keras yang sudah ketinggalan zaman, para programmer, insinyur, dan
administrator sistem yang sama yang mulai bekerja di Linux sebagai hobi dapat
meyakinkan bos mereka untuk mencoba Linux. Sisanya, seperti kata mereka, sejarah.

Sebelum pengembangan Linux, banyak aplikasi korporat dan ilmiah dijalankan pada
sistem UNIX. Perusahaan, universitas, dan pemerintah yang menjalankan server farm
besar menyukai stabilitas dan relatif mudahnya pengembangan aplikasi yang
ditawarkan oleh platform ini.

UNIX awalnya dibuat pada tahun 1969. Pada edisi keempatnya, pada tahun 1973,
telah ditulis ulang dalam bahasa pemrograman C yang masih menonjol hingga saat
ini. Pada tahun 1984 University of California Berkeley merilis 4.2BSD yang
memperkenalkan TCP / IP, spesifikasi jaringan yang menopang Internet. Pada awal
1990-an, ketika pengembangan Linux dimulai, berbagai perusahaan yang
mengembangkan sistem operasi UNIX menyadari sistem mereka perlu kompatibel,
dan mereka mulai bekerja pada spesifikasi X / Open yang masih digunakan sampai
sekarang.

Selama bertahun-tahun, para ilmuwan komputer dan organisasi yang mempekerjakan


mereka telah menyadari manfaat dari sistem yang menyediakan alat yang akrab dan
cara konsisten dalam menyelesaikan tugas tertentu. Standarisasi antarmuka
pemrograman aplikasi (API) memungkinkan program yang ditulis untuk satu sistem
operasi UNIX atau Linux tertentu untuk di-porting (dikonversi) relatif mudah
dijalankan di yang lain. Jadi, sementara sistem UNIX eksklusif masih digunakan di
seluruh dunia dalam lingkungan di mana solusi "bersertifikat" lebih disukai,
interoperabilitas sistem ini bersama komputer Linux dinilai oleh industri, akademisi,
dan pemerintah yang menggunakannya.

Pentingnya standar organisasi tidak dapat dilebih-lebihkan. Kelompok-kelompok


seperti IEEE (Institute of Electrical Engineers) dan POSIX (Portable Operating
System Interface), memungkinkan para profesional dari berbagai perusahaan dan
lembaga untuk berkolaborasi dalam spesifikasi yang memungkinkan berbagai sistem
operasi dan program untuk bekerja bersama. Tidak masalah jika suatu program
ditutup atau open source, sederhana atau kompleks, jika ditulis dengan standar ini,
orang lain akan dapat menggunakan dan memodifikasinya di masa depan. Setiap
inovasi dalam komputasi dibangun di atas karya orang lain yang datang sebelumnya.
Perangkat lunak open source adalah kolaborasi dari orang-orang yang berbeda dengan
kebutuhan dan latar belakang yang berbeda-beda yang semuanya bekerja bersama
untuk membuat sesuatu yang lebih baik daripada yang dapat dibuat oleh mereka
secara individual. Standar adalah apa yang memungkinkan ini terjadi,
4.2 Lisensi Sumber Terbuka
Ketika berbicara tentang membeli perangkat lunak, ada tiga komponen berbeda:

 Kepemilikan- Siapa yang memiliki kekayaan intelektual di balik perangkat


lunak?
 Transfer uang- Bagaimana uang berpindah tangan?
 Perizinan- Mendapatkan apa? Apa yang dapat Anda lakukan dengan perangkat
lunak? Bisakah Anda menggunakannya hanya di satu komputer? Bisakah Anda
memberikannya kepada orang lain?

Dalam sebagian besar kasus, kepemilikan perangkat lunak tetap pada orang atau
perusahaan yang membuatnya. Pengguna hanya diberikan lisensi untuk menggunakan
perangkat lunak; ini adalah masalah hukum hak cipta. Transfer uang tergantung pada
model bisnis pencipta. Lisensi yang membedakan perangkat lunak sumber terbuka
dari perangkat lunak sumber tertutup.

Dua contoh yang kontras akan memulainya.

Dengan Microsoft Windows, Microsoft Corporation memiliki kekayaan intelektual.


Lisensi itu sendiri, Perjanjian Lisensi Pengguna Akhir (EULA), adalah dokumen
hukum khusus yang harus Anda klik, menunjukkan penerimaan Anda, untuk
menginstal perangkat lunak. Microsoft menyimpan kode sumber dan hanya
mendistribusikan salinan biner melalui saluran yang diotorisasi. Untuk sebagian besar
produk konsumen, Anda diizinkan untuk menginstal perangkat lunak di satu komputer
dan tidak diperbolehkan membuat salinan disk selain untuk cadangan. Anda tidak
diperbolehkan merekayasa balik perangkat lunak. Anda membayar untuk satu salinan
perangkat lunak, yang memberi Anda pembaruan kecil tetapi bukan peningkatan
besar-besaran.

Linux dimiliki oleh Linus Torvalds. Dia telah menempatkan kode di bawah lisensi
yang disebut GNU General Public License versi 2 (GPLv2). Lisensi ini, antara lain,
mengatakan bahwa kode sumber harus tersedia untuk siapa saja yang meminta dan
bahwa siapa pun diizinkan untuk melakukan perubahan. Satu peringatan untuk ini
adalah bahwa jika seseorang membuat perubahan dan mendistribusikannya, mereka
harus meletakkan perubahan di bawah lisensi yang sama sehingga orang lain dapat
memperoleh manfaat. GPLv2 juga mengatakan bahwa tidak ada seorang pun yang
diizinkan membebankan biaya untuk mendistribusikan kode sumber selain biaya
aktual untuk melakukannya (seperti menyalinnya ke media yang dapat dilepas).

Secara umum, ketika seseorang menciptakan sesuatu, mereka juga mendapatkan hak
untuk memutuskan bagaimana itu digunakan dan didistribusikan. Perangkat Lunak
Bebas dan Sumber Terbuka (FOSS) mengacu pada perangkat lunak di mana hak ini
telah dilepaskan; siapa pun boleh melihat kode sumber dan mendistribusikannya.
Linus Torvalds telah melakukan itu dengan Linux - meskipun ia menciptakan Linux,
ia tidak dapat melarang seseorang menggunakannya di komputer mereka karena ia
telah melepaskan hak itu melalui lisensi GPLv2.

Lisensi perangkat lunak adalah masalah politik, oleh karena itu tidak mengherankan
bahwa ada banyak pendapat yang berbeda. Organisasi telah membuat lisensi mereka
sendiri yang mewujudkan pandangan khusus mereka, sehingga lebih mudah untuk
memilih lisensi yang ada daripada membuat sendiri. Sebagai contoh, universitas
seperti Massachusetts Institute of Technology (MIT) dan University of California
telah mengeluarkan lisensi, seperti halnya proyek seperti Apache Foundation. Juga,
kelompok-kelompok seperti Free Software Foundation telah membuat lisensi mereka
sendiri untuk memajukan agenda mereka.

4.2.1 Yayasan Perangkat Lunak Bebas


Dua kelompok dapat dianggap sebagai kekuatan paling berpengaruh di dunia open
source: Free Software Foundation dan Open Source Initiative.

Hanya beberapa tahun setelah pengembangan proyek GNU, Richard Stallman


mendirikan Free Software Foundation (FSF) pada tahun 1985 dengan tujuan
mempromosikan perangkat lunak gratis. Dalam konteks ini, kata "bebas" tidak
merujuk pada harga, tetapi pada kebebasan untuk berbagi, mempelajari, dan
memodifikasi kode sumber yang mendasarinya. Menurut situs web mereka, FSF
percaya bahwa pengguna harus memiliki "kendali atas teknologi yang kami gunakan
di rumah, sekolah, dan bisnis kami".

FSF juga menganjurkan bahwa lisensi perangkat lunak harus menegakkan


keterbukaan modifikasi. Ini adalah pandangan mereka bahwa jika seseorang
memodifikasi perangkat lunak bebas maka mereka harus diminta untuk membagikan
perubahan apa pun yang telah mereka buat ketika mereka membagikannya lagi.
Filosofi khusus ini disebut copyleft. Menurut FSF, "copyleft adalah metode umum
untuk membuat program (atau pekerjaan lain) gratis (dalam arti kebebasan, bukan"
harga nol "), dan mengharuskan semua versi program yang dimodifikasi dan diperluas
untuk menjadi bebas juga" .

FSF juga mengadvokasi menentang paten perangkat lunak dan bertindak sebagai
pengawas untuk organisasi standar, berbicara ketika standar yang diusulkan mungkin
melanggar prinsip-prinsip perangkat lunak bebas dengan memasukkan item-item
seperti Digital Rights Management (DRM) yang membatasi apa yang dapat dilakukan
dengan program yang sesuai.
FSF telah mengembangkan serangkaian lisensi mereka sendiri yang bebas bagi siapa
saja untuk digunakan berdasarkan GNU General Public License (GPL) yang asli. FSF
saat ini memelihara GNU General Public License versi 2 (GPLv2) dan versi 3
(GPLv3), serta GNU Lesser General Public License versi 2 (LGPLv2) dan versi 3
(LGPLv3). Lisensi ini dimaksudkan untuk dimasukkan dalam kode sumber aktual
untuk memastikan bahwa semua varian dan modifikasi program asli di masa depan
tetap memiliki kebebasan penggunaan yang sama seperti aslinya. Lisensi GPL dan
variannya adalah alat hukum yang kuat untuk memajukan penyebab perangkat lunak
bebas di seluruh dunia. Apa yang dimulai pada tahun 1983 sebagai keinginan satu
orang untuk berbagi dan meningkatkan perangkat lunak dengan membiarkan orang
lain mengubahnya, pada akhirnya mengubah dunia.

Pertimbangkan ini

Perubahan antara GPLv2 dan GPLv3 sebagian besar terfokus pada penggunaan
perangkat lunak bebas pada perangkat keras tertutup yang telah diciptakan
Tivoization. TiVo adalah perusahaan yang membangun perekam video digital televisi
pada perangkat keras mereka sendiri dan menggunakan Linux sebagai basis untuk
perangkat lunak mereka. Sementara TiVo merilis kode sumber ke versi Linux mereka
seperti yang dipersyaratkan dalam GPLv2, perangkat keras tidak akan menjalankan
binari yang dimodifikasi. Di mata FSF, ini bertentangan dengan semangat GPLv2,
jadi mereka menambahkan klausa khusus untuk versi 3 lisensi. Linus Torvalds setuju
dengan TiVo tentang masalah ini dan telah memilih untuk tetap dengan GPLv2.

4.2.2 Inisiatif Sumber Terbuka ‌


Open Source Initiative (OSI) didirikan pada tahun 1998 oleh Bruce Perens dan Eric
Raymond. Mereka percaya bahwa Free Software Foundation terlalu bermuatan politis
dan diperlukan lisensi yang tidak terlalu ekstrem, terutama seputar aspek copyleft dari
lisensi FSF. OSI percaya bahwa sumber tidak hanya harus tersedia secara bebas, tetapi
juga bahwa tidak ada batasan harus ditempatkan pada penggunaan perangkat lunak,
tidak peduli apa yang dimaksudkan digunakan. Berbeda dengan FSF, OSI tidak
memiliki lisensi sendiri. Sebaliknya, OSI memiliki seperangkat prinsip dan
menambahkan lisensi ke daftar itu jika memenuhi prinsip-prinsip itu, yang disebut
lisensi open source. Perangkat lunak yang sesuai dengan lisensi Open Source adalah
perangkat lunak open source.

Salah satu jenis lisensi Open Source adalah BSD (Berkeley Software Distribution)
dan turunannya, yang jauh lebih sederhana daripada GPL. Saat ini ada dua lisensi
"BSD" yang disetujui oleh OSI, 2-Klausul dan 3-Klausul. Lisensi ini menyatakan
bahwa Anda dapat mendistribusikan kembali sumber dan binari selama Anda
mempertahankan pemberitahuan hak cipta dan tidak menyiratkan bahwa pencipta asli
mendukung versi Anda. Dengan kata lain "lakukan apa yang Anda inginkan dengan
perangkat lunak ini, tapi jangan katakan Anda yang menulisnya." Menurut FSF,
lisensi BSD asli memiliki kelemahan serius karena mengharuskan pengembang untuk
menambahkan klausul yang mengakui University of California, Berkeley dalam setiap
iklan untuk perangkat lunak yang dilisensikan dengan cara ini. Seperti orang lain
menyalin lisensi sederhana ini,

Lisensi FSF, seperti GPLv2, juga merupakan lisensi open source. Namun, banyak
lisensi open source seperti BSD dan MIT tidak mengandung ketentuan copyleft dan
karenanya tidak dapat diterima oleh FSF. Lisensi ini disebut lisensi perangkat lunak
bebas permisif karena mereka permisif dalam cara Anda dapat mendistribusikan
kembali perangkat lunak. Anda dapat mengambil perangkat lunak berlisensi BSD dan
memasukkannya ke dalam produk perangkat lunak tertutup selama Anda memberikan
atribusi yang tepat.

Daripada memikirkan poin-poin penting Open Source dan Perangkat Lunak Bebas,
komunitas telah mulai merujuk mereka secara kolektif sebagai Perangkat Lunak
Bebas dan Sumber Terbuka (FOSS). Kata bahasa Inggris "gratis" dapat berarti "gratis
seperti dalam makan siang" (seperti tanpa biaya) atau "gratis seperti dalam ucapan"
(seperti dalam tanpa batasan). Ambiguitas ini menyebabkan dimasukkannya kata
"libre" untuk merujuk pada definisi yang terakhir. Jadi, kami berakhir dengan
Perangkat Lunak Bebas / Bebas / Sumber Terbuka (FLOSS).

4.2.3 Creative Commons


Lisensi FOSS sebagian besar terkait dengan perangkat lunak. Orang-orang telah menempatkan
karya seperti gambar dan rencana di bawah lisensi FOSS, tetapi ini bukan maksudnya.

Ketika perangkat lunak telah ditempatkan di domain publik, penulis telah melepaskan semua
hak, termasuk hak cipta atas karya tersebut. Di beberapa negara, ini adalah default ketika
pekerjaan dilakukan oleh agen pemerintah. Di beberapa negara, karya berhak cipta menjadi
domain publik setelah penulis meninggal dan masa tunggu yang panjang telah berlalu.

Organisasi Creative Commons (CC) telah menciptakan Lisensi Creative Commons yang
mencoba untuk mengatasi niat di balik lisensi FOSS untuk entitas non-perangkat lunak. Lisensi
CC juga dapat digunakan untuk membatasi penggunaan komersial jika itu adalah keinginan
pemegang hak cipta. Lisensi CC terdiri dari serangkaian kondisi yang dapat diterapkan oleh
pembuatnya untuk pekerjaan mereka:

 Atribusi (BY)- Semua lisensi CC mensyaratkan bahwa pencipta harus diberi kredit,
tanpa menyiratkan bahwa pencipta mendukung penggunaannya.
 BagikanSuka (SA)- Ini memungkinkan orang lain untuk menyalin, mendistribusikan,
melakukan, dan memodifikasi karya, asalkan mereka melakukannya dengan persyaratan
yang sama.
 Nonkomersial (NC)- Ini memungkinkan orang lain untuk mendistribusikan,
menampilkan, melakukan, dan memodifikasi karya untuk tujuan apa pun selain secara
komersial.
 NoDerivatives (ND)- Ini memungkinkan orang lain untuk mendistribusikan,
menampilkan, dan hanya melakukan salinan asli dari karya tersebut. Mereka harus
mendapatkan izin pembuat untuk mengubahnya.

Ketentuan ini kemudian digabungkan untuk membuat enam lisensi utama yang ditawarkan oleh
Creative Commons:

 Atribusi (CC BY)- Sama seperti lisensi BSD, Anda dapat menggunakan konten CC BY
untuk segala penggunaan tetapi harus memberi kredit pada pemegang hak cipta.
 Attribution ShareAlike (CC BY-SA)- Versi copyleft dari lisensi Atribusi. Karya yang
diturunkan harus dibagikan di bawah lisensi yang sama, seperti halnya dalam ideal
Perangkat Lunak Bebas.
 Atribusi NoDerivs (CC BY-ND)- Anda dapat mendistribusikan ulang konten dalam
kondisi yang sama dengan CC-BY tetapi tidak dapat mengubahnya.
 Atribusi-Nonkomersial (CC BY-NC)- Sama seperti CC BY, tetapi Anda tidak boleh
menggunakannya untuk tujuan komersial.
 Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)- Dibangun di atas lisensi
CC BY-NC tetapi mengharuskan perubahan Anda dibagikan di bawah lisensi yang sama.
 Attribution-NonCommercial-NoDerivs (CC BY-NC-ND)- Anda membagikan konten
yang akan digunakan untuk tujuan non-komersial, tetapi orang tidak dapat mengubah
konten.
 Tidak Ada Hak Dilindungi (CC0)- Ini adalah versi domain publik Creative Commons.

4.3 Model Bisnis Sumber Terbuka


Jika semua perangkat lunak ini gratis, bagaimana orang dapat menghasilkan uang darinya?

Pertama, Anda harus memahami bahwa tidak ada apa pun di GPL yang melarang penjualan
perangkat lunak. Faktanya, hak untuk menjual perangkat lunak adalah bagian dari lisensi GPL.
Sekali lagi, ingat bahwa kata bebas mengacu pada kebebasan, bukan harga. Perusahaan-
perusahaan yang menambah nilai pada program-program gratis ini didorong untuk menghasilkan
uang sebanyak yang mereka bisa, dan mengembalikan laba tersebut ke pengembangan perangkat
lunak yang lebih banyak dan lebih baik.

Salah satu cara paling sederhana untuk menghasilkan uang adalah dengan menjual dukungan
atau garansi di sekitar perangkat lunak. Perusahaan seperti Canonical, pengembang Ubuntu, dan
Redhat telah tumbuh menjadi perusahaan besar dengan menciptakan distribusi dan alat Linux
yang memungkinkan pengguna komersial untuk mengelola perusahaan mereka dan menawarkan
produk dan layanan kepada pelanggan mereka.

Banyak proyek open source lainnya juga telah berkembang menjadi bisnis besar. Pada 1990-an,
Gerald Combs bekerja di penyedia layanan Internet dan mulai menulis alat analisis jaringan
sendiri karena alat serupa pada saat itu mahal. Lebih dari 600 orang kini berkontribusi pada
proyek tersebut, yang disebut Wireshark. Sekarang sering dianggap lebih baik daripada
penawaran komersial dan menyebabkan perusahaan dibentuk untuk menjual produk dan
dukungan. Seperti banyak perusahaan lain, perusahaan ini dibeli oleh perusahaan besar yang
mendukung kelanjutan pengembangannya.

Perusahaan seperti Tivo memiliki paket perangkat keras atau menambahkan perangkat lunak
sumber tertutup ekstra untuk dijual bersama perangkat lunak gratis. Peralatan dan sistem
tertanam yang menggunakan Linux adalah bisnis bernilai miliaran dolar dan mencakup
semuanya, mulai dari DVR rumah hingga kamera keamanan dan perangkat kebugaran yang
dapat dikenakan. Banyak firewall konsumen dan perangkat hiburan mengikuti model ini.

Saat ini, baik pengusaha besar maupun kecil memiliki individu dan kadang-kadang seluruh
kelompok yang berdedikasi untuk bekerja pada proyek-proyek sumber terbuka. Perusahaan
teknologi bersaing untuk mendapatkan kesempatan mempengaruhi proyek yang akan
membentuk masa depan industri mereka. Perusahaan lain mendedikasikan sumber daya untuk
proyek yang mereka butuhkan untuk penggunaan internal. Karena semakin banyak bisnis
dilakukan pada sumber daya cloud, peluang bagi programmer open source terus berkembang.

Bab 5 - Keterampilan Baris Perintah

5.1 Pendahuluan
Sebagian besar sistem operasi konsumen dirancang untuk melindungi pengguna dari
seluk beluk CLI. Komunitas Linux berbeda dalam hal ia secara positif merayakan CLI
karena kekuatan, kecepatan dan kemampuannya untuk menyelesaikan berbagai tugas
dengan satu instruksi baris perintah.

Ketika seorang pengguna pertama kali bertemu CLI, mereka dapat menemukan itu
menantang karena memerlukan menghafal jumlah perintah yang membingungkan dan
pilihan mereka. Namun, begitu pengguna mengetahui struktur tentang bagaimana
perintah digunakan, di mana file dan direktori yang diperlukan berada dan bagaimana
menavigasi hierarki sistem file, mereka bisa sangat produktif. Kemampuan ini
memberikan kontrol yang lebih tepat, kecepatan lebih besar dan kemampuan untuk
mengotomatisasi tugas-tugas dengan lebih mudah melalui skrip.

Selain itu, dengan mempelajari CLI, pengguna dapat dengan mudah menjadi produktif
hampir seketika pada rasa atau distribusi APAPUN Linux, mengurangi jumlah waktu
yang diperlukan untuk membiasakan diri dengan suatu sistem karena variasi dalam
GUI.
5.2
Shell
Setelah

pengguna memasukkan perintah, terminal kemudian menerima apa yang telah diketik
pengguna dan meneruskannya ke shell. Shell adalah interpreter baris perintah yang
menerjemahkan perintah yang dimasukkan oleh pengguna menjadi tindakan yang
harus dilakukan oleh sistem operasi. Jika output dihasilkan oleh perintah, maka teks
ditampilkan di terminal. Jika masalah dengan perintah ditemukan, pesan kesalahan
ditampilkan.

Lingkungan Linux memungkinkan penggunaan banyak shell yang berbeda, beberapa


di antaranya telah ada selama bertahun-tahun. Shell yang paling umum digunakan
untuk distribusi Linux disebut Bash shell. Bash menyediakan banyak fitur canggih,
seperti sejarah perintah dan pengeditan sisip, yang memungkinkan pengguna untuk
dengan mudah menjalankan kembali perintah yang sebelumnya dieksekusi atau
variasi dari mereka melalui pengeditan sederhana.

Shell Bash juga memiliki fitur populer lainnya, beberapa di antaranya tercantum di
bawah ini:

 Scripting:Kemampuan untuk menempatkan perintah dalam file dan kemudian


menafsirkan (secara efektif menggunakan Bash untuk mengeksekusi isi) file,
menghasilkan semua perintah yang dieksekusi. Fitur ini juga memiliki beberapa
fitur pemrograman, seperti pernyataan kondisional dan kemampuan untuk
membuat fungsi (AKA subrutin).
 Alias:Kemampuan untuk membuat nama panggilan pendek untuk perintah
yang lebih lama.
 Variabel:Digunakan untuk menyimpan informasi untuk shell Bash dan untuk
pengguna. Variabel-variabel ini dapat digunakan untuk memodifikasi cara kerja
perintah dan fitur serta memberikan informasi sistem yang vital.

Bash memiliki daftar fitur yang luas; ini hanya contoh kemampuannya.

Ketika aplikasi terminal dijalankan, dan sebuah shell muncul, menampilkan bagian
penting dari antarmuka — prompt. Tidak hanya prompt di sana untuk menunjukkan
bahwa perintah dapat dijalankan, tetapi juga menyampaikan informasi yang berguna
kepada pengguna. Prompt sepenuhnya dapat dikonfigurasi dan dapat jarang atau fitur
lengkap seperti praktis dan berguna.

Struktur prompt dapat bervariasi antara distribusi, tetapi biasanya berisi informasi
tentang pengguna dan sistem. Di bawah ini adalah struktur prompt yang umum:
sysadmin @ localhost : ~ $

Prompt yang ditampilkan berisi informasi berikut:

 Nama pengguna:
sysadmin @ localhost : ~ $

 Nama Sistem:
sysadmin @ localhost : ~ $

 Direktori saat ini:


sysadmin @ localhost : ~ $

Itu~simbol digunakan sebagai singkatan untuk direktori home pengguna. Biasanya


direktori home untuk pengguna berada di bawah /rumahdirektori dan dinamai setelah
nama akun pengguna; sebagai contoh,/ home / sysadmin.

5.3 Perintah
Apa itu perintah? Jawaban paling sederhana adalah bahwa perintah adalah program
perangkat lunak yang, ketika dieksekusi pada CLI, melakukan tindakan pada
komputer.

Untuk menjalankan perintah, langkah pertama adalah mengetik nama perintah. Klik di
terminal di sebelah kanan. Tipelsdan tekan Enter. Hasilnya harus menyerupai contoh
di bawah ini:
sysadmin @ localhost : ~ $ ls
Dokumen Desktop Unduh Gambar Musik Template Umum Video

catatan:Dengan sendirinya,lsperintah mencantumkan file dan direktori yang ada di


direktori kerja saat ini. Pada titik ini, Anda tidak perlu terlalu khawatir tentang output
dari perintah, sebagai gantinya, fokuslah pada pemahaman bagaimana memformat dan
menjalankan perintah.

Itulsperintah akan dibahas secara rinci nanti dalam kursus.

Banyak perintah dapat digunakan sendiri tanpa input lebih lanjut. Beberapa perintah
memerlukan input tambahan untuk berjalan dengan benar. Input tambahan ini datang
dalam dua bentuk: opsi dan argumen.

Format khas untuk suatu perintah adalah sebagai berikut:


perintah [opsi] [argumen]

Opsi digunakan untuk mengubah perilaku inti dari suatu perintah sementara argumen
digunakan untuk memberikan informasi tambahan (seperti nama file atau nama
pengguna). Setiap opsi dan argumen biasanya dipisahkan oleh spasi, meskipun opsi
seringkali dapat digabungkan.

Perlu diingat bahwa Linux adalah case-sensitive. Perintah, opsi, argumen, variabel,
dan nama file harus dimasukkan persis seperti yang ditunjukkan.

5.3.1 Argumen
perintah [opsi] [argumen]

Argumen dapat digunakan untuk menentukan sesuatu agar perintah dapat bertindak.
Jikalsperintah diberikan nama direktori sebagai argumen, itu daftar isi direktori itu.
Pada contoh berikut,/ etc / pppdirektori digunakan sebagai argumen; output yang
dihasilkan adalah daftar file yang terdapat dalam direktori itu:
sysadmin @ localhost : ~ $ ls / etc / ppp
ip-down.d ip-up.d

Itulsperintah juga menerima banyak argumen. Untuk daftar isi keduanya / etc /
pppdan/ etc / sshdirektori, berikan keduanya sebagai argumen:

sysadmin @ localhost : ~ $ ls / etc / ppp / etc / ssh


/ etc / ppp:
ip-down.d ip-up.d
/ etc / ssh:
moduli ssh_host_dsa_key.pub ssh_host_rsa_key sshd_configssh_config
ssh_host_ecdsa_key ssh_host_rsa_key.pub
ssh_host_dsa_key ssh_host_ecdsa_key.pub ssh_import_id

5.3.2 Opsi
perintah [opsi] [argumen]

Opsi dapat digunakan dengan perintah untuk memperluas atau memodifikasi cara
berperilaku perintah. Misalnya, menggunakan -lopsi darilsperintah menghasilkan
daftar panjang, memberikan informasi tambahan tentang file yang terdaftar, seperti
izin, ukuran file dan informasi lainnya:
sysadmin @ localhost : ~ $ ls-l
total 0
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 20:13 Desktop
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 20:13 Dokumen
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 20:13 Unduh
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 20:13 Musik
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 20:13 Pictures
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 20:13 Publik
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 20:13 Templat
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 20:13 Video

Seringkali karakter dipilih untuk menjadi mnemonik untuk tujuannya, seperti memilih
huruf l untuk panjang atau r untuk mundur. Secara default, lsperintah mencetak hasil
dalam urutan abjad, dan dengan menambahkan -rpilihan, itu mencetak hasil dalam
urutan abjad terbalik.
sysadmin @ localhost : ~ $ ls -r
Video Templat Gambar Publik Unduhan Musik Dokumen Desktop

Dalam kebanyakan kasus, opsi dapat digunakan bersamaan dengan opsi lain. Mereka
dapat diberikan sebagai opsi terpisah, seperti pada -l -r, atau gabungan, seperti
dalam-. Kombinasi dari dua opsi ini akan menghasilkan output listing yang panjang
dengan urutan abjad terbalik:
sysadmin @ localhost : ~ $ ls -lr
total 32
drwxr-xr-x 2 sysadmin sysadmin 4096 31 Okt 20:13 Video
drwxr-xr-x 2 sysadmin sysadmin 4096 31 Okt 20:13 Templat
drwxr-xr-x 2 sysadmin sysadmin 4096 31 Okt 20:13 Publik
drwxr-xr-x 2 sysadmin sysadmin 4096 31 Okt 20:13 Gambar
drwxr-xr-x 2 sysadmin sysadmin 4096 31 Okt 20:13 Musik
drwxr-xr-x 2 sysadmin sysadmin 4096 31 Okt 20:13 Unduh
drwxr-xr-x 4 sysadmin sysadmin 4096 31 Okt 20:13 Dokumen
drwxr-xr-x 2 sysadmin sysadmin 4096 31 Okt 20:13 Desktop

Urutan opsi gabungan tidak penting. Output dari semua contoh ini akan sama:
ls -l -r
ls -rl
ls -lr
Secara default-lopsi darilsperintah menampilkan ukuran file dalam byte:
sysadmin @ localhost : ~ $ ls -l / usr / bin / perl
-rwxr-xr-x 2 root root 10376 4 Februari 2018 / usr / bin / perl

Jika-hopsi ditambahkan ukuran file akan ditampilkan dalam format yang dapat dibaca
manusia:
sysadmin @ localhost : ~ $ ls -lh / usr / bin / perl
-rwxr-xr-x 2 root root 11K 4 Feb 2018 / usr / bin / perl

Opsi seringkali berupa huruf tunggal; namun, terkadang kata-kata atau frasa juga.
Biasanya, perintah yang lebih lama menggunakan huruf tunggal sementara perintah
yang lebih baru menggunakan kata lengkap untuk opsi. Opsi huruf tunggal didahului
dengan tanda hubung tunggal- karakter, seperti -hpilihan. Opsi kata lengkap diawali
dengan dua tanda hubung-karakter. Itu-hopsi juga memiliki bentuk kata lengkap yang
setara; itu--human dibacapilihan.
sysadmin @ localhost : ~ $ ls -l --human-readable / usr / bin / perl
-rwxr-xr-x 2 root root 11K 4 Feb 2018 / usr / bin / perl

5.3.3 Sejarah
Ketika sebuah perintah dieksekusi di terminal, itu disimpan dalam daftar sejarah. Ini
dirancang untuk membuatnya mudah untuk mengeksekusi perintah yang sama,
kemudian menghilangkan kebutuhan untuk mengetik ulang seluruh perintah.

Menekan tombol Panah Atas ↑ menampilkan perintah sebelumnya pada baris prompt.
Seluruh riwayat perintah yang dijalankan di sesi saat ini dapat ditampilkan dengan
menekan Naik berulang kali untuk menelusuri kembali sejarah perintah yang telah
dijalankan. Menekan tombol Enter menjalankan perintah yang ditampilkan lagi.

Ketika perintah yang diinginkan ditemukan, tombol Panah Kiri ← dan Panah Kanan
→ dapat memposisikan kursor untuk diedit. Kunci berguna lainnya untuk mengedit
termasuk tombol Home, End, Backspace dan Delete.

Untuk melihat daftar riwayat terminal, gunakan sejarahperintah:


sysadmin @ localhost : ~ $ tanggal
Rabu 12 Des 04:28:12 UTC 2018
sysadmin @ localhost : ~ $ ls
Dokumen Desktop Unduh Gambar Musik Template Umum Video
sysadmin @ localhost : ~ $ kal 5 2030
Mei 2030
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
sysadmin @ localhost : ~ $ sejarah
1 tanggal
2 ls
3 kal 5 2030
4 sejarah

Jika perintah yang diinginkan ada dalam daftar itu sejarahPerintah menghasilkan, itu
dapat dieksekusi dengan mengetikkan tanda seru !karakter dan kemudian nomor di
sebelah perintah, misalnya, untuk menjalankan kalperintah lagi:
sysadmin @ localhost : ~ $ sejarah
1 tanggal
2 ls
3 kal 5 2030
4 sejarah
sysadmin @ localhost : ~ $ ! 3
kal 5 2030
Mei 2030
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25

Jikasejarahperintah dilewatkan angka sebagai argumen, itu mengeluarkan jumlah


perintah sebelumnya dari daftar sejarah. Misalnya, untuk menampilkan tiga perintah
terakhir:
sysadmin @ localhost : ~ $ sejarah 3
6 tanggal
7 ls / rumah
8 sejarah 3

‌ Untuk menjalankan perintah ke-n dari bagian bawah daftar riwayat, ketik ! -ndan
tekan Enter. Misalnya, untuk menjalankan perintah ketiga dari bagian bawah daftar
riwayat, lakukan yang berikut ini:
sysadmin @ localhost : ~ $ ! -3
tanggal
Rabu 12 Des 04:31:55 UTC 2018

Untuk menjalankan tipe perintah terbaru!!dan tekan Enter:


sysadmin @ localhost : ~ $ tanggal
Rabu 12 Des 04:32:36 UTC 2018
sysadmin @ localhost : ~ $ !!
tanggal
Rabu 12 Des 04:32:38 UTC 2018

Untuk menjalankan iterasi terbaru dari perintah tertentu, ketik !diikuti oleh nama
perintah dan tekan Enter. Misalnya, untuk mengeksekusi yang terbaru lsperintah:
sysadmin @ localhost : ~ $ ! ls
ls / rumah
sysadmin

5.4 Variabel
Variabel adalah fitur yang memungkinkan pengguna atau shell untuk menyimpan
data. Data ini dapat digunakan untuk memberikan informasi sistem yang kritis atau
untuk mengubah perilaku cara kerja Bash shell (atau perintah lain). Variabel diberi
nama dan disimpan sementara di memori. Ada dua jenis variabel yang digunakan
dalam shell Bash: lokal dan lingkungan.

5.4.1 Variabel Lokal


Lokalatau variabel shell hanya ada di shell saat ini, dan tidak dapat memengaruhi perintah atau
aplikasi lain. Ketika pengguna menutup jendela terminal atau shell, semua variabel hilang.
Mereka sering dikaitkan dengan tugas-tugas berbasis pengguna dan huruf kecil karena konvensi.

Untuk mengatur nilai variabel, gunakan ekspresi penugasan berikut. Jika variabel sudah ada,
nilai variabel diubah. Jika nama variabel belum ada, shell membuat variabel lokal baru dan
menetapkan nilainya:

variabel= nilai

Contoh berikut membuat variabel lokal bernama variabel1 dan memberinya nilai Sesuatu:

sysadmin @ localhost : ~ $ variabel1 = 'Sesuatu'

Perintah echo digunakan untuk menampilkan output di terminal. Untuk menampilkan nilai
variabel, gunakan karakter $ tanda $ diikuti oleh nama variabel sebagai argumen untuk perintah
gema:

sysadmin @ localhost : ~ $ echo $ variable1


Sesuatu

5.4.2 Variabel Lingkungan


Variabel lingkungan, juga disebut variabel global, tersedia di seluruh sistem, di semua
shell yang digunakan oleh Bash saat menginterpretasikan perintah dan melakukan
tugas. Sistem secara otomatis membuat ulang variabel lingkungan ketika shell baru
dibuka. Contohnya termasuk variabel PATH, HOME, dan HISTSIZE. Variabel
HISTSIZE mendefinisikan berapa banyak perintah sebelumnya untuk menyimpan
dalam daftar histori. Perintah dalam contoh di bawah ini menampilkan nilai variabel
HISTSIZE:
sysadmin @ localhost : ~ $ echo $ HISTSIZE
1000

Untuk mengubah nilai variabel yang ada, gunakan ekspresi penugasan:


sysadmin @ localhost : ~ $ HISTSIZE = 500
sysadmin @ localhost : ~ $ echo $ HISTSIZE
500

Banyak variabel yang tersedia untuk Bash shell, serta variabel yang memengaruhi
berbagai perintah Linux. Diskusi semua variabel berada di luar cakupan bab ini;
Namun, lebih banyak variabel shell akan dibahas saat kursus ini berlangsung.

Ketika dijalankan tanpa argumen, perintah env menampilkan daftar variabel


lingkungan. Karena output dari perintah env bisa sangat panjang, contoh-contoh
berikut menggunakan pencarian teks untuk memfilter output itu.

Dalam contoh sebelumnya, variabel1 dibuat sebagai variabel lokal, jadi pencarian
berikut dalam variabel lingkungan menghasilkan tanpa output:
sysadmin @ localhost : ~ $env | grep variable1

Pipa | karakter meneruskan output dari perintah env ke perintah grep, yang mencari
output.

Teknik pemfilteran teks ini akan dibahas secara rinci nanti dalam kursus.

Perintah ekspor digunakan untuk mengubah variabel lokal menjadi variabel


lingkungan.
variabel ekspor

Setelah mengekspor variabel1, sekarang menjadi variabel lingkungan. Sekarang


ditemukan dalam pencarian melalui variabel lingkungan:
sysadmin @ localhost : ~ $ variabel ekspor1
sysadmin @ localhost : ~ $env | grep variable1
variabel1 = Sesuatu

Perintah ekspor juga dapat digunakan untuk membuat variabel sebagai variabel
lingkungan saat pembuatannya dengan menggunakan ekspresi penetapan sebagai
argumen:
sysadmin @ localhost : ~ $ export variable2 = 'Else'
sysadmin @ localhost : ~ $env | grep variable2
variabel2 = Lain-lain

Untuk mengubah nilai variabel lingkungan, gunakan ekspresi penugasan:


sysadmin @ localhost : ~ $ variable1 = $ variable1 '' $ variable2
sysadmin @ localhost : ~ $ echo $ variable1
Sesuatu Yang Lain
Variabel yang diekspor dapat dihapus menggunakan perintah tidak disetel:
sysadmin @ localhost : ~ $ variabel tidak disetel

5.4.3 Variabel Jalur


Salah satu variabel Bash shell yang paling penting untuk dipahami adalah variabel
PATH. Ini berisi daftar yang mendefinisikan direktori mana shell mencari perintah.
Jika perintah yang valid dimasukkan dan shell mengembalikan kesalahan "perintah
tidak ditemukan", itu karena shell Bash tidak dapat menemukan perintah dengan nama
itu di salah satu direktori yang termasuk dalam path. Perintah berikut menampilkan
jalur shell saat ini:
sysadmin @ localhost : ~ $ echo $ PATH
/ home / sysadmin / bin: / usr / local / sbin: / usr / local / bin: / usr /
sbin: / usr / bin: / sbin: / bin: / usr / games
sysadmin @ localhost : ~ $

Setiap direktori dalam daftar dipisahkan oleh tanda titik dua: karakter. Berdasarkan
output sebelumnya, path berisi direktori berikut. Shell akan memeriksa direktori
sesuai urutannya:
/ home / sysadmin / bin
/ usr / local / sbin
/ usr / local / bin
/ usr / sbin
/ usr / bin
/ sbin
/tempat sampah
/ usr / game

Masing-masing direktori diwakili oleh jalur. Path adalah daftar direktori yang
dipisahkan oleh karakter /. Jika Anda menganggap sistem file sebagai peta, path
adalah alamat direktori, yang mencakup arah navigasi langkah demi langkah; mereka
dapat digunakan untuk menunjukkan lokasi file apa pun dalam sistem file. Sebagai
contoh, / home / sysadmin adalah path ke direktori home:
Direktori dan jalur akan dibahas secara rinci nanti dalam kursus.

Jika perintah tidak ditemukan di direktori mana pun yang tercantum dalam variabel
PATH, maka shell mengembalikan kesalahan:
sysadmin @ localhost : ~ $ zed
-bash: zed: perintah tidak ditemukan
sysadmin @ localhost : ~ $

‌ Jika perangkat lunak khusus diinstal pada sistem, Anda mungkin perlu memodifikasi
PATH untuk membuatnya lebih mudah untuk menjalankan perintah-perintah ini.
Misalnya, berikut ini akan menambah dan memverifikasi direktori / usr / bin / custom
ke variabel PATH:
sysadmin @ localhost : ~ $ PATH = / usr / bin / custom: $ PATH
sysadmin @ localhost : ~ $ echo $ PATH
/ usr / bin / custom: / home / sysadmin / bin: / usr / local / sbin: / usr /
local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games

Saat memperbarui variabel PATH, selalu sertakan jalur saat ini, agar tidak kehilangan
akses ke perintah yang terletak di direktori tersebut. Ini dapat dilakukan dengan
menambahkan $ PATH ke nilai dalam ekspresi penugasan. Ingatlah bahwa nama
variabel yang didahului oleh tanda dolar mewakili nilai variabel.

5.5 Jenis Perintah


Salah satu cara untuk mempelajari lebih lanjut tentang perintah adalah dengan melihat
dari mana asalnya. Perintah type dapat digunakan untuk menentukan informasi
tentang tipe perintah.
ketik perintah

Ada beberapa sumber perintah yang berbeda di dalam shell CLI Anda termasuk
perintah internal, perintah eksternal, alias, dan fungsi.
5.5.1 Perintah Internal
Juga disebut perintah bawaan, perintah internal dibangun ke dalam shell itu sendiri.
Contoh yang baik adalah perintah cd (direktori perubahan) karena merupakan bagian
dari Bash shell. Ketika pengguna mengetik perintah cd, Bash shell sudah
mengeksekusi dan tahu bagaimana menafsirkannya, tidak memerlukan program
tambahan untuk memulai.

Perintah type mengidentifikasi perintah cd sebagai perintah internal:


sysadmin @ localhost : ~ $ ketik cd
cd adalah builtin shell

5.5.2 Perintah Eksternal


Perintah eksternaldisimpan dalam file yang dicari oleh shell. Jika pengguna mengetik perintah
ls, maka shell mencari melalui direktori yang tercantum dalam variabel PATH untuk mencoba
menemukan file bernama ls yang dapat dieksekusi.

Jika suatu perintah tidak berperilaku seperti yang diharapkan atau jika suatu perintah tidak dapat
diakses yang seharusnya, akan bermanfaat untuk mengetahui di mana shell menemukan perintah
atau versi mana yang digunakannya. Akan membosankan jika harus mencari secara manual di
setiap direktori yang tercantum dalam variabel PATH. Alih-alih, gunakan perintah yang mana
untuk menampilkan jalur lengkap ke perintah yang dimaksud:

perintah yang mana

Perintah yang mencari lokasi perintah dengan mencari variabel PATH.

sysadmin @ localhost : ~ $ yang mana


/ bin / ls
sysadmin @ localhost : ~ $ yang mana cal
/ usr / bin / cal

Perintah eksternal juga dapat dieksekusi dengan mengetikkan path lengkap ke perintah. Sebagai
contoh, untuk mengeksekusi perintah ls:

sysadmin @ localhost : ~ $ / bin / ls


Dokumen Desktop Unduh Gambar Musik Template Umum Video

Untuk perintah eksternal, perintah ketik menampilkan lokasi perintah:

sysadmin @ localhost : ~ $ ketik cal


kal adalah / usr / bin / cal
Dalam beberapa kasus, output dari perintah tipe mungkin berbeda secara signifikan dari output
perintah yang:

sysadmin @ localhost : ~ $ ketik gema


gema adalah shell builtin
sysadmin @ localhost : ~ $ gema yang mana
/ bin / echo

Menggunakan opsi -a dari perintah type menampilkan semua lokasi yang berisi perintah
bernama:

sysadmin @ localhost : ~ $ ketik-gema


gema adalah shell builtin
gema adalah / bin / ech

5.5.3 Alias
Alias dapat digunakan untuk memetakan perintah yang lebih panjang ke urutan tombol yang
lebih pendek. Ketika shell melihat alias dieksekusi, ia mengganti urutan yang lebih lama sebelum
melanjutkan untuk menafsirkan perintah.

Sebagai contoh, perintah ls -l umumnya alias atau l. Karena perintah yang lebih kecil ini lebih
mudah diketik, perintah ls-l menjadi lebih cepat.

Untuk menentukan alias apa yang ditetapkan pada shell saat ini, gunakan perintah alias:

sysadmin @ localhost : ~ $ alias


alias egrep = 'egrep --color = otomatis'
alias fgrep = 'fgrep --color = otomatis'
alias grep = 'grep --color = auto'
alias l = 'ls -CF'
alias la = 'ls -A'
alias ll = 'ls -alF'
alias ls = 'ls --color = auto'

Alias dari contoh sebelumnya dibuat oleh file inisialisasi. File-file ini dirancang untuk membuat
proses pembuatan alias otomatis.

Alias baru dapat dibuat menggunakan format berikut, di mana nama adalah nama yang akan
diberikan alias dan perintah adalah perintah yang akan dieksekusi ketika alias dijalankan.

alias nama = perintah

Misalnya, perintah kal 2019 menampilkan kalender untuk tahun 2019. Misalkan Anda sering
menjalankan perintah ini. Alih-alih mengeksekusi perintah penuh setiap kali, Anda dapat
membuat alias bernama mycal dan menjalankan alias, seperti yang ditunjukkan pada gambar
berikut:

sysadmin @ localhost : ~ $ alias mycal = "cal 2019"


sysadmin @ localhost : ~ $ mycal
2019
Januari Februari Maret
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 1 2 1 2
6 7 8 9 10 11 12 3 4 5 6 7 8 9 3 4 5 6 7 8 9
13 14 15 16 17 18 19 10 11 12 13 14 15 16 10 11 12 13 14 15 16
20 21 22 23 24 25 26 17 18 19 20 21 22 23 17 18 19 20 21 22 23
27 28 29 30 31 24 25 26 27 28 24 25 26 27 28 29 30
31

Alias yang dibuat dengan cara ini hanya bertahan selama shell terbuka. Setelah shell ditutup,
alias baru hilang. Selain itu, setiap shell memiliki alias sendiri, jadi alias yang dibuat dalam satu
shell tidak akan tersedia di shell baru yang dibuka.

Perintah type dapat mengidentifikasi alias ke perintah lain:

sysadmin @ localhost : ~ $ ketik ll


ll alias alias `ls -alF '
sysadmin @ localhost : ~ $ ketik -a ls
ls alias ke `ls --color = auto '
ls adalah / bin / ls

Output dari perintah-perintah ini menunjukkan bahwa ll adalah alias untuk ls -alF, dan bahkan ls
adalah alias untuk ls --color = auto

5.5.4 Fungsi
Fungsi juga dapat dibangun menggunakan perintah yang ada untuk membuat perintah baru, atau
untuk menimpa perintah bawaan ke shell atau perintah yang disimpan dalam file. Alias dan
fungsi biasanya dimuat dari file inisialisasi ketika shell pertama kali dimulai

5.6 Mengutip
Tanda kutip digunakan di seluruh administrasi Linux dan sebagian besar bahasa pemrograman
komputer untuk membiarkan sistem tahu bahwa informasi yang terkandung dalam tanda kutip
harus diabaikan atau diperlakukan dengan cara yang sangat berbeda dari biasanya akan
diperlakukan. Ada tiga jenis tanda kutip yang memiliki arti khusus bagi Bash shell: tanda kutip
ganda ", tanda kutip tunggal ', dan tanda kutip belakang`. Setiap rangkaian tanda kutip
memperingatkan shell untuk tidak memperlakukan teks dalam tanda kutip dengan cara normal

5.6.1 Kutipan Ganda


Kutipan ganda menghentikan shell dari menafsirkan beberapa metacharacters (karakter khusus),
termasuk karakter glob.
Karakter gumpal, juga disebut kartu liar, adalah simbol yang memiliki arti khusus untuk shell;
mereka ditafsirkan oleh shell itu sendiri sebelum mencoba menjalankan perintah apa pun.
Karakter global termasuk karakter tanda bintang *, pertanyaannya? tandai karakter, dan tanda
kurung [], antara lain.

Globbing akan dibahas secara lebih rinci nanti dalam kursus.

Dalam tanda kutip ganda tanda bintang hanyalah tanda bintang, tanda tanya hanyalah tanda
tanya, dan seterusnya, yang berguna ketika Anda ingin menampilkan sesuatu di layar yang
biasanya merupakan karakter khusus untuk shell. Dalam perintah gema di bawah ini, Bash shell
tidak mengubah pola glob menjadi nama file yang cocok dengan pola:

sysadmin @ localhost : ~ $ echo "Karakter gumpalan adalah *,? dan []"


Karakter glob adalah *,? dan []

Kutipan ganda masih memungkinkan substitusi perintah, substitusi variabel, dan mengizinkan
beberapa karakter meta shell lain yang belum dibahas. Demonstrasi berikut menunjukkan bahwa
nilai variabel PATH masih ditampilkan:

sysadmin @ localhost : ~ $ echo "Path adalah $ PATH"


Pathnya adalah / usr / bin / custom: / home / sysadmin / bin: / usr / local /
sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr /
permainan

5.6.2 Kutipan Tunggal


Kutipan tunggal mencegah shell melakukan interpretasi karakter khusus, termasuk gumpalan,
variabel, substitusi perintah, dan karakter metakarakter lain yang belum dibahas.

Misalnya, untuk membuat karakter $ hanya berarti $, daripada bertindak sebagai indikator untuk
shell untuk mencari nilai variabel, jalankan perintah kedua yang ditampilkan di bawah ini:

sysadmin @ localhost : ~ $ gema Mobil harganya $ 100


Biaya mobil 00
sysadmin @ localhost : ~ $ gema 'Mobil berharga $ 100'
Biaya mobil $ 10

5.6.3 Karakter Backslash


Ada juga teknik alternatif untuk kutipan tunggal pada dasarnya karakter tunggal. Pertimbangkan
pesan berikut:

Layanan ini biaya $ 1 dan jalannya adalah $ PATH

Jika kalimat ini ditempatkan dalam tanda kutip ganda, $ 1 dan $ PATH dianggap variabel.

sysadmin @ localhost : ~ $ echo "Layanan ini biaya $ 1 dan jalannya adalah $


PATH"
‌ Biaya layanan dan jalurnya adalah / usr / bin / custom: / home / sysadmin /
bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin : /
sbin: / bin: / usr / games

Jika ditempatkan dalam tanda kutip tunggal, $ 1 dan $ PATH tidak dianggap sebagai variabel.

sysadmin @ localhost : ~ $ echo 'Layanan ini biaya $ 1 dan jalannya adalah $


PATH'
Layanan ini biaya $ 100 dan jalannya adalah $ PATH

Tetapi bagaimana jika Anda ingin $ PATH diperlakukan sebagai variabel dan $ 1 tidak?

Dalam kasus ini, gunakan karakter garis miring terbalik di depan tanda dolar karakter $ untuk
mencegah shell mengartikannya. Perintah di bawah ini menunjukkan menggunakan karakter:

sysadmin @ localhost : ~ $ echo Layanan ini biaya $ 1 dan jalurnya adalah $


PATH
Layanan ini biaya $ 1 dan pathnya adalah / usr / bin / custom: / home /
sysadmin / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr
/ bin: / sbin: / bin: / usr / game

5.6.4 Backquotes
Backquotes, atau backticks, digunakan untuk menentukan suatu perintah di dalam suatu perintah,
suatu proses yang disebut substitusi perintah. Ini memungkinkan penggunaan perintah yang kuat
dan canggih.

Walaupun mungkin terdengar membingungkan, sebuah contoh seharusnya membuat segalanya


lebih jelas. Untuk memulai, catat output dari perintah date:

sysadmin @ localhost : ~ $ tanggal


Senin 4 Nov 03:35:50 UTC 2018

Sekarang, perhatikan output dari perintah echo:

sysadmin @ localhost : ~ $ echo Hari ini adalah tanggal


Hari ini adalah tanggal

Dalam perintah sebelumnya, tanggal kata diperlakukan sebagai teks biasa, dan shell meneruskan
tanggal ke perintah gema. Untuk menjalankan perintah tanggal dan mengirimkan output perintah
itu ke perintah gema, masukkan perintah tanggal di antara dua karakter backquote:

sysadmin @ localhost : ~ $ echo Today adalah `date`


Hari ini Senin 4 Nov 03:40:04 UTC 2018

5.7 Pernyataan Kontrol


Pernyataan kontrol memungkinkan Anda untuk menggunakan beberapa perintah sekaligus atau
menjalankan perintah tambahan, tergantung pada keberhasilan perintah sebelumnya. Biasanya
pernyataan kontrol ini digunakan dalam skrip, tetapi mereka juga dapat digunakan pada baris
perintah juga

5.7.1 Titik koma


command1; command2; perintah3

Titik koma; karakter dapat digunakan untuk menjalankan banyak perintah, satu demi satu. Setiap
perintah berjalan secara independen dan berurutan; terlepas dari hasil perintah pertama, perintah
kedua berjalan setelah yang pertama selesai, lalu yang ketiga dan seterusnya.

Misalnya, untuk mencetak bulan Januari, Februari dan Maret 2030, jalankan perintah berikut:

sysadmin @ localhost : ~ $kal 1 2030; kal 2 2030; kal 3 2030


Januari 2030
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Februari 2030
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28

Maret 2030
Su Mo Tu We Th Fr Sa
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

5.7.2 Ampelas Ganda


command1 && command2

Double ampersand && bertindak sebagai logis "dan"; jika perintah pertama berhasil, maka
perintah kedua juga akan berjalan. Jika perintah pertama gagal, maka perintah kedua tidak akan
berjalan.
Untuk lebih memahami bagaimana ini bekerja, pertimbangkan dulu konsep kegagalan dan
keberhasilan untuk perintah. Perintah berhasil ketika mereka bekerja dengan baik dan gagal
ketika terjadi kesalahan. Sebagai contoh, perhatikan perintah ls. Perintah berhasil jika direktori
yang diberikan dapat diakses dan gagal jika tidak.

Dalam contoh berikut, perintah pertama berhasil karena direktori / etc / ppp ada dan dapat
diakses sementara perintah kedua gagal karena tidak ada direktori junk:

sysadmin @ localhost : ~ $ ls / etc / ppp


ip-down.d ip-up.d
sysadmin @ localhost : ~ $ ls / etc / junk
ls: tidak dapat mengakses / etc / junk: Tidak ada file atau direktori seperti
itu

Untuk menggunakan keberhasilan atau kegagalan perintah ls bersama dengan && jalankan
perintah seperti berikut. Pada contoh pertama, perintah echo dieksekusi karena perintah ls
berhasil:

sysadmin @ localhost : ~ $ ls / etc / ppp && echo sukses


ip-down.d ip-up.d
keberhasilan

Dalam contoh kedua, perintah gema tidak dieksekusi karena perintah ls gagal:

sysadmin @ localhost : ~ $ ls / etc / junk && echo sukses


ls: tidak dapat mengakses / etc / junk: Tidak ada file atau direktur seperti
itu

5.7.3 Pipa Ganda


command1|| perintah2

Pipa ganda || adalah logis "atau". Bergantung pada hasil dari perintah pertama, perintah kedua
akan berjalan atau dilewati.

Dengan pipa ganda, jika perintah pertama berjalan dengan sukses, perintah kedua dilewati; jika
perintah pertama gagal, maka perintah kedua dijalankan. Dengan kata lain, Anda pada dasarnya
memberi tahu shell, "Jalankan perintah pertama ini atau yang kedua".

Dalam contoh berikut, perintah echo hanya dijalankan jika perintah ls gagal:

sysadmin @ localhost : ~ $ls / etc / ppp || gema gagal


ip-down.d ip-up.d
sysadmin @ localhost : ~ $ls / etc / junk || gema gagal
ls: tidak dapat mengakses / etc / junk: Tidak ada file atau direktori seperti
itu
gagal
Proses Instalasi Ubuntu di VirtualBox

Anda mungkin juga menyukai