Materi Siswa Command Line

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 dasar
  • ls -a Mencantumkan semua file, termasuk file yang biasanya tersembunyi
  • ls -l Daftar panjang, yang menampilkan informasi tentang setiap file
  • ls -R Rekursif, mencantumkan konten direktori
  • ls -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.

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:

  1. Direktori yang ingin Anda akses tidak dapat diakses dari direktori kerja Anda saat ini.
  2. Ada dua direktori yang memiliki nama awal yang mirip (seperti Documents dan Downloads) dan Anda belum memberikan informasi yang cukup bagi pelengkapan otomatis untuk mengetahui mana yang diinginkan. Tekan tab lagi untuk melihat daftar direktori yang cocok dengan yang Anda ketik. Lalu ketik sedikit lagi (cukup sehingga hanya ada satu kecocokan) dan tekan tab lagi.
  3. 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:

  1. Kita menggunakan perintah mv - singkatan dari move.
  2. Ikuti perintah pindahkan dengan nama file atau folder yang ingin Anda pindahkan.
  3. 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

  1. Buat 5 file teks (.txt).
  2. Buat direktori baru.
  3. Pindahkan 5 file yang telah Anda buat ke dalam folder.
  4. 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:

  1. Perintah cp - singkatan dari copy
  2. Nama file yang akan disalin
  3. 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.

  1. Perintah cp -R - singkatan dari copy recursive - gunakan ini untuk folder yang kosong dan tidak kosong
  2. Nama sumber (folder atau file yang ingin dipindahkan)
  3. 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

  1. Buat file yang bernama my_original.txt
  2. Buat salinan my_original.txt yang diberi nama baru di folder yang sama.
  3. Buat direktori baru.
  4. Buat salinan direktori tersebut, tetapi beri nama dengan yang berbeda.
  5. 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

  1. Buat 4 file.
  2. Hapus 2 file.
  3. Buat folder.
  4. Buat folder lain dan buat file di dalam folder ini.
  5. 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

  1. Gabungkan lagi semua file Anda, lalu jadikan kota pilihan Anda. Atur ulang file lagi, sambil tetap di kota tersebut.
  2. Coba salah satu game command line seru yang ditautkan di bawah
    Game Terminus
    Game Lanjutan (siap untuk Google)
  3. Penggemar berat Star Wars? Coba jalankan telnet towel.blinkenlights.nl di command line, lalu tekan enter.... (Perhatikan bahwa di MacOS versi terbaru, perintah telnet tidak lagi diinstal secara default; dalam hal ini, perintah nc 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.

perayaan

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

  1. 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"
  1. 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.
  2. 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.
  3. 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.
# 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 .., atau cd <folder name>.
  • Lihat konten folder menggunakan ls.
  • Buat file menggunakan touch; buat folder menggunakan mkdir.
  • 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?

  1. pwd
  2. ls
  3. cd
  4. mkdir
  5. touch

Pertanyaan 2

Bagaimana cara naik 2 tingkat dari direktori kerja Anda saat ini?

  1. mv ~
  2. cd ../..
  3. mv up/up
  4. cd ^(2)

Pertanyaan 3

Perintah mana yang akan Anda gunakan untuk mengganti nama file?

  1. mv
  2. cd
  3. ls
  4. python
  5. rename

Pertanyaan 4

Mengapa perintah mv script.py memunculkan error?

  1. Karena ‘script.py' adalah nama file yang tidak valid.
  2. Karena perintah mv tidak dapat diikuti oleh informasi lainnya.
  3. Ini adalah pertanyaan trik; tidak akan melemparkan error.
  4. Karena memindahkan file memerlukan setidaknya dua argumen - target dan tujuan

Pertanyaan 5

Apa yang akan dilakukan perintah cd ~?

  1. Ubah direktori kerja Anda ke direktori utama Anda.
  2. Ulangi perintah sebelumnya.
  3. Gunakan algoritme untuk menentukan perintah yang paling berguna saat ini.
  4. Menampilkan error.

Pertanyaan 6

Manakah dari berikut ini yang BUKAN merupakan alasan penggunaan tab untuk melengkapi nama file secara otomatis?

  1. Karena dapat menghemat waktu.
  2. Karena hal ini membantu menghilangkan error ejaan.
  3. 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?

  1. Karena touch tidak dapat membuat file baru.
  2. Karena .py bukan ekstensi file yang valid.
  3. Karena akan dibuat dua file, satu disebut "my" dan satu lagi disebut "script.py" bukan hanya satu.
  4. 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:

  1. move
  2. mkdir
  3. pwd
  4. cd

Pertanyaan 2

Perintah apa yang akan Anda jalankan jika ingin membuka folder induk dari direktori kerja saat ini?

  1. cd up
  2. cd .
  3. cd ..
  4. cd ~

Pertanyaan 3

Perintah mana yang digunakan untuk membuat file?

  1. touch
  2. mkdir
  3. create
  4. pwd

Pertanyaan 4

Manakah dari perintah berikut yang akan membuat dua file bernama index.html dan style.css?

  1. touch index.html, touch style.css
  2. touch index.html, style.css
  3. touch index.html style.css
  4. touch index.html + style.css

Pertanyaan 5

Perintah mana yang Anda gunakan untuk mengganti nama file atau folder?

  1. rename
  2. move
  3. mv
  4. rm

Pertanyaan 6

Flag apa yang diperlukan perintah rm dan cp untuk bekerja di folder?

  1. -f
  2. -r
  3. -x
  4. -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
  1. pwd
  2. cd projects
  3. mv ~ projects
  4. cd ~/Documents
  5. ls

Pertanyaan 8

Apa yang akan dilakukan dengan perintah berikut?

rm -r projects

  1. Hapus file bernama projects
  2. Hapus folder bernama projects
  3. Mengganti nama file yang bernama projects
  4. 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.