Vous êtes sur la page 1sur 17

Dasar-Dasar UNIX Command

Oleh Petra Novandi Barus Versi Oktober 2011

UNIX Command adalah kumpulan perintah yang dapat dieksekusi pada terminal/shell/console sistem operasi berbasis UNIX. Karena Linux merupakan sistem operasi yang dikembangkan supaya mirip dengan UNIX, maka command tersebut juga dapat digunakan pada sistem operasi Linux. Perlu diketahui bahwa perintah-perintah ini pada dasarnya adalah sebuah aplikasi komputer yang langsung dijalankan oleh sistem operasi tanpa harus mengeksekusinya dari direktori tempat program tersebut berada. Untuk dapat menjalankan perintah-perintah tersebut sehingga dapat

mengeluarkan hasil yang diinginkan, perintah-perintah tersebut disertai argumenargumen yang dapat kita sesuaikan dengan kebutuhan kita. Argumen itu dapat diibaratkan sebagai sebuah parameter dalam sebuah prosedur atau fungsi. Cara pengeksekusian sebuah perintah pada shell adalah sebagai berikut
$namaperintah argument1 argument2 argument3 ..

Sebuah perintah dapat mempunyai banyak sekali argumen tergantung dari yang kita butuhkan tapi beberapa perintah kadang tidak memerlukan argumen sama sekali. Baris input pada shell/terminal/console sering dilambangkan dengan karakter '$' atau '#' Perintah-perintah dasar yang sering digunakan antara lain sebagai berikut
Perintah cat cd Kegunaan Menampilkan seluruh isi file Mengganti direktori kerja

Pelatnas I TOKI 2012


Oktober 2011

1/17

Perintah cp grep head ls man more mkdir mv pwd rm rmdir sort tail time wc

Kegunaan Menyalin file Mencari isi sebuah file Menampilkan bagian awal dari file Menampilkan file/folder yang ada pada direktori kerja Menampilkan keterangan lengkap mengenai sebuah command Menampilkan file secara bertahap Membuat sebuah folder Mengganti nama file atau memindahkan file Memberi tahu path dari direktori kerja Menghilangkan file Menghilangkan direktori Mengurutkan file Menampilkan bagian akhir dari file Menghitung waktu eksekusi dari sebuah program Menghitung karakter, kata, dan baris

Contoh penggunaan perintah di atas akan dijelaskan pada bagian akhir dari dokumen ini. Di bagian setelah ini akan dijelaskan beberapa hal seperti standard input/output, pipe, serta batch processing.

Standard Input/Output
Standard Input (sering disebut stdin) dan Standard Ouput (sering disebut stdout) adalah sebuah mekanisme input/output pada sebuah program dengan lingkungannya. Pada umumnya input/output tersebut dilakukan dengan menggunakan keyboard dan terminal display. Maksudnya adalah untuk melakukan input ke dalam sebuah program, kita harus mengetikkan input tersebut pada keyboard dan kemudian program akan menampilkannya ke layar terminal. Meski demikian proses input/output dapat disimulasikan sehingga input dapat dilakukan melalui file dan output dikeluarkan ke dalam sebuah file. Ini dapat dilakukan dengan mengkombinasikan perintah-perintah dengan menggunakan Pelatnas I TOKI 2012
Oktober 2011

2/17

karakter '<' dan '>' Karakter '<' berguna untuk mensimulasikan input sebuah program dari sebuah file.
$namaperintah argument1 argument2 argument3 < namafile

Karakter '>' berguna untuk menuliskan output ke dalam sebuah file..


$namaperintah argument1 argument2 argument3 > namafile

Keduanya dapat dikombinasikan


$namaperintah argument1 argument2 argument3 <file1 > file2

Pipe
Perintah-perintah di atas dapat dikombinasikan dengan menggunakan pipe. Pipe adalah sebuah mekanisme di mana standard output dari sebuah perintah menjadi standard input dari perintah yang lain. Cara menggunakan pipe ini adalah dengan mengkombinasikan perintah-perintah dengan menggunakan karakter '|' Cara penggunaannya adalah
$perintah1 argument11 | perintah2 argumen21

Nantinya keluaran dari perintah1 akan menjadi masukan bagi perintah2. Pipe juga dapat dilakukan pada lebih dari dua perintah. Contohnya
$perintah1 argument11 | perintah2 argumen21 | perintah3 argumen31

Nantinya keluaran dari perintah1 akan menjadi masukan bagi perintah2. Keluaran dari

Pelatnas I TOKI 2012


Oktober 2011

3/17

perintah2 lalu akan menjadi masukan bagi perintah3.

Pipe juga dapat dikombinasikan dengan menggunakan karakter '<' dan karakter '>'. Contohnya
$perintah1 argument11 < file1 | perintah2 argumen21 > file2

Perintah1 akan mendapatkan input dari file1, kemudian hasil dari perintah itu akan menjadi input dari perintah2. Lalu hasil dari perintah2 akan dikeluarkan ke dalam file2.

Batch Processing
Seringkali dalam banyak hal kita ingin mengeksekusi serangkaian program secara otomatis dan berulang-ulang. Contohnya adalah disaat kita ingin secara otomatis mengkompilasi kode kita kemudian menjalankannya terhadap beberapa testcase. Pada contoh ini kita dapat menggunakan terminal script, yakni, sesuai namanya, skrip yang dijalankan pada terminal. Penggunaan skrip ini mirip sekali dengan pemrograman baik dalam bahasa PASCAL dan C/C++, hanya saja bedanya adalah pada bahasa yang digunakan serta skrip ini tidak perlu melewati proses kompilasi sebelum dijalankan. Skrip ini terdiri dari perintah-perintah yang dieksekusi di terminal beserta sedikit sintaks algoritmik. Berikut akan dijelaskan penggunaan skrip sesuai dengan kasus-kasus yang sering dialami. Pada contoh pertama ini, kita ingin menjalankan beberapa perintah sekaligus. Misalnya kita ingin melakukan kompilasi kode setelah kita mengubah kode tersebut lalu kita ingin menjalankannya pada sebuah testcase. Hal yang sering kita ketikkan di terminal adalah
$g++ -o program1 program1.cpp $./program1 < testcase1.in > testcase1.out

Pelatnas I TOKI 2012


Oktober 2011

4/17

Bayangkan kalau kita harus mengetikkan dua baris di atas berulang-ulang. Dua baris tersebut dapat dieksekusi dalam sebuah perintah dengan menggunakan skrip. Sekarang kita membuah sebuah skrip bernama skrip1.sh yang isinya
#!/bin/bash g++ -o program1 program1.cpp ./program1 < testcase1.in > testcase1.out

Baris pertama hanya penanda sebuah skrip. Baris kedua dan ketiga adalah dua baris yang ingin kita eksekusi. Untuk mengeksekusi skrip tersebut, perintah yang kita eksekusi adalah
$bash namaskrip

Untuk kasus skrip1.sh, kita mengeksekusi perintah


$bash skrip1.sh

Kadang-kadang kita ingin menampilkan sebuah string pada skrip tersebut untuk penanda, misalnya untuk menampilkan tanda untuk setiap testcase yang dimasukkan ke program. Sintaks yang digunakan adalah echo, yang sangat mirip dengan printf pada C/C++ atau writeln pada Pascal. Pada skrip1.sh kita ingin mengeksekusi dua buah testcase dan mengeluarkan tanda untuk setiap testcase.
#!/bin/bash g++ -o program1 program1.cpp echo Mengerjakan testcase1 ./program1 < testcase1.in > testcase1.out echo Selesai mengerjakan testcase1 echo Mengerjakan testcase2 ./program1 < testcase2.in > testcase2.out echo Selesai mengerjakan testcase2

Maka saat kita eksekusi, tampilannya akan seperti di bawah


$bash skrip1.sh Mengerjakan testcase1 Selesai mengerjakan testcase1 Mengerjakan testcase2 Selesai mengerjakan testcase2

Pelatnas I TOKI 2012


Oktober 2011

5/17

Keluaran di atas berarti skrip telah mengeksekusi program untuk testcase2. Kemudian misalkan kita ingin mencoba banyak sekali testcase. Akan sangat tidak efisien jika kita menulis ulang secara manual baris-baris eksekusi. Di skrip terminal juga disediakan mekanisme perulangan seperti pada Pascal dan C/C++ yakni for loop. Contoh di bawah adalah untuk mengeksekusi program untuk 10 buah testcase.
#!/bin/bash g++ -o program1 program1.cpp for i in {1..10} do echo "Mengerjakan testcase$i" ./program1 < testcase$i.in > testcase$i.out done

Seperti yang sudah dijelaskan, pemrograman dalam skrip terminal ini agak berbeda dengan pada Pascal, C, C++. Sintaks for yang digunakan juga agak berbeda. Pada contoh di atas, sintaks for yang digunakan adalah
for variable in domain do command done

Dan seperti yang dilihat, penggunaan variabel i juga sedikit berbeda dengan di Pascal, C, C++. Untuk menggunakan variabel i, sintaks yang digunakan adalah $i. Dan variabel ini dapat digunakan untuk memodifikasi perintah yang ingin dieksekusi. Untuk mengakhiri bagian ini, kita dapat menyimpulkan sekali lagi bahwa skrip terminal tidak lain adalah sebuah kode program yang dapat dieksekusi langsung untuk menjalankan perintah-perintah terminal secara terstruktur dan kode ini tidak perlu dikompilasi terlebih dahulu. Terdapat banyak fitur-fitur lain yang disediakan oleh bahasa skrip yang digunakan. Fitur-fitur ini nanti dapat kita pelajari sejalan dengan pelatihan. Pelatnas I TOKI 2012
Oktober 2011

6/17

Bagian ini berisi daftar perintah-perintah yang telah didaftarkan di bagian awal beserta sintaks dan contoh penggunaannya.

cat
Perintah cat adalah salah satu perintah UNIX yang paling fleksibel. Dengan menggunakan perintah ini kita dapat membuat file, menampilkan file, dan menggabungkan file. Misalkan kita ingin membuat file kamus1 yang berisi 3 buah pasangan kata Indonesia-Inggris
$cat > kamus1 merah red hijau green biru blue <Ctrl-D>

<Ctrl-D> maksudnya adalah menekan tombol Ctrl dan D secara bersamaan. Setelah menuliskan perintah cat > kamus1, kita menuliskan isi dari file tersebut kemudian menekan <Ctrl-D> untuk berhenti. Lalu untuk melihat isi dari file kamus1
$cat kamus1 merah red hijau breen biru blue

Kita mengeksekusi perintah cat kamus1. Kemudian isi dari file kamus1 akan dituliskan ke layar. Untuk kita ingin menambahkan tulisan ke dalam sebuah file yang telah ada
$cat >> kamus1 kuning yellow putih white

Pelatnas I TOKI 2012


Oktober 2011

7/17

hitam black <Ctrl-D> $cat kamus1 merah red hijau breen biru blue kuning yellow putih white hitam black

Setelah mengeksekusi $cat >> kamus1 , kita dapat mengetikkan teks yang kita inginkan untuk ditambahkan ke dalam file kamus1. Kita juga dapat menampilkan isi sebuah file dengan tambahan nomor baris pada file tersebut. Caranya adalah dengan menambahkan argumen -npada perintah
$cat kamus1 1 merah red 2 hijau green 3 biru blue 4 kuning yellow 5 putih white 6 hitam black

Perintah ini sering dikombinasikan dengan perintah grep untuk mencari sebuah kata/frase dalam sebuah file.
$cat kamus1 | grep hijau hijau green $cat -n kamus1 | grep hitam 6 hitam black

cd, pwd, ls
cd adalah perintah untuk mengganti direktori kerja. pwd adalah perintah untuk melihat path direktori kerja. Dan ls adalah perintah untuk melihat file atau folder yang ada di direktori kerja. Ketiga ini adalah kombinasi yang paling sering digunakan. Misalnya

Pelatnas I TOKI 2012


Oktober 2011

8/17

$pwd /home/toki/ $ls folder1 folder2 folder3 file1 file2 $cd folder1 $pwd /home/toki/folder1/ $cd .. $pwd /home/toki/

Pertama-tama perintah pwd dieksekusi untuk mengetahui path direktori kerja. Kemudian perintah ls dieksekusi untuk mengetahui folder dan file apa saja yang ada. Lalu cd folder1 dieksekusi untuk pindah ke folder1 yang ada di dalam direktori kerja. Lihat, pada saat pwd dieksekusi maka path akan berganti. Lalu untuk kembali ke direktori parent dari direktori kerja sekarang, perintah cd ..dieksekusi. Untuk dapat mengetahui besar dari file yang ada, tambahkan argumen -s pada ls.

cp
cp digunakan untuk menyalin sebuah file atau folder. Cara penggunaannya
$cp file1 file2

Perintah di atas menyalin file1 ke file2. Untuk menyalin sebuah folder perlu ditambahkan argumen -rf
$cp -rf folder1 folder2

Penyalinan juga dapat dilakukan secara relatif


$cp file1 ..

Pelatnas I TOKI 2012


Oktober 2011

9/17

Perintah di atas akan menyalin file1 ke sebuah file bernama sama yang berada pada parent directory.

grep
Perintah grep digunakan untuk menemukan sebuah pola seperti kata atau frase dalam sebuah file. Pencarian ini akan dilakukan per baris. Dengan kata lain, jika sebuah pola ditemukan pada sebuah baris, maka perintah ini akan mengembalikan baris tersebut. Misal ada sebuah file bernama file1 yang berisi nama-nama warna
$cat file1 hijau merah biru merah biru kuning hijau biru hitam putih hitam merah merah hitam hijau hitam putih merah biru hijau jingga

Kita ingin mencari baris yang berisi kata putih


$grep putih file1 putih hitam merah hitam putih merah

Baris-baris yang berisi kata putih akan ditampilkan. Pencarian juga dapat dilakukan dengan menggunakan pipe.
$cat file1 | grep hijau hijau merah biru hijau biru hitam merah hitam hijau biru hijau jingga $cat -n file1 | grep biru 1 hijau merah biru 2 merah biru kuning 3 hijau biru hitam

Pelatnas I TOKI 2012


Oktober 2011

10/17

7 biru hijau jingga

Pada perintah kedua, kita mencari kata biru pada sebuah file dan menampilkan juga nomor baris yang berisi kata tersebut. Untuk mencari berapa banyak baris yang berisi sebuah pola, gunakan argumen c pada perintah.
$cat -n file1 | grep -c biru 4

Terdapat 4 baris yang memiliki kata biru.

head
Perintah head digunakan untuk menampilkan 10 baris pertama dari sebuah file. Misal kita mempunyai sebuah file bernama file1.
$cat file1 hijau merah biru merah biru kuning hijau biru hitam putih hitam merah merah hitam hijau hitam putih merah biru hijau jingga putih hitam merah merah hitam hijau putih hitam merah merah hitam hijau $head file1 hijau merah biru merah biru kuning hijau biru hitam putih hitam merah merah hitam hijau hitam putih merah biru hijau jingga putih hitam merah merah hitam hijau putih hitam merah

Pelatnas I TOKI 2012


Oktober 2011

11/17

Penampilan isi file juga dapat dispesifikkan menjadi beberapa baris pertama. Untuk menampilkan n baris pertama, gunakan parameter -n sedangkan untuk menampilkan n byte pertama, gunakan parameter -c
$head hijau merah hijau putih merah $head hijau -n 5 file1 merah biru biru kuning biru hitam hitam merah hitam hijau -c 11 file1 merah

Perintah ini juga dapat menggunakan pipe


$cat file1 | head -n 5 hijau merah biru merah biru kuning hijau biru hitam putih hitam merah merah hitam hijau

man
Perintah man digunakan untuk membaca cara penggunaan dari sebuah perintah UNIX. Cukup eksekusi perintah ini beserta nama perintah yang ingin dibaca cara penggunaannya
$man pwd

more
Perintah ini akan menampilkan isi dari sebuah file. Perbedaaannya dengan perintah cat adalah perintah cat menampilkan isi file tanpa mempedulikan besar window dari terminal. Perintah more memberikan fitur scrolling sehingga isi file dapat dibaca halaman per halaman. Contoh penggunaan

Pelatnas I TOKI 2012


Oktober 2011

12/17

$more file1

Setelah dijalankan, ada beberapa tombol yang menjadi navigasi perintah ini 1. q keluar dari perintah more 2. spasi pindah ke halaman berikutnya 3. enter pindah baris 4. b kembali ke halaman sebelumnya Dapat juga digunakan dengan pipe
$ls | more

mkdir
Perintah ini digunakan untuk membuat folder baru. Cara penggunaannya adalah
$ls folder1 folder2 folder3 $mkdir folder4 $ls folder1 folder2 folder3 folder4

mv
mv digunakan untuk memberi nama baru pada file atau memindahkan file. Cara penggunaannya
$mv file1 file2

Perintah di atas memberi nama baru file1 menjadi file2. Untuk memindahkan cukup memberikan path yang diinginkan
$cp file1 ..

Pelatnas I TOKI 2012


Oktober 2011

13/17

Perintah di atas akan memindahkan file1 ke sebuah file bernama sama yang berada pada parent directory.

rm
rm digunakan untuk menghilangkan sebuah file. Cara penggunaannya
$rm namafile

Contoh penggunaannya
$ls file1 file2 file3 $rm file1 $ls file1 file2 file3

rmdir
rmdir digunakan untuk menghilangkan sebuah folder. Cara penggunaannya
$rmdir namafolder

sort
Perintah sort digunakan untuk menampilan isi dari file dengan baris-baris terurut menurut urutan pada kamus. Contoh penggunaannya adalah
$cat file1 hijau merah biru merah biru kuning hijau biru hitam

Pelatnas I TOKI 2012


Oktober 2011

14/17

putih merah hitam $sort hijau hijau hitam merah merah putih

hitam merah hitam hijau putih merah file1 biru hitam merah biru putih merah biru kuning hitam hijau hitam merah

tail
Perintah ini mirip dengan perintah head hanya saja perintah ini menampilkan bagian terakhir dari file. Argumen yang digunakan juga sama.
$cat file1 hijau merah biru merah biru kuning hijau biru hitam putih hitam merah merah hitam hijau hitam putih merah biru hijau jingga putih hitam merah merah hitam hijau putih hitam merah merah hitam hijau $tail -n 5 file1 biru hijau jingga putih hitam merah merah hitam hijau putih hitam merah merah hitam hijau

time
Perintah ini digunakan untuk menghitung waktu eksekusi dari sebuah program. Cara penggunaannya adalah
$time program

Argumen program menunjukkan program yang ingin kita hitung eksekusi waktunya. Pelatnas I TOKI 2012
Oktober 2011

15/17

Misalnya kita telah membuat sebuah program bernama program1. Lalu kita ingin menghitung lama waktu eksekusinya.
$time ./program1 real user sys 0m0.002s 0m0.000s 0m0.000s

Pada contoh di atas, keluarannya adalah 3 baris yang menunjukkan waktu eksekusi. Baris pertama real maksudnya adalah waktu program berjalan, dari mulai program tersebut dieksekusi hingga program tersebut berakhir. Baris kedua user adalah waktu yang digunakan oleh CPU untuk menjalankan program. Perbedaan antara baris pertama dan kedua adalah karena adanya pembagian waktu CPU untuk beberapa program. Selain program1, CPU juga harus menjalankan program-program lain. Untuk itu CPU akan digunakan secara bergantian oleh setiap program sehingga ada saat-saat di mana program1 akan berhenti dijalankan oleh CPU untuk memberikan jalan bagi program lain agar dapat dieksekusi. Oleh karena itu waktu yang digunakan oleh sebuah program untuk berjalan seringkali lebih lama dari waktu CPU untuk mengeksekusi program tersebut. Baris ketiga system berhubungan dengan sistem operasi dan tidak akan disinggung lebih lanjut.

wc
Perintah wc digunakan untuk menampilkan jumlah karakter, kata, dan baris pada sebuah file. Misalkan terdapat sebuah file bernama file1.
$cat file1 hijau merah biru merah biru kuning hijau biru hitam putih hitam merah merah hitam hijau hitam putih merah Penggunaannya $wc file1 6 18 106 file1

Pelatnas I TOKI 2012


Oktober 2011

16/17

Baris terakhir di atas artinya adalah file1 berisi 6 baris, 18 kata, dan 106 karakter.

Pelatnas I TOKI 2012


Oktober 2011

17/17

Vous aimerez peut-être aussi