Pengenalan Shell
|
Shell adalah sebuah program yang tujuannya untuk membaca perintah dan menjalankan program dari perintah tersebut.
Keuntungan terbesar penggunaan shel adalah rasio action-to-keystroke yang sangat tinggi, kemampuannya mendukung repetitive tasks, dan kapasitasnya mengakses mesin lain dalam jaringan.
Kelemahan terbesar shell adalah bekerja secara textual dan kadang beberapa perintah operasinya tidak jelas kecuali anda memberikan option yang detail
Bash merupakan jenis shell default dan paling banyak dipakai pada terminal/konsole sistem operasi berbasis Linux dan Unix, untuk membuka bash pada terminal Linux tekan Ctrl+Alt+T.
Workflow dari sebuah shell adalah REPL: read, evaluate, print, loop.
|
Navigasi File dan Direktori
|
File system bertanggun jawab dalam mengatur informasi pada disk komputer.
Informasi disimpan dalam file, yang mana disimpan dalam direktori.
Direktori dapat disimpan dalam direktori lain yang membentuk directory tree.
cd path changes the current working directory.
ls path prints a listing of a specific file or directory; ls on its own lists the current working directory.
pwd prints the user’s current working directory.
whoami shows the user’s current identity.
/ on its own is the root directory of the whole file system.
Sebuah relative path menunjukkan lokasi dari current location.
Sebuah absolute menunjukkan lokasi dari root of the file system.
Nama direktori dipisahkan dengan ‘/’ pada Linux/Unix, tetapi pada Windows pada ‘\’.
’..’ menunjukkan direktori diatasnya’; sedangkan ‘.’ menunjukkan ‘the current directory’.
Kebanyakan file diberi nama namafile.ekstensi . Ekstensi tidak harus ada, tapi biasanya digunakan untuk menunjukkan tipe file.
Kebanyakan perintah menggunakan opsi (flags) yang diawali dengan ‘-‘.
|
Bekerja dengan File dan Direktori
|
cp lama baru mengcopy file lama ke baru.
mkdir path membuat direktori baru.
mv old new me-rename/memindah file atau direktori.
rm path menghapus file atau direktori.
rmdir direktorikosong menghapus direktori kosong.
touch namafile.txt membuat dan mengedit file baru namafile.txt
Shell tidak mempunyai trash bin (recycle bin): artinya sekali dihapus hilang selamanya.
|
Pipes dan Filters
|
cat menampilkan isi dari input/argumennya.
head menampilkan beberapa baris pertama dari inputnya.
tail menampilkan beberapa baris terakhir dari inputnya.
sort mensortir input.
wc menghitung baris, kata dan karakter dari input.
* mencocokkan nol atau lebih karakter dalam nama file, misal *.txt akan mencocokkan semua file yang berakhiran dengan ekstensi .txt .
? mencocokkan satu karakter apapun dalam nama file, misal ?.txt akan mencocokkan dengan a.txt tetapi tidak cocok denganany.txt .
command > file menyalurkan output perintah command ke dalam file .
first | second adalah sebuah pipeline: output dari first digunakan sebagai input dari second.
Cara terbaik menggunakan shell adalah dengan menggunakan pipes untuk mengkombinasikan program single-purpose sederhana (filters).
|
Loops
|
Sebuah loop for melakukan perintah yang sama untuk semua file dalam sebuah list.
Semua loop for membutuhkan variabel untuk mengeksekusi operasi yang dilakukan terhadap file tersebut.
Gunakan $name atau untuk mengexpand variabel, yakni untuk mendapatkan nilainya.
Jangan menggunakan spasi, quotes, atau karakter wildcard seperti ‘*’ or ‘?’ dalam nama file.
Gunakan nama file yang konsisten agar mudah untuk menggunakan pola wildcard dalam membuat looping.
Gunakan panah ke atas untuk melihat perintah yang digunakan sebelumnya.
Gunakan Ctrl-R untuk mencari perintah yang pernah digunakan.
Gunakan perintah history untuk melihat perintah-perintah terakhir digunakan dan gunakan !number untuk mengulang perintah sesuai nomor yang ditampilkan.
|
Mencari File
|
find untuk mencari file sesuai kata kunci/pola
grep untuk memilih baris yang cocok dengan pencarian.
--help digunakan untuk menampilkan informasi yang terkandun pada perintah (di depannya).
man command digunakan untuk menampilkan manual (manpages ) dari suatu perintah.
$(command) memasukkan output dari perintah
|
Skrip Shell
|
Menyimpan perintah dalam file (disebut skrip shell) agar dapat di re-use.
Menjalankan perintah yang disimpan dalam file dengan perintah bash filename
$@ merefer semua parameter skripp shell.
$1 , $2 , dll merefer nilai pertama parameter, nilai kedua dst.
Gunakan tanda quote untuk nilai yang memiliki spasi.
|
The following is an overview of a standard Unix filesystem.
The exact hierarchy depends on the platform,
so you may not see exactly the same files/directories on your computer: