9/15/2017

Links di Linux

Hard link

Kita tidak bisa membuat hard link untuk folder. Kita tidak bisa membuat hard link pada device yang berbeda.
Coba sekarang buat file text bernama senang.txt yang isinya tulisan "Senang sekali." dengan menggunakan nano atau vim atau vi. Sekarang  jalankan command ls -l. Maka Anda akan melihat angka 1 setelah bagian permission.
Sekarang jalankan ln senang.txt sekali.txt. Command barusan akan memberikan Anda sebuah hard link bernama sekali.txt. Lihat isi kedua file (senang.txt dan sekali.txt)! Keduanya memiliki isi yang sama, yaitu teks "Senang sekali.".
Sekarang jalankan command ls -l. Maka Anda akan melihat angka 2 setelah bagian permission pada file senang.txt maupun sekali.txt. Angka itu menunjukan bahwa ada 2 hard link. Perhatikan bahwa ukuran kedua file adalah sama.
Sekarang edit file sekali.txt. Ubah isinya menjadi sesuka Anda. Setelah itu cek isi file senang.txt. Maka isinya akan sama dengan sekali.txt yang telah Anda modifikasi.
Sekarang hapus file senang.txt. Maka Anda akan masih akan memiliki file sekali.txt yang isinya sama dengan senang.txt.

Symbolic link

Keuntungan dari symbolic link adalah symbolic link bisa link ke file yang berbeda device dan juga bisa link ke direktori. Kerugian symbolic link adalah apabila file asli dihapus, maka symbolic link-nya menjadi invalid dan tidak bisa digunakan lagi.
Sekarang jalankan ln -s sekali.txt symbolic.txt. Perintah ini akan membuat symbolic link dari file sekali.txt yang bernama symbolic.txt.
Sekarang Anda jalankan command ls -l. Maka Anda akan melihat tulisan seperti ini: symbolic.txt -> senang.txt. Ini menunjukan bahwa symbolic.txt adalah symbolic link dari file senang.txt.
Jika Anda menghapus file senang.txt, maka symbolic.txt akan menjadi invalid dan tidak bisa digunakan lagi.
Menghapus link bisa berbahaya pada kondisi seperti ini. Sekarang coba buat folder bernama kanon. Sekarang copy semua file berawalan a dari /etc/ ke dalam kanon cp /etc/a* kanon. Sekarang buat symbolic link bernama seru ln -s kanon/ seru/. Sekarang lakukan perintah rm -rf seru/. Dengan begini symbolic link seru akan tetap ada, tetapi seluruh isi file dari folder kanon terhapus. Apabila Anda ingin menghapus symbolic link seru, maka Anda harus menghapusnya dengan cara rm seru. Perhatikan bahwa tidak ada tanda "/" setelah seru (bukan rm seru/).

9/14/2017

File archive

tar adalah program yang sering digunakan untuk membuat file archive di Linux.
Untuk membuat archive, gunakan option -cf atau -cvf jika ingin menampilkan output verbose (melihat apa saja yang terjadi).
Contoh:
tar -cvf archive.tar ~
Perintah di atas akan membuat file archive bernama archive.tar yang isinya adalah home folder Anda.
Untuk menambah file ke dalam archive, gunakan option -rvf.
Contoh:
tar -rvf archive.tar /etc/fstab
Perintah di atas akan menambahkan file /etc/fstab ke dalam archive.
Untuk meng-udpate file di dalam archive gunakan option -uvf. Misalnya tar -uvf archive.tar ~.
Untuk melihat isi archive gunakan option -tvf. Misalnya tar -tvf archive.tar.
Untuk meng-extract file gunakan option -xvf. Misalnya tar -xvf archive.tar. Jika hanya ingin meng-extract suatu file, gunakan perintah seperti ini: tar -xvf archive.tar /file-yang-ingin-di-extract.
Untuk meng-compress file archive, gunakan perintah gzip atau bzip2.
Contoh:
gzip archive.tar
Dengan perintah di atas, file archive.tar akan berubah menjadi archive.tar.gz yang memiliki ukuran file lebih kecil.
Untuk menge-extract compressed archive, sama saja. Dengan perintah tar -xvf.

9/09/2017

IP address dan subnetting

Kelas A, B, dan C

Range IP address kelas A: 1.0.0.0-127.255.255.255.
Range IP address kelas B: 128.0.0.0-191.255.255.255
Range IP address kelas C: 192.0.0.0-223.255.255.255

Default masks

Kelas A: 255.0.0.0
Kelas B: 255.255.0.0
Kelas C: 255.255.255.0 

Subnetting

Cara melakukan subnetting adalah dengan memodifikasi default mask, yaitu dengan mengganti angka 0 dengan angka 1 pada oktet biner dari kiri. Misalnya kita ambil kelas C yang memiliki default mask 255.255.255.0 atau jika ditulis dalam oktet biner 11111111.11111111.11111111.00000000. Default mask seperti ini dapat dinotasikan sebagai /24. Kita akan menambah angka /24 menjadi /27 untuk subnetting. Oktet biner dari /27 adalah 11111111.11111111.11111111.11100000. Berapa jumlah subnet yang terbentuk? Jawabannya adalah 8 yang didapat dari 2^(27-24). Dengan begitu, berikut adalah range IP tiap-tiap subnet-nya:
  • 192.168.88.0-192.168.88.31
  • 192.168.88.32-192.168.88.63
  • 192.168.88.64-192.168.88.95
  • 192.168.88.96-192.168.88.127
  • 192.168.88.128-192.168.88.159
  • 192.168.88.160-192.168.88.191
  • 192.168.88.192-192.168.88.223
  • 192.168.88.224-192.168.88.255
Pada tiap range di atas, bagian yang sebelah kiri sebelum tanda "-" (misalnya 192.168.88.0) adalah network dan bukan host yang bisa digunakan. Bagian yang sebelah kanan setelah tanda "-" (misalnya 192.168.88.31) adalah broadcast address dan bukan host yang bisa digunakan. Jadi, tiap range memiliki 30 host yang bisa digunakan.

9/08/2017

Beberapa pengetahuan dasar tentang shell di Linux

* Sistem operasi yang digunakan adalah CentOS 7.

Eksekusi command

 Di Linux ada tiga jenis command, yaitu:
  • alias;
  • internal command;
  • external command. 
Alias adalah command yang dibentuk dari command-command yang lain beserta arguments-nya. Sekarang coba jalankan command which ls. Maka akan terlihat bahwa command ls sebenarnya adalah alias dari command ls --color=auto. Seperti itulah alias.
Internal command adalah command yang merupakan bagian dari shell itu sendiri dan internal command ini disimpan di dalam memory. Jadi, ketika internal command dipanggil, maka program yang dipanggil adalah program dari memory, bukan dari disk.
External command adalah command yang dipanggil dari disk. Shell mencari executables dari variable $PATH. Untuk melihat, isi dari variable $PATH, jalankan command echo $PATH.
Sekarang coba jalankan perintah time ls dan kemudian /bin/time ls. Kita akan mendapatkan hasil yang berbeda karena command pertama merupakan internal command dan command kedua merupakan external command.

I/O Redirection

STDIN  adalah input, biasanya dari keyboard. STDOUT adalah keluaran yang ditampilkan pada console. STDERR adalah keluaran yang ditampilkan apabila terjadi error.
Berikut adalah beberapa redirector yang umum digunakan:
  • > (sama dengan 1>), redirect STDOUT, isi file ditiban;
  • >> (sama dengan 1>>), redirect STDOUT, isi file ditambah;
  • 2>, redirect STDERR;
  • 2>&1, redirect STDERR dan STDOUT ke tujuan yang sama;
  • <, redirect STDIN.
Coba sekarang Anda jalankan ls tulisapasajadisini, maka Anda akan mendapatkan STDERR. Sekarang redirect STDERR ke /dev/null sehingga pesan error tidak ditampilkan: ls tulisapasajadisini 2> /dev/null. Command yang terakhir me-redirect STDERR ke /dev/null sehingga pesan error tidak ditampilkan.
Sekarang coba Anda pindah ke home directory dengan command cd tanpa argument apapun. Lalu jalankan perintah ls -l > output. Maka Anda akan mendapatkan file bernama output yang bisa Anda coba baca dengan program cat dengan menjalankan cat output.

Pipe

Anda bisa menjadikan output dari suatu program sebagai input untuk program yang lainnya. Fungsi ini dinamakan pipe. Caranya adalah seperti contoh berikut: man -k partition | grep 8. Command man -k mencari nama manual page dan deskripsinya yang memuat kata "partition". Kemudian output dari command tersebut dijadikan input dari program grep yang akan menampilkan baris yang memuat angka "8".

History

History adalah program untuk melihat daftar command apa saja yang sudah kita jalankan. Untuk mengulang command yang pernah kita jalankan, jalankan !angka di mana "angka" adalah angka yang berkaitan pada history. Untuk mengulang command terakhir yang memiliki kata kunci pertama, jalankan !katakunci. Misalnya terakhir kita menjalankan ls -l, maka dengan menjalankan !ls, kita akan menjalankan ls -l.

Tombol Tab

Tombol Tab akan memudahkan kita untuk melengkapi command. Misalnya coba ketik "part" lalu tekan tombol Tab dua kali, maka Anda akan diberikan beberapa pilihan kemungkinan untuk melengkapi kata "part" itu.