Command line adalah cara untuk mengontrol komputer tanpa GUI. Di unit ini, kita akan mempelajari perintah dasar untuk berinteraksi dengan komputer.
Poin-Poin Penting
- Siswa akan menggerakkan komputer mereka dengan perintah.
- Siswa akan membuat, memindahkan, menyalin, serta menghapus file dan folder.
Apa itu Command Line?
Umumnya pengguna menggunakan Graphical User Interface (GUI) untuk berinteraksi dengan komputer. GUI biasanya mengandalkan mouse atau sentuhan untuk memanipulasi jendela dengan ikon, tombol, scroll bar, dll.
Baris perintah adalah tampilan alternatif ke dalam komputer. Terkadang disebut sebagai "cangkang", "terminal", "bash", atau "antarmuka teks", baris perintahnya adalah:
- Sarana berinteraksi dengan program komputer tempat pengguna mengetik perintah, misalnya:
open README.txt
- Cara bernavigasi dan mengoperasikan komputer tanpa mouse.
- Cara yang tidak vulgar untuk membuat, membaca, mengupdate, mengoperasikan, dan menghapus file dan direktori Anda, mis.:
mv README.txt readme.txt
GUI dan Command Line melihat hal yang sama! Keduanya merupakan cara yang berbeda untuk berinteraksi dengan komputer.
Kapan Kita Menggunakan Command Line?
Antarmuka command line sering kali lebih disukai oleh developer:
- Iklan ini menyediakan cara yang lebih ringkas untuk mengontrol program atau sistem operasi. Mengapa demikian? Karena semuanya terjadi di jendela yang sama, dan dengan praktiknya, upaya menjadi lebih mudah daripada menemukan dan memanipulasi sesuatu dengan mouse.
- Maskapai ini dengan mudah menampilkan opsi untuk mengontrol perintah. Mengapa demikian? Menu di GUI memberikan sejumlah kecil opsi. Ada banyak perintah dalam command line, dan beberapa karakter yang ditambahkan ke perintah dapat membuatnya melakukan berbagai hal. Misalnya
ls
File daftar dasarls -a
Mencantumkan semua file, termasuk file yang biasanya tersembunyils -l
Daftar panjang, yang menampilkan informasi tentang setiap filels -R
Rekursif, mencantumkan konten direktorils -la
Daftar panjang semua file- Alat-alat ini mempermudah Anda untuk menangani banyak file sekaligus dengan cara yang rumit.
for i in *.png; do pngtogif $i `echo $i | sed s/png/gif/`; done
- Mereka menyediakan cara untuk memprogram sistem operasi (program shell) mis. Contoh di atas adalah program shell yang sangat sederhana yang dirancang untuk memodifikasi gambar dengan nama file yang diakhiri dengan
.png
.
Cara Command Line
Bagian dari Command Line Command
Semua perintah memiliki tiga bagian:
- Perintah (atau utilitas) selalu didahulukan.
- Flag bersifat opsional, bergantung pada utilitas yang Anda gunakan. Tanda selalu diawali dengan - (minus).
- Argumen adalah hal yang harus ditindaklanjuti oleh perintah, atau informasi yang diperlukan. Sering menggunakan nama file.
Pembingkaian
Tujuan &konteks
Command line adalah cara untuk mengontrol komputer tanpa mouse atau GUI (Graphic User Interface). Sebelum Komputer Apple mulai membuat mesin dengan ikon dan folder yang dapat Anda klik, satu-satunya cara untuk berinteraksi dengan komputer Anda adalah melalui baris perintah.
Sebagai developer, kami menggunakan command line karena jauh lebih cepat dan lebih canggih daripada GUI - tidak perlu membuang waktu untuk mengklik. Command line dapat digunakan untuk melakukan hampir semua interaksi dengan komputer.
Karena terminal adalah antarmuka yang jauh lebih sederhana, terminal ini memiliki keuntungan besar dibandingkan GUI bila Anda perlu terhubung dari jarak jauh ke komputer melalui link jaringan. Hal ini biasanya dilakukan oleh developer, misalnya saat bepergian.
Dalam pelajaran ini, kita akan mempelajari perintah dasar untuk berinteraksi dengan komputer melalui: membuat file dan direktori, memindahkan folder, mengubah direktori, dan membuat daftar isi folder.
Tujuan pembelajaran
Siswa akan dapat
- Menggunakan Terminal untuk membuka file dan folder
- Mencantumkan konten folder
- Membuat file dan folder di command line
- Memindahkan file dan folder
- Menyalin file dan folder
- Menghapus file dan folder
Memulai
Mengakses Terminal
Framing bagian dan tujuan
Terminal menyediakan Antarmuka Command Line (CLI) ke sistem operasi. Dengan ini, Anda dapat memberikan petunjuk berbasis teks langsung kepada komputer.
Untuk melakukannya, kami perlu meluncurkan terminal Anda berdasarkan sistem yang Anda gunakan.
Saat terminal diluncurkan, komputer akan dimulai di direktori home komputer (apa pun nama yang Anda gunakan untuk komputer). Direktori utama Anda ditunjukkan dengan tilde ~
.
Saat membahas dunia kita di dalam Terminal, Director sama dengan Folder (terkadang kita dapat menyebutnya Directories).
Mengubah Direktori
Framing bagian dan tujuan
Untuk berbicara dengan komputer kami di Terminal dan memberitahukan apa yang ingin kami lakukan, kami perlu bicara dalam bahasa yang sama. Command Line memahami perintah yang ditulis dalam bahasa skrip bash. Perintah tersebut adalah akronim atau singkatan dari kata bahasa Inggris.
Direktori Kerja Pencetakan (pwd
)
Saat menavigasi di terminal, penting untuk mengetahui lokasi Anda (ini juga berarti langsung ke kehidupan nyata - jika Anda ingin pergi ke suatu tempat, pertama-tama Anda harus mengetahui lokasi Anda saat ini).
# See your current location - abbreviation for 'print working directory'
pwd
Cantumkan file dan direktori yang tersedia
Di dalam direktori kerja, ada beberapa file yang dapat Anda akses. Biasanya, kami mengandalkan isyarat visual seperti ikon untuk memberi tahu kami apa yang tersedia, tetapi akan sulit menavigasi komputer kami jika kami hanya menebak di mana file dan folder berada. Pada command line, kita akan menggunakan perintah tertentu untuk mencantumkan apa saja yang dapat diakses dari direktori kerja tertentu / lokasi tertentu.
Untuk melihat file atau folder mana dalam direktori kami saat ini, gunakan perintah ls
(singkatan dari daftar) untuk melihat tampilan daftar konten.
# See files and folders in current location - abbreviation for 'list'
ls
Ubah direktori kerja
Jika memerlukan akses ke file atau direktori yang tidak ada dalam daftar, sebaiknya ubah direktori kerja agar dapat diakses dengan lebih mudah.
Sintaksis untuk memberi tahu Command Line untuk memindahkan Anda ke direktori baru (juga dikenal sebagai folder) adalah cd
yang diikuti (pada baris yang sama) oleh jalur ke folder baru.
Jika Anda membuka direktori yang berada di dalam direktori yang saat ini ada Anda (yaitu subfolder direktori kerja), gunakan perintah cd
diikuti dengan nama folder.
# Change your current working directory (current location)
# Abbreviation for 'change directory'
cd Documents
Anda juga dapat bernavigasi mulai dari direktori beranda ~.
# Add a `~/` to begin from the home directory.
cd ~/Downloads
Jika Anda mengubah direktori tetapi perlu mengubahnya kembali ke direktori utama, lakukan dengan menavigasi langsung ke beranda menggunakan ~
, atau dengan menggunakan ..
untuk menavigasi satu tingkat.
# Option 1: navigate directly to the home directory
cd ~
# Option 2: navigate back one level
cd ..
Perhatikan bahwa cd ..
hanya naik (kembali) satu tingkat, jadi jika Anda telah mengubah direktori tiga kali sejauh ini (turun tiga tingkat), Anda harus menggunakan cd ..
tiga kali untuk pergi ke rumah, tetapi hanya perlu menggunakan cd ~
sekali.
Tantangan mini
- Gunakan
ls
untuk melihat apa yang ada di dalam direktori Anda saat ini. - Kembali ke direktori utama Anda dan gunakan
ls
untuk melihat konten folder beranda. - Pilih nama salah satu folder yang berada di dalam direktori utama dan buka folder baru ini.
- Gunakan perintah daftar untuk melihat isinya.
Tips: Pelengkapan otomatis dengan tab
Saat mengubah direktori dengan perintah cd
, kesalahan ketik tunggal akan mencegah perintah dijalankan dengan benar. Namun, menggunakan kunci tab
akan dilengkapi otomatis dengan nama direktori yang tersedia yang ada di dalam direktori Anda saat ini. Jadi, daripada mengetik cd Documents
, cukup ketik cd Do
, lalu tekan tombol tab
dan terminal akan otomatis melengkapi perintah cd Documents/
(/
di akhir bersifat opsional, tetapi memberi tahu Anda bahwa tujuannya adalah direktori).
Pelengkapan otomatis ini tidak hanya menghemat waktu saat berfungsi, tetapi juga memberikan informasi berharga jika tidak berfungsi. Jika tombol tab tidak melengkapi otomatis, kemungkinan Anda telah membuat salah satu dari tiga masalah yang sangat umum:
- Direktori yang ingin Anda akses tidak dapat diakses dari direktori kerja Anda saat ini.
- Ada dua direktori yang memiliki nama awal yang mirip (seperti
Documents
danDownloads
) dan Anda belum memberikan informasi yang cukup bagi pelengkapan otomatis untuk mengetahui mana yang diinginkan. Tekantab
lagi untuk melihat daftar direktori yang cocok dengan yang Anda ketik. Lalu ketik sedikit lagi (cukup sehingga hanya ada satu kecocokan) dan tekantab
lagi. - Anda sudah menyertakan salah ketik di paruh pertama kata.
Semakin cepat Anda terbiasa menggunakan tab untuk melengkapi perintah secara otomatis, semakin besar kemungkinan Anda menangani situasi yang menjengkelkan saat perintah tampaknya tidak berfungsi.
Direktori Orang Tua dan Anak
Direktori dan file dapat memiliki hubungan turunan dan induk satu sama lain. Jika directory_b
berada di dalam directory_a
, directory_b
disebut sebagai turunan dari directory_a
. directory_a
kemudian dikenal sebagai induk directory_b
. Jika item ketiga, my_file
, berada di dalam directory_b
, item tersebut dianggap sebagai turunan dari directory_b
dan cucu dari directory_a
.
Hubungan ini sering diilustrasikan di forum dengan diagram teks, seperti ini:
directory_a/ directory_b/ my_file
Perhatikan bahwa nama direktori diakhiri dengan /
sedangkan nama file tidak. Organisasi hierarkis ini biasanya disebut sebagai struktur pohon sistem file.
Saudara kandung
Jika ada beberapa file atau folder di tingkat yang sama, file tersebut dikenal sebagai saudara. Contoh: Jika file_b
dan file_c
berada di dalam directory_a
, keduanya adalah saudara.
Diagram teks tersebut akan terlihat seperti ini:
directory_a/ file_b file_c
Perhatikan bahwa karena file_b
dan file_c adalah bersaudara, keduanya diindentasi dalam jumlah yang sama.
Jalur File
Berikut adalah diagram teks yang lebih kompleks yang menampilkan hubungan orang tua-anak dan saudara kandung.
north_america/ united_states/ new_york/ new_york_city/ manhattan queens staten_island bronx brooklyn california/ mountain_view los_angeles illinois/ chicago mexico/ mexico_city
Dalam contoh ini, new_york_city/
adalah nama direktori, tetapi juga memiliki jalur, yang berisi detail cara menuju ke sana: ~/north_america/united_states/new_york/new_york_city/
.
Untuk mengubah direktori menjadi new_york_city/,
, Anda dapat melakukan navigasi dalam langkah-langkah menggunakan nama, atau Anda dapat membuka seluruh bagian dalam satu perintah menggunakan jalur.
# Option 1: in four steps, using directory names.
cd ~ # navigate home, where these folders are located
cd north_america/
cd united_states/
cd new_york/
cd new_york_city/
# Option 2: in one step, using the path.
cd ~/north_america/united_states/new_york/new_york_city/
Ringkasan Perintah Navigasi
# See your current location - abbreviation for 'print working directory'
pwd
# Change to a new location - abbreviation for 'change directory'
cd ~/Downloads
# Navigates into a child directory called `some_directory`
# Only works if `some_directory` is a child of the current directory
cd some_directory
# Navigates into the parent of the current directory
# `..` is shorthand for parent.
cd ..
# Will take you back home
cd
Tantangan mini
- Gunakan
pwd
untuk mengetahui folder yang sedang Anda buka. - Ubah ke direktori yang berbeda dan konfirmasi lokasi baru Anda.
- Coba lagi dan buka folder lain. Gunakan perintah baru untuk melihat lokasi Anda dan juga melihat file di dalam direktori ini.
Membuat File & Directories
Framing bagian dan tujuan
Sebagai developer, kita perlu membuat file dengan kode. Agar file tetap teratur, kita harus membuat folder / direktori tempat kita dapat menyimpan file.
Perhatikan lokasi Anda di terminal sebelum membuat file dan folder.
# See your current location.
pwd
Untuk membuat file, gunakan perintah touch
diikuti dengan nama file.
# `touch` creates a new file.
touch style.css
Saat membuat file, tambahkan ekstensi file untuk menentukan jenisnya. Contoh jenis file:
.js
membuat sebagai file JavaScript.html
buat file HTML.css
membuat file CSS.md
membuat file markdown
Nama file tidak boleh berisi spasi.
# make a file - this will create a file in the current folder
touch my_text_file.txt
# make a file - this will create a file on the desktop
touch ~/Desktop/my_new_style_sheet.css
Membuat beberapa file
Anda dapat membuat beberapa file sekaligus dengan menyertakan spasi di antara setiap nama.
# make multiple files - this will create multiple files in the current folder
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html
Membuat direktori
Untuk membuat direktori / folder, gunakan perintah mkdir
- singkatan dari ‘make directory' - diikuti dengan nama folder.
# make a folder - this will create a directory in the current folder
mkdir my_new_folder
# make a folder - this will create a directory on your desktop
mkdir ~/Desktop/my_new_desktop_folder
Membuat beberapa direktori
Anda dapat membuat beberapa folder sekaligus dengan menyertakan spasi di antara setiap nama folder.
# make multiple folders - this will create multiple folders in the current
# directory
mkdir folder_one folder_two folder_three
Tantangan mini
- Buat file baru.
- Buat beberapa file dalam satu perintah.
- Buat direktori baru.
- Buat beberapa direktori baru lainnya. Coba gunakan satu perintah saja untuk melakukannya.
- Dengan menggunakan pengetahuan Anda tentang cara menavigasi direktori serta membuat file dan folder, buat 'family_tree' di desktop menggunakan file dan folder.
Pindah & Menyalin
Memindahkan File & Direktori
Framing bagian dan tujuan
Kita dapat memindahkan file atau folder pada command line, tetapi kita harus menentukan tiga hal:
- Kita menggunakan perintah
mv
- singkatan dari move. - Ikuti perintah pindahkan dengan nama file atau folder yang ingin Anda pindahkan.
- Ikuti nama file dengan tujuan tempat Anda ingin memindahkannya.
Misalnya, jika Anda memiliki struktur file seperti ini:
my_child_folder/ my_parent_folder/
Anda dapat melihat bahwa keluarga tidak ditata sebagaimana mestinya - mereka adalah saudara kandung ketika seharusnya menjadi orang tua dan anak. Gunakan perintah ini:
# move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder
mv my_child_folder/ my_parent_folder/
Struktur yang dihasilkan akan terlihat seperti ini.
my_parent_folder/ my_child_folder/
Berikut adalah beberapa variasi lain dari perintah mv
:
# move a directory - this will move the folder `my_folder` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_folder ~/Desktop/my_desktop_folder
# move a file - this will move the file `my_file.txt` into the file named
# `my_folder` that is in the current folder
mv my_file.txt my_folder
# move a file - this will move the file `my_file.txt` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_file.txt ~/Desktop/my_desktop_folder
Peringatan: mv
juga merupakan perintah untuk mengganti nama file menggunakan sintaksis mv old_name new_name
. Ini berarti bahwa jika Anda memindahkan file ke direktori yang tidak ada, atau jika Anda salah mengeja tujuan, file tersebut akan diganti namanya, bukan dipindahkan.
Tantangan mini
- Buat 5 file teks (.txt).
- Buat direktori baru.
- Pindahkan 5 file yang telah Anda buat ke dalam folder.
- Buat folder dan pindahkan folder baru ini ke dalam folder lain.
Menyalin File & Direktori
Framing bagian dan tujuan
Saat membuat aplikasi web, kita mungkin ingin menduplikasi file (jika kita membuat dua halaman web yang serupa, kita mungkin tidak ingin memulai dari awal), dan sintaksis untuk perintah cp
(salin) sangat mirip dengan sintaksis mv
.
Menyalin file
Perintah salin memiliki tiga bagian:
- Perintah
cp
- singkatan dari copy - Nama file yang akan disalin
- Nama salinan (jika berada di folder yang sama) atau lokasi dan nama (jika dipindahkan ke folder lain).
# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`
# The copy will be located in your Documents folder.
cp my_file.txt ~/Documents/my_file_copy.txt
# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`.
# Since no directory was specified, this will occur within the same folder.
cp my_file.txt my_file_copy.txt
Jika ingin salinan tetap sama dengan nama aslinya, Anda dapat menentukan lokasi salinan tanpa nama file.
# Copy a file named `my_file.txt` to your Documents folder.
# The destination ends with a directory, so the copy will have the same name.
cp my_file.txt ~/Documents/
Memiliki banyak file dengan nama yang sama bisa membingungkan, jadi hanya gunakan metode ini jika Anda yakin itulah yang Anda butuhkan.
Menyalin direktori
Menyalin folder atau direktori sedikit lebih rumit, karena Anda mungkin tidak hanya ingin menyalin folder, tetapi juga semua yang ada di dalamnya.
- Perintah
cp -R
- singkatan dari copy recursive - gunakan ini untuk folder yang kosong dan tidak kosong - Nama sumber (folder atau file yang ingin dipindahkan)
- Nama salinan (jika berada di folder yang sama) atau lokasi dan nama (jika dipindahkan ke folder lain).
Peringatan: Saat menentukan nama untuk salinan, jika file atau folder tidak dibuat sebelumnya, file atau folder tersebut akan dibuat saat Anda membuat salinan. Jika file dibuat sebelum Anda menjalankan perintah salin, file tersebut akan menimpa apa pun yang sebelumnya ada di file, jadi berhati-hatilah.
# copy a directory named `my_folder` from your Desktop folder to a folder
# called `my_folder_copy` in your Documents folder
cp -R ~/Desktop/my_folder ~/Documents/my_folder_copy
# copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder
cp -R my_folder my_folder_copy
Catatan: komponen -R
dari cp -R
disebut flag. Tanda selalu dimulai dengan tanda hubung, dan digunakan bersama dengan perintah untuk memberikan petunjuk yang lebih spesifik tentang bagaimana perintah tersebut dieksekusi.
Tantangan mini
- Buat file yang bernama
my_original.txt
- Buat salinan
my_original.txt
yang diberi nama baru di folder yang sama. - Buat direktori baru.
- Buat salinan direktori tersebut, tetapi beri nama dengan yang berbeda.
- Buat salinan file yang disalin (dari langkah 2), tetapi tempatkan di direktori yang disalin (dari langkah 4).
Menghapus File &Folder
Framing bagian dan tujuan
Kita dapat menghapus file dan folder di command line, tetapi tindakan ini bersifat permanen.
Menghapus file
Untuk menghapus file, kita dapat menggunakan perintah rm
(singkatan dari remove) yang diikuti dengan nama file.
# delete a file in the working directory
rm unwanted_file.txt
# delete a file not in the working directory
rm ~/Desktop/unwanted_file.txt
Menghapus direktori yang kosong
Untuk menghapus direktori kosong, kita dapat menggunakan perintah rmdir
- singkatan dari menghapus direktori - yang diikuti dengan nama folder.
# delete an empty folder
rmdir empty_directory
# delete an empty folder
rmdir ~/Documents/my_files/empty_directory
Menghapus direktori yang tidak kosong
Untuk menghapus folder yang tidak kosong, kita harus menempatkan flag -R
- singkatan dari recursive - setelah perintah rm
yang memberi tahu komputer untuk menghapus konten di dalam folder. Sebagai pintasan, beberapa developer menggunakan flag -Rf
yang dengan paksa menghapus semuanya (jika tidak, Anda mungkin akan menerima perintah untuk menghapus beberapa file atau folder turunan).
# delete a folder which contains other files or folders
rm -R directory_which_isnt_empty
# delete a folder which contains other files or folders
rm -R ~/Downloads/directory_which_isnt_empty
Peringatan: Menggunakan perintah rm
tidak seperti tempat sampah daur ulang atau bagian yang dihapus dari email Anda - file ini tidak dapat dipulihkan dengan mudah. Hati-hati saat menghapus file dengan cara ini.
Tantangan mini
- Buat 4 file.
- Hapus 2 file.
- Buat folder.
- Buat folder lain dan buat file di dalam folder ini.
- Hapus kedua direktori.
Anda dapat menemukan kode untuk lab ini di folder berikut di dalam repositori siswa yang Anda download dari GitHub: command-line/labs/around-the-world
Latar belakang
Semester Anda di luar negeri sudah dekat, dan ini adalah saat Anda mulai merencanakan perjalanan Eropa Anda...
Dengan tiga bulan masa hidup yang serius dalam waktu dekat, Anda ingin memastikan bahwa Anda memanfaatkan sepenuhnya setiap perjalanan akhir pekan.
Untungnya Anda tidak memulai dari awal dan teman Anda telah memberi Anda beberapa aktivitas favorit mereka dari semester mereka di luar negeri. Sayangnya, beberapa file tercampur...
Jangan khawatir, dengan keajaiban command line, Anda akan memperbaikinya dalam waktu singkat!
Tugas
Pastikan setiap kota berada di negara yang benar dan setiap folder kota memiliki monumen yang tepat di dalamnya. Berhati-hatilah atau Anda mungkin berakhir di Amsterdam yang mencari Eiffel Tower!
Jika Anda merasa BENAR yakin dengan hal ini, sembunyikan GUI dan lihat langsung tantangan ini dari command line. Anda harus tetap berada di folder umum di seluruh dunia saat melakukan semua ini, itu berarti menggunakan jalur absolut saat merujuk ke folder dan file.
Setelah Anda yakin semuanya berada di tempat yang tepat, sekarang giliran Anda untuk melakukan perintah selama beberapa bulan ke depan. Diskusikan kota, negara, dan monumen baru yang DIPERLUKAN untuk dilihat dan ditambahkan ke hierarki file Anda!
Selamat! Anda telah resmi mempelajari cara berbicara komputer. Siap melangkah lebih jauh? Mari kita bicara tentang ekstensi...
Ekstensi
- Gabungkan lagi semua file Anda, lalu jadikan kota pilihan Anda. Atur ulang file lagi, sambil tetap di kota tersebut.
- Coba salah satu game command line seru yang ditautkan di bawah
Game Terminus
Game Lanjutan (siap untuk Google) - Penggemar berat Star Wars? Coba jalankan
telnet towel.blinkenlights.nl
di command line, lalu tekan enter.... (Perhatikan bahwa di MacOS versi terbaru, perintahtelnet
tidak lagi diinstal secara default; dalam hal ini, perintahnc towel.blinkenlights.nl 23
dapat digunakan.)
Anda dapat menemukan kode untuk lab ini di folder berikut di dalam repositori siswa yang Anda download dari GitHub: command-line/labs/bashing-away-repetition
Siap untuk membatalkan pengulangan penggunaan command line harian? Bagus, begitu juga saya!
Latar belakang
Jika ada satu hal yang dibenci oleh programmer, itu adalah pengulangan. Sebagai ilmuwan komputer, sudah menjadi tugas kami untuk membuat komputer ini melakukan pekerjaan sebanyak mungkin. Menulis skrip bash akan membantu membuat penggunaan command line kita menjadi lebih efisien.
Pertama-tama, Apa yang dimaksud dengan skrip bash?
Pertanyaan BAGUS. Untungnya, teman kami Ryan Chadwick, yang berada di tempat yang tepat untuk menemukan tutorial command line ini, memiliki jawaban untuk kami.
Skrip Bash memungkinkan kita menentukan serangkaian tindakan yang kemudian akan dilakukan oleh komputer tanpa harus memasukkan perintah sendiri. Jika tugas tertentu sering dilakukan, atau bersifat berulang, maka skrip dapat menjadi alat yang berguna.
Tidak ada pengulangan? Itulah yang saya bicarakan.
Tutorial
Hal pertama yang harus dilakukan adalah agar Anda dapat menjalankan skrip, Anda harus memberikan izin kepada komputer Anda. Lakukan hal ini dengan menjalankan perintah di bawah ini.
chmod 755 myScript.sh
Oke, saatnya menulis program pertama Anda. Buka myScript.sh
(lihat apakah Anda dapat membuka file dari command line). Di akhir file, tambahkan:
echo "Hello World"
Sekarang jalankan:
./myScript.sh
di terminal Anda. ** TA DA ** Anda akan melihat "Hello World" dicetak di terminal Anda.
Semua yang Anda tulis di skrip bash akan berjalan seolah-olah Anda telah mengetiknya di terminal. Mari kita lihat satu contoh lagi sebelum beralih ke ekstensi. Pertama, buat file untuk skrip Anda. Nama file dapat disebut apa saja yang Anda inginkan, tetapi harus memiliki ekstensi .sh
. Berikutnya, pastikan skrip Anda diberikan untuk dijalankan dengan mengetik chmod 755
, kemudian nama skrip di terminal dan tekan enter. Setiap kali memulai skrip bash baru, Anda harus memastikan untuk menyelesaikan kedua langkah tersebut.
Tantangan Pengantar
Sekarang, mari kita coba menulis skrip yang membuat folder baru. Perintah apa yang kita ketahui membuat folder baru? Jika Anda memikirkan kata yang diawali dengan m
dan diakhiri dengan kdir
, Anda berada di jalur yang benar. Tulis perintah yang akan membuat folder baru dan beri nama sesuatu yang keren di file .sh
baru, lalu jalankan di terminal.
Jika berhasil, lanjutkan ke tantangan lain yang tercantum di bawah. Jika masih sedikit bingung, coba lihat kembali lab Anda di seluruh dunia dan pikirkan cara membuat folder negara dan kota baru.
Jangan takut untuk menggunakan tutorial yang ditautkan di atas dan siap untuk mempersiapkan keterampilan Googling terbaik Anda. Tulis dan jalankan skrip yang melakukan hal berikut:
Tugas Utama
- Tambahkan perintah ke file yang Anda buat di atas, yang akan membuka folder yang Anda buat. (Perintah apa yang kita gunakan untuk mengubah direktori?)
- Stempel tanggal nama folder baru. Misalnya, program Anda harus membuat folder bernama "
2017-12-07my_super_cool_folder
"
- Mencetak "Direktori saya saat ini adalah: " diikuti dengan direktori kerja Anda, dan "Berikut daftar semua yang ada di direktori ini! " diikuti dengan konten direktori Anda saat ini.
- Cari tahu cara memberikan input pada skrip bash Anda, dan buat file berdasarkan string input tersebut. Tutorial yang ditautkan sebelumnya di lab memiliki beberapa contoh bagus di bagian variabel untuk dipelajari.
- Minta nama pengguna tersebut, lalu cetak "Hai, senang bertemu Anda masukkan namanya di sini"
- Coba tanyakan info lebih lanjut dan buat pesan yang disesuaikan untuk pengguna.
KONTEKS
Command Line (atau Terminal) menyediakan interaksi langsung dengan Sistem Operasi (OS) komputer - segala sesuatu yang dilakukan antarmuka pengguna grafis (GUI), tetapi melalui perintah teks - dari navigasi, untuk membuat file baru, hingga mengeksekusi skrip. Command line akan digunakan untuk membuka file dan memulai lingkungan pengembangan saat menggunakan Google App Engine.
Cara Command Line
Mengakses Terminal
Pintasan Mac:
- Buka Sorotan dengan Command + spasi.
- Ketik Terminal di Penelusuran Sorotan.
Menavigasi Terminal
# See your current location - abbreviation for 'print working directory'.
pwd
# Change to a new location - abbreviation for 'change directory'.
cd /Users/jsmith/Downloads
# Navigate into a child directory called `some_directory`. This only works if
# `some_directory` is a child of the current directory.
cd some_directory
# Navigate into the parent of the current directory. `..` is shorthand for parent.
cd ..
# Return home.
cd
# Change directories to a folder called `my_folder` that is within the current
# directory.
cd my_folder ```
#### File Path Shorthand `~`
The `~` is generally short for "home". Home can be configured to mean different
things for different users and across different operating systems, but in the
example above, for a Mac user named "jsmith", the `~` is short for that user's
home directory: `/Users/jsmith`.
This means that `~/Downloads` and `/Users/jsmith/Downloads` are the same for
this user. But starting with a `~` allows us to specify absolute file paths
(agnostic of your current working directory, and starting at the root `/`)
without having to write out a full path each time.
### <a id="view"></a>Viewing the Contents of Folders
```bash
# See files and folders in current location - this is an abbreviation for 'list'.
ls
Membuat File &Folder
Membuat File
# Make a file - this will create a file in the current folder.
touch my_text_file.txt
# Make a file - this will create a file on the Desktop.
touch ~/Desktop/my_new_style_sheet.css
# Make multiple files - this will create multiple files in the current folder.
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html
Membuat Folder
# Make a folder - this will create a directory in the current folder.
mkdir my_new_folder
# Make a folder - this will create a directory on your Desktop.
mkdir ~/Desktop/my_new_desktop_folder
# Make multiple folders - this will create multiple folders in the current
# directory.
mkdir folder_one folder_two folder_three
Memindahkan File &Folder
Memindahkan File
# Move a file - this will move the file `my_file.txt` into the folder named
# `my_folder` that is in the current folder.
mv my_file.txt my_folder
# Note that this will rename the file instead of moving it if the destination
# folder does not yet exist. Read below for more details on renaming.
# Move a file - this will move the file `my_file.txt` into the folder named
# `my_desktop_folder` that is located on the Desktop.
mv my_file.txt ~/Desktop/my_desktop_folder
Memindahkan Folder
# Move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder.
mv my_child_folder my_parent_folder
# Move a directory - this will move the folder `my_folder` into the folder
# named `my_desktop_folder` that is located on the Desktop.
mv my_folder ~/Desktop/my_desktop_folder
Pindahan Mengganti Nama
Perlu diingat bahwa mv
juga merupakan perintah yang sama dengan yang digunakan untuk mengganti nama file atau folder.
# Rename a file from `old_name.txt` to `new_name.txt`.
mv old_name.txt new_name.txt
Menyalin File & Folder
Menyalin File
# Copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder.
cp ~/Desktop/my_file.txt ~/Documents
# Copy a file named `my_file.txt` to a file called `my_file_copy.txt` within
# the same folder.
cp my_file.txt my_file_copy.txt
Menyalin Folder
# Copy a directory named `my_folder` (and its contents) from your Desktop
# folder to a folder called `my_folder_copy` in your Documents folder.
cp -r ~/Desktop/my_folder ~/Documents/my_folder_copy
# Copy a directory named `my_folder` (and its contents) from the current
# working directory to a folder called `my_folder_copy` in the current working
# directory.
cp -r my_folder my_folder_copy
Menghapus File &Folder
Menghapus File
# Delete a file in the current working directory.
rm unwanted_file.txt
# Delete a file using its exact location and name.
rm ~/Desktop/unwanted_file.txt
Menghapus Folder
# Delete an empty folder.
rmdir empty_directory
# Delete a folder which contains other files or folders.
rm -r directory_which_isnt_empty
Tips & Trik
- Berlatih menggunakan command line, meskipun Anda tidak membutuhkannya. Seiring waktu, Anda akan menjadi lebih baik.
- Kunci
tab
akan otomatis melengkapi nama file atau folder Anda (dapat peka huruf besar/kecil). - Jika hanya ada satu file atau folder yang cocok, file atau folder tersebut akan dilengkapi secara otomatis.
- Jika ada beberapa file atau folder yang cocok, tekan tab dua kali untuk melihat daftar kecocokan yang tersisa.
- Panah atas / bawah akan mengarahkan histori perintah agar Anda tidak perlu mengetik ulang perintah.
- Gunakan perintah
clear
untuk menghapus jendela Terminal. Proses ini akan menyimpan semua tugas Anda sebelumnya - scroll ke atas untuk melihatnya. - Gunakan
reset
untuk memulai ulang terminal. Tindakan ini tidak akan menyimpan pekerjaan Anda sebelumnya, tetapi dapat menyelesaikan beberapa masalah jika Terminal mulai berperilaku dengan cara yang tidak dapat diprediksi. - Tekan
option
+arrow
untuk memindahkan kursor per kata
Ringkasan Praktik Terbaik
- Buka Terminal menggunakan
cd
,cd ..
, ataucd <folder name>
. - Lihat konten folder menggunakan
ls
. - Buat file menggunakan
touch
; buat folder menggunakanmkdir
. - Pindahkan file dan folder menggunakan
mv <item to move> <destination>
. - Salin file dan folder menggunakan
cp <item to copy> <destination>
. - Hapus file dan folder menggunakan
rm <item to remove>
.
Pertanyaan 1
Apa yang akan Anda gunakan untuk mengidentifikasi direktori kerja Anda saat ini?
pwd
ls
cd
mkdir
touch
Pertanyaan 2
Bagaimana cara naik 2 tingkat dari direktori kerja Anda saat ini?
mv ~
cd ../..
mv up/up
cd ^(2)
Pertanyaan 3
Perintah mana yang akan Anda gunakan untuk mengganti nama file?
mv
cd
ls
python
rename
Pertanyaan 4
Mengapa perintah mv script.py
memunculkan error?
- Karena ‘
script.py
' adalah nama file yang tidak valid. - Karena perintah
mv
tidak dapat diikuti oleh informasi lainnya. - Ini adalah pertanyaan trik; tidak akan melemparkan error.
- Karena memindahkan file memerlukan setidaknya dua argumen - target dan tujuan
Pertanyaan 5
Apa yang akan dilakukan perintah cd ~
?
- Ubah direktori kerja Anda ke direktori utama Anda.
- Ulangi perintah sebelumnya.
- Gunakan algoritme untuk menentukan perintah yang paling berguna saat ini.
- Menampilkan error.
Pertanyaan 6
Manakah dari berikut ini yang BUKAN merupakan alasan penggunaan tab untuk melengkapi nama file secara otomatis?
- Karena dapat menghemat waktu.
- Karena hal ini membantu menghilangkan error ejaan.
- Karena memerlukan lebih sedikit daya pemrosesan.
Pertanyaan 7
Jika developer baru mencoba membuat file bernama "my script.py
", mengapa perintah touch my script.py
tidak berfungsi?
- Karena
touch
tidak dapat membuat file baru. - Karena
.py
bukan ekstensi file yang valid. - Karena akan dibuat dua file, satu disebut "
my
" dan satu lagi disebut "script.py
" bukan hanya satu. - Karena tidak mungkin membuat file baru dari command line.
Pertanyaan 1
Apa yang akan Anda gunakan untuk mengidentifikasi direktori kerja Anda saat ini?
pwd
Pertanyaan 2
Bagaimana cara naik 2 tingkat dari direktori kerja Anda saat ini?
Dengan cd ../..
, Anda naik dua level (setiap ..
mewakili satu level di atas).
Pertanyaan 3
Perintah mana yang akan Anda gunakan untuk mengganti nama file?
mv
digunakan untuk memindahkan file dari satu lokasi ke lokasi lain dan juga dapat digunakan untuk mengubah nama file.
Pertanyaan 4
Mengapa perintah mv script.py
memunculkan error?
Perintah mv
memerlukan dua argumen, yaitu file sumber dan file tujuan.
Pertanyaan 5
Apa yang akan dilakukan perintah cd ~
?
Tindakan ini akan mengubah direktori kerja menjadi direktori beranda Anda. Karakter khusus ~ digunakan untuk mengidentifikasi direktori utama pengguna saat ini. Kode ini juga dapat digunakan dengan nama pengguna yang berbeda: ~user2 untuk mengarahkan ke folder utama mereka.
Pertanyaan 6
Manakah dari berikut ini yang BUKAN merupakan alasan penggunaan tab untuk melengkapi nama file secara otomatis?
Karena memerlukan daya pemrosesan yang lebih kecil karena tidak benar. tab
memerlukan jumlah daya pemrosesan yang sering (dapat diabaikan) untuk memindai folder yang mencari nama file agar dilengkapi secara otomatis, tetapi menghemat waktu dan menghindari kesalahan ejaan dalam prosesnya.
Pertanyaan 7
Jika developer baru mencoba membuat file bernama "my script.py
", mengapa perintah touch my script.py
tidak berfungsi?
Tindakan ini akan membuat dua file, bukan hanya satu. Perintah touch
akan membuat file baru. Dalam ruang terminal, terdapat pemisah, bukan karakter yang akan disertakan dalam nama file. Sebaiknya hindari penggunaan keduanya, tetapi jika Anda harus menggunakannya, nama file harus diawali dengan tanda kutip ganda:
touch "my script.py"
Pertanyaan 1
Perintah terminal untuk mengubah direktori adalah:
move
mkdir
pwd
cd
Pertanyaan 2
Perintah apa yang akan Anda jalankan jika ingin membuka folder induk dari direktori kerja saat ini?
cd up
cd .
cd ..
cd ~
Pertanyaan 3
Perintah mana yang digunakan untuk membuat file?
touch
mkdir
create
pwd
Pertanyaan 4
Manakah dari perintah berikut yang akan membuat dua file bernama index.html
dan style.css
?
touch index.html, touch style.css
touch index.html, style.css
touch index.html style.css
touch index.html + style.css
Pertanyaan 5
Perintah mana yang Anda gunakan untuk mengganti nama file atau folder?
rename
move
mv
rm
Pertanyaan 6
Flag apa yang diperlukan perintah rm
dan cp
untuk bekerja di folder?
-f
-r
-x
-d
Pertanyaan 7
Untuk memindahkan projects
ke ~/Documents
dan mengganti namanya menjadi Projects
, perintah mana yang harus dikosongkan?
cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects
pwd
cd projects
mv ~ projects
cd ~/Documents
ls
Pertanyaan 8
Apa yang akan dilakukan dengan perintah berikut?
rm -r projects
- Hapus file bernama
projects
- Hapus folder bernama
projects
- Mengganti nama file yang bernama
projects
- Telusuri konten direktori saat ini untuk
projects
Pertanyaan 1
Perintah terminal untuk mengubah direktori adalah:
Perintah terminal untuk mengubah direktori adalah cd
. Perintah itu sendiri adalah singkatan dari "change directory".
Pertanyaan 2
Perintah apa yang akan Anda jalankan jika ingin membuka folder induk dari direktori kerja saat ini?
Perintah untuk membuka folder induk adalahcd ..
Pertanyaan 3
Perintah mana yang digunakan untuk membuat file?
Perintah untuk membuat file adalah touch
Pertanyaan 4
Manakah dari perintah berikut yang akan membuat dua file bernama index.html
dan style.css
?
Perintah touch index.html style.css
akan membuat kedua file tersebut. Koma tidak diperlukan dan sejumlah file dapat dibuat dengan cara ini, dipisahkan dengan spasi.
Pertanyaan 5
Perintah mana yang Anda gunakan untuk mengganti nama file atau folder?
Meskipun singkatan dari "move" dan dapat digunakan untuk memindahkan file atau folder, mv
juga dapat digunakan untuk mengganti nama file dan folder.
Pertanyaan 6
Flag apa yang diperlukan perintah rm
dan cp
untuk bekerja di folder?
Perintah rm
dan cp
memerlukan tanda -r
agar berfungsi di folder, karena tanda -r
adalah singkatan dari "recursive" dan menjalankan kembali perintah untuk file dan folder yang ada di dalamnya.
Pertanyaan 7
Untuk memindahkan projects
ke ~/Documents
dan mengganti namanya menjadi Projects
, perintah mana yang harus dikosongkan?
cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects
Karena kita memulai di direktori utama, kita harus menjalankan cd ~/Documents
untuk mendapatkan perintah terakhir agar berjalan di direktori yang benar.
Pertanyaan 8
Apa yang akan dilakukan dengan perintah berikut?
rm -r projects
Perintah ini akan menghapus file ATAU folder bernama projects
karena dipanggil dengan -r
, atau flag rekursif. Tanpa tanda tersebut, perintah ini hanya akan berfungsi untuk menghapus file dengan nama tersebut.