• Tidak ada hasil yang ditemukan

Kelebihan Khusus UNIX

Dalam dokumen buku-freebsd (Halaman 93-98)

BAB V : PENGOPERASIAN UNIX

5.4. Kelebihan Khusus UNIX

Salah satu kontribusi paling penting pada pada sistem operasi Unix adalah kelengkapannya akan banyaknya utilitas untuk melakukan tugas-tugas seperti untuk  mendapatkan informasi yang diinginkan. Selain itu adalah pembakuan, dimana data disimpan dan dikirimkan dalam sistem-sistem Unix. Hal ini memungkinkan data untuk  dikirimkan ke sebuah file, layar terminal, atau ke sebuah program, atau dari sebuah file, keyboard, atau dari sebuah program; selalu dalam cara yang sama. Penanganan data yang dibakukan ini mendukung dua hal penting dari utilitas Unix: pengalihan I/O dan piping.

Tanpa pengalihan output, output dari perintah dialihkan ke sebuah file daripada ke layar. Tanpa pengalihan input, inputdari perintah diberikan melalui file daripada ke keyboard. Trik-trik lain adalah kemampuan dengan pengalihan input dan output seperti yang akan Anda lihat nanti. Dengan piping, output dari sebuah perintah dapat digunakan

sebagai input (dipipakan) ke sebuah perintah yang berikutnya. Pada bagian ini kita membahas banyak keistimewaan dan utilitas yang tersedia kepada pengguna Unix.

5.4.1. File Descriptor

Ada tiga standard file descriptor :

  stdin 0 Standard input ke program   stdout 1 Standard output dari program   stderr 2 Standard error output dari program

Biasanya dari keyboard atau sebuah file. Kedua output stdout dan stderr, biasanya ke terminal, tetapi Anda dapat mengalihkan satu atau keduanya ke satu atau lebih file.

Anda dapat juga menentukan file descriptor tambahan, mendisainnya menjadi sebuah bilangan 3 sampai 9, dan mengalihkan I/O kepadanya.

5.4.2. File Redirection

Pengalihan output mengambil output dari sebuah perintah dan menempatkannya kedalam sebuah file yang telah dinamai. Pengalihan input membaca file tesebut sebagai input terhadap perintahnya. Tabel berikut ini merangkum pilihan pengalihan.

Tabel Pengalihan File

Simbol Pengalihan

> Pengalihan output.

>! Sama seperti diatas, tetapi menimpa pilihan noclobber pada csh >> Menambahkan output.

>>! Sama seperti diatas, tetapi menimpa pilihan noclobber pada csh dan menghasilkan file bila belum ada.

| Pipe output ke perintah yang lain. < Pengalihan input

<<String Mambaca dari input standard sampai hanya ”String” yang dijumpai pada baris.

Sebuah contoh dari pengalihan output adalah : cat file1 file2 > file3

Perintah diatas menjalin file1 kemudian file2 dan mengalihkan output ke file3. Jika file 3 belum ada ia akan dibuat. Jika ia tidak ada ia akan juga akan dipotong menjadi  zero length sebelum isi yang baru dimasukkan, atau perintahnya akan ditolak, jika pilihan noclobber  dari csh diset. File-file asal, file1 dan file2 tetap utuh sebagai bagian yang terpisah.

Output ditambahkan ke sebuah file dalam bentuk : cat file1 >> file2

Perintah ini menambahkan isi dari file1 ke akhir dari apa yang telah ada dalam file2. (Tidak melakukan overwrite file2)

Input dialihkan dari sebuah file dalam bentuk :  program < file

Perintah ini mengambil input untuk program dari file.

Untuk melakukan pipe output ke perintah yang lain menggunakan bentuk : command | command 

Perintah ini membuat output pada perintah pertama menjadi input pada perintah kedua.

Tabel Csh

Simbol Keterangan

>& file Pengalihan stdout dan stderr ke file. >>& Menambahkan stdout dan stderr ke file

|& command  Melakukan pipe stdout dan stderr ke command 

Untuk mengalihkan stdout dan stderr menjadi dua file yang terpisah, Anda pertama butuh stdout dalam sebuah sub-shell, seperti pada :

Tabel Sh

Simbol Keterangan

2> file Menujukan stderr ke file

> file 2>&1 Menujukan kedua stdout dan stderr ke file >> file 2>&1 Menambahkan kedua stdout dan stderr ke file 2>&1 | command Melakukan pipe stdout dan stderr ke command 

Untuk mengalihkan stdout  dan stderr menjadi dua buah file yang terpisah, Anda dapat melakukan :

$ command 1> out_file 2> err_file

Atau sejak default dari pengalihan tersebut ke stdout : $ command > out_file 2> err_file

Pada shell Bourne Anda dapat menentukan file descriptor  yang lain (3 sampai 9) dan mengalihkan output melaluinya. Hal ini dilakukan dengan format :

n>&m mengalihkan file descriptor n ke file descripto m

Kita gunakan format diatas untuk mengirim stderr (2) ke tempat yang sama seperti pada stdout  (1), 2>&1, ketika kita ingin mendapatkan pesan error dan pesan normal ke file daripada ke terminal. Jika kita hanya ingin pesan error ke file, kita dapat melakukannya dengan menggunakan sebuah tempat penampungan file descriptor , (3). Kita mula-mula mengalihkan 3 ke 2, kemudian mengalihkan 2 ke 1, dan akhirnya kita mengalihkan 1 ke 3

$ (command 3>&2 2>&1 1>&3) > file

Hal ini mengirim stderr ke 3 kemudian ke 1, dan stdout ke 3, dimana dialihkan ke 2. Jadi efeknya kita telah membalikkan file descriptor 1 dan 2 dari arti normalnya. Kita dapat menggunakan ini pada contoh berikut :

$ (cat file 3>&2 2>&1 1>&3) > errfile

Jadi jika file membaca informasi ia dibuang dari perintah output, tetapi bila file tidak  dapat membaca pesan error ia diletakkan dalam errfile untuk dapat Anda gunakan kemudian nanti.

m<&- menutup sebuah file descriptor input <&- menutup stdin

m>&- menutup sebuah file descriptor output >&- menutup stdout 

5.4.3. Simbol Simbol Perintah Khusus yang Lain

Sebagai tambahan pada simbol pengalihan file, ada sejumlah dari simbol-simbol khusus yang lain yang dapat Anda gunakan pada baris perintah. Hal ini meliputi :

; pemisah perintah

& menjalankan perintah dengan latar-belakang

&& menjalankan perintah berikutnya ini jika perintah sebelumnya selesai dengan komplet contoh :

grep string file && cat file

|| menjalankan perintah berikutnya hanya jika perintah sebelumnya tidak  selesai dengan komplet contoh :

grep string file || echo”String not found”

( ) perintah yagn berada dalam tanda kurung dieksekusi dalam sebuah subshell. Output dari subshell dapat dimanipulasikan seperti diatas.

‘ ‘ jangan biarkan beberapa arti arti khusus ke beberapa karakter diantara tanda kutip ini.

 \ lepas dari karakter berikutnya

“ “ Memberikan pertukaran variabel dan perintah dengan tanda kutip ini ( tidak melumpuhkan fungsi $ dan \ dalam string).

‘command’ mengambil output dari perintah ini dan menggantinya sebagai argumen pada beris perintah.

# semua yang mengikutinya sampai baris baru adalah sebuah comment 

Karakter | dapat juga digunakan untuk keluar karakter <newline>, jadi Anda dapat meneruskan sebuah perintah yang panjang pada lebih dari satu baris teks fisik.

5.4.4. Wild Cards

Shell dan beberapa program text processing akan memberikan meta-characters, atau wild card , dan menggantikannya dengan pola yang sesuai. Untuk nama-nama file, meta-cahacters dan penggunaanya :

? sesuai dengan karakter tunggal manapun pada posisi yang ditunjukannya * sesuai dengan string manapun dari nol atau bangnyak karakter

[abc…] sesuai dengan karakter-karakter yang terlampir [a-e] sesuai dengan karakter yang ada di antara a,b,c,d,e

[!def] sesuai dengan karakter yang bukan seperti terlampir, hanya sh

{abc,bcd,cde} sesuai dengan karakter manapun yang terpisah dengan koma (tidak ada spasi), hanya sh

~ direktori home dari current user , hanya csh ~user  direktori home dari user yang ditunjuk, hanya csh

5.5. Perintah-perintah yang sering dijumpai

Dalam dokumen buku-freebsd (Halaman 93-98)

Dokumen terkait