Perintah perintah yang ada di linux Part 1

7 min read
Saya selaku member/Anggota di Indonesia Level Seven Team/ IL7 Team Ingin share perintah perintah yang ada di linux :v
Langsung saja simak gan :v

Saya mau post soal perintah-perintah Linux yang sering dipakai, ada kemungkinan juga akan berkelanjutan. Dimulai dari pengenalan Input dan Output sampai ke program.
Di Linux, ada package software yang namanya GNU Coreutils. Ini berisi set program-program standar yang pasti ada di setiap distribusi Linux.
post ini akan coba menjelaskan penggunaan program-program Coreutils yang sering dipakai, dan kalau dirasa kurang akan ditambah dengan program-program yang lain.

Sebelum ke program, kita perlu pahami beberapa hal dasar di Linux. Yaitu I/O (Input/Output), pipe, redirection, dan struktur direktori.



Input/Output
Apa yang kita ketik di terminal termasuk input, dan yang keluar dari terminal namanya output.
Input tidak harus ada di terminal, begitu juga output. Input dan output bisa berupa file.
Misal kita mau print isi file /etc/passwd dengan command cat

[ cat /etc/passwd ]
cat adalah programnya, file /etc/passwd inputnya. Outputnya diprint di terminal

Linux punya special device untuk I/O, yaitu standard input atau stdin, standard ouput disebut stdout, dan standard error stderr.

*stdin: Input yang ditulis atau diprint di terminal.
*stdout: Output normal dari program.
*stderr: Output program untuk pesan error.

Jadi jenis input di Linux ada dua, file dan terminal (stdin). Sedangkan jenis output ada tiga, file, output di terminal (stdout), dan output terminal kalau error (stderr).

Pipe
Ada fitur menarik di Unix dan Linux, output dari satu program bisa dijadikan input program lain, caranya dengan memakai pipe.
Disebut pipe mungkin karena cara kerjanya seperti pipa, menghubungkan output dan input. Pipe dilambangkan dengan karakter |.

Contoh, kita mau lihat uid dari nama user nobody. Kita pakai dua program, cat dan grep. Output dari cat dijadikan input program grep dengan pipe.

[ cat /etc/passwd | grep "nobody"

# Output yang terprint di terminal (stdout) seperti dibawah
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin ]

Maksud dari command di atas, cat /etc/passwd untuk print isi file /etc/passwd ke terminal, sedangkan grep “nobody” untuk filter baris teks yang ada tulisan nobody.
Ouput dari cat /etc/passwd tidak diprint ke terminal tapi diarahkan ke pipe. Pipe ini kemudian mengambil output dari perintah pertama dan menjadikannya input untuk perintah ke dua grep “nobody”.
Ringkasnya, print isi file /etc/passwd tapi cuma baris yang ada kata nobody saja. Dari output kita tahu uid user nobody adalah 65534, lain sistem hasilnya bisa beda.

Pipe tidak terbatas dua program saja, lebih dari dua juga bisa, misalnya
[ cat /etc/passwd | grep "nobody" | awk -F: '{print $3}' ]

Redirection
Fitur lain lagi, namanya redirection.
Kita bisa me-redirect atau memindahkan output atau input program.
Misalnya, program yang outputnya ke stdout atau ke terminal bisa diredirect atau dipindahkan ke file, output dari stderr diredirect ke stdout, dan sebagainya.

Karakter > untuk redirect output.
Karakter < untuk redirect input.

Contohnya, command di atas [ cat /etc/passwd | grep “nobody” ] outputnya tidak harus terminal, kita bisa redirect atau arahkan output ke file user misalnya.
[ cat /etc/passwd | grep "nobody" > user ]

Command di atas tidak ada output apa-apa di terminal karena output kita redirect atau pindahkan ke file user.
Di file user, isinya sama saja dengan output perintah yang pertama.
[ nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin ]

Untuk redirect input, kita gunakan karakter <

Contoh untuk menghitung jumlah baris file /etc/passwd.
[ wc -l /etc/passwd

# Output di stdout
62 /etc/passwd ]

62 adalah jumlah baris, /etc/passwd adalah nama file.
Sekarang dengan redirect input.
[ wc -l < /etc/passwd

# Output di stdout
62 ]

Maksud dari command wc -l yang ke dua, file /etc/passwd diredirect ke stdin dan kemudian dijadikan input perintah wc -l.
Perhatikan perbedaan output dari kedua perintah.
Yang pertama ada file /etc/passwd, yang ke dua tidak ada karena perintah wc -l mengambil input dari stdin, bukan file /etc/passwd.

Ada mode lain di redirect, dengan dua karakter redirection << atau >>.
Bedanya dengan dua karakter, modenya adalah append.

Langsung saja dengan contoh.

[ cat /etc/passwd | grep "nobody" > user ]

Command ini kalau diulang 5 kali, isi file user tetap sama.

[ nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin ]

Tapi dengan mode append, atau dua karakter redirect

[ cat /etc/passwd | grep "nobody" >> user ]

Isi file user kalau command diulang lima kali.

[ nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin ]

Dengan dua karakter redirect, output atau input ditambahkan di bawahnya.

Struktur Direktori Linux
Di Linux, tidak ada drive C: atau drive D: seperti di Windows.

Di Linux, gambaran struktur direktori seperti di bawah:

/ # root
|
|-- home # Direktori untuk user
|
|-- etc # /etc: direktori yang berisi konfigurasi
|
|-- tmp # /tmp: temporary
|
|-- usr
| /
|
| |-- bin # /usr/bin: Berisi executable program
| |
| |-- lib # /usr/lib: Berisi library program
| |
| |-- share
| |
| |-- local
| /
| |
| |-- bin
| |
| |-- lib
| |
| |-- share
|-- dev # /dev: Berisi device node
| /
| |-- disk
|
|-- var
/
|
|-- lib
|
|-- log
|
|-- cache

Seperti terlihat, struktur direktori seperti percabangan pohon. Paling atas disebut root, karakter / dan diikuti cabangnya, misal /usr/local/share.

Kalau di Windows, biasanya program yang terinstall ada di direktori C:\Program Files. Di Linux berbeda, program yang terinstall filenya tersebar di beberapa direktori.
Misalnya program Vlc player, program executablenya di /usr/bin/vlc. Library-nya terinstall di /usr/lib/vlc, dokumentasi di /usr/share/vlc.
Kelebihannya dari Windows, kalau ada beberapa program membutuhkan library yang sama, atau istilahnya shared library, cukup memakai library yang sudah ada di direktori /lib, /usr/lib, atau /usr/local/lib.
Satu libarary dipakai bersama-sama, dan hasilnya ukuran program jadi kecil.


Absolute dan relative path
Absolute path adalah path yang dimulai dari / (root), misalnya /etc/passwd.
Relative path, path yang dimulai dari current directory atau working directory. Current directory bisa diketahui dengan command pwd.

# Dengan absolute path
cat /etc/passwd

# Dengan relative path
$ cd /etc # cd /etc, pindah working directory ke /etc
$ cat passwd

Command cat yang ke dua tidak perlu /etc karena working directory adalah /etc.



Navigasi
Ada beberapa karakter spesial untuk navigasi direktori.

. (dot): current directory.
.. (double dot): naik satu direktori.
~ (tilde): home directory.

Contoh:

$ cd /usr/local/share # Pindah ke direktori /usr/local/share
$ cd . # Tetap di tempat.
$ pwd # Print working directory
/usr/local/share
$ cd .. # Naik satu direktori
$ pwd
/usr/local
$ cd ..
$ pwd
/usr
$ cd ~ # Pindah ke home directory
$ pwd
/home/administrator



Setelah paham hal di atas, maka nantinya tidak akan bingung kalau ketemu command yang ada karakter aneh seperti |, >, .., ~, dan seterusnya.

Di Post selanjutnya mungkin saya bakalan mulai bahas program-program dari Coreutils. [ kalo waktu senggang :D ]

Sumber : IL7 Team - All Admin and All - Member IL7Team

Link Grup IL7 Team  https://www.facebook.com/groups/1809439519288926/

Like Fp Kami ya :v
https://www.facebook.com/IndonesianLevelSevenTeam/
ordinary people

You may like these posts

  • Jadi gini gan saia mau lanjut lagi soal linuxnya di post saya kali ini menyambung post sebelumnya, Pengenalan Input & Ouput. Penggunaan program-program di post ini saya buat s…
  • 24 Perintah Dasar Linux Okey langsung saja ini dia dasar dasar perintah linux (1) grep command Mencari string tertentu dalam sebuah file (case in-sensitive search) $ grep -i "th…
  • Saya selaku member/Anggota di Indonesia Level Seven Team/ IL7 Team Ingin share perintah perintah yang ada di linux :v Langsung saja simak gan :v Saya mau post soal perintah-perint…

Post a Comment