Struktur File dan Direktori di Linux

Linux tidak mengenal istilah drive seperti pada DOS atau Windows. Pada sistem operasi DOS/Windows ada istilah drive A:, drive B:, drive C:, dan seterusnya. Anda tidak akan menemukan istilah tersebut di Linux.

Berbeda dengan Windows yang memiliki struktur direktori /folder dan file yang agak kacau apalagi bila kita banyak menginstall program tambahan, kita akan kesulitan melacak letak file-file yang terinstall. sedang di linux susunan dan alokasi direktori/folder file sangat jelas dan mudah di ketahui dan masing-masing direktori jelas peruntukannya.

Linux mempunyai metode yang berbeda dalam sistem penamaan filenya.Sedikit pelajaran dasar mengenai Linux, yaitu struktur direktori pada Linux, perlu diketahui bahwa struktur direktori pada Linux dan Windows ada perbedaan.

<\> Root directory. Awal dari struktur direktori pada Linux. Semua file dan direktori berada di bawah root direktori ini, biasanya direktori root ini hanya terdiri dari subdirektori, jadi bukanlah ide yang bagus jika kita menyimpan file di dalam direktori root ini..
Jangan bingung antara direktori root dengan: direktori user account root, password root (yang jelas adalah password untuk user root) atau home directory dari user root.

Everything is File

Linux menggunakan sistem hirarki dan penyatuan yang memperlakukan semua file, direktori, dan device driver (termasuk disk drive, floppy disk, dan CD-ROM drive) sebagai file. Di Linux/UNIX terminologi ini dikenal dengan istilah Everything is file.

Sistem file di Linux menyerupai struktur tree (pohon yang dibalik, akarnya di atas, cabangnya di bawah). Struktur itu bertumpu pada sebuah tempat yang disebut root (akar), ditandai dengan garis miring “/â€.

Segala sesuatu yang ada pada struktur file Linux/UNIX hanya dapat berupa file atau direktori. Direktori mirip dengan sebuah map yang berisi file maupun direktori lainnya. Direktori yang berada pada direktori lain disebut child (anak) dari direktori itu. Direktori dalam hirarki ini dapat memiliki banyak “anak,†tapi hanya bisa memiliki satu “orang tuaâ€.

Kategori File

Ada 6 (enam) kategori file dalam sistem file di Linux/UNIX, yaitu:

1. File biasa, yang terdiri dari:

o File teks dalam format standar ASCII

o File teks dalam format non ASCII

2. File teks perintah dalam format ASCII, tetapi merupakan sekumpulan perintah otomatis (script).

3. File perintah dalam format biner.

4. Direktori

5. Kaitan (links)

6. Device driver khusus untuk perangkat keras.

Susunan hirarki dalam sistem file Linux/UNIX adalah sebagai berikut:

/

Direktori root

/bin

Berisi file-file perintah dasar dalam bentuk biner

/boot

Berisi file-file dan informasi yang dibutuhkan dalam proses booting awal

/dev

Berisi file-file perangkat pengendali (device driver)

/etc

Berisi file-file tambahan yang rata-rata adalah untuk administrasi dan konfigurasi sistem

/home

Direktori untuk pengguna (user)

/lib

Berisi file-file kepustakaan (library)

/sbin

Berisi file-file untuk superuser atau root dan file biner untuk startup sistem

/tmp

Berisi file-file sementara (temporer)

/usr

Berisi file-file dan direktori untuk perintah tambahan baik dalam bentuk biner ataupun script

/var

Berisi file-file variabel (misalnya spooling untuk sistem printer, mail) dan juga berisi file log

Anda juga bisa menambah direktori sendiri, misalnya /lagu untuk menyimpan semua file lagu MP3, /dokumen untuk menyimpan file-file dokumen, dan sebagainya.

Penamaan File

Ada sedikit perbedaan antara file di DOS/Windows dan Linux, terutama yang berkaitan dengan penamaan file.

Perbedaan tersebut antara lain:

1. Pada Linux, Anda dapat menggunakan nama file yang panjang (hingga 256 karakter)

2. Nama file di Linux bisa memiliki lebih dari satu titik, misalnya data1.txt.bak

3. Huruf besar dan huruf kecil pada perintah dan nama file adalah berbeda. Misalnya, data.txt adalah berbeda dengan DATA.TXT

4. Tidak ada ekstensi wajib seperti .EXE untuk program atau .BAT untuk batch file. File yang dapat dieksekusi (executable file) akan ditandai dengan tanda asterix (*)

Struktur Direktori Linux

< / >

Struktur direktori di Linux secara umum diawali dengan root filesystem “/” dan tentu juga merupakan root atau akar dari seluruh direktori global. Partisi dimana di letakkan / (root system) akan menjadi direktori sistem atau partisi pokok


Root directory. Awal dari struktur direktori pada Linux. Semua file dan direktori berada di bawah root direktori ini, biasanya direktori root ini hanya terdiri dari subdirektori, jadi bukanlah ide yang bagus jika kita menyimpan file di dalam direktori root ini..

Jangan bingung antara direktori root dengan: direktori user account root, password root (yang jelas adalah password untuk user root) atau home directory dari user root


Sesuai namanya, ini adalah tempat dimana Linux menyimpan informasi yang diperlukan saat booting. Contoh, disini tempat kernel Linux disimpan. Jika Anda “list” isi dari /boot, Anda akan melihat file bernama vmlinuz - inilah kernelnya.

Direktori boot tesimpan file-file boot loader diantaranya grub atau lilo. Kernel, initrd dan system.map juga terletak didalam /boot. Jika system yang digunakan menggunakan partisi LVM ataupun partisi dalam jaringan. Maka ada baiknya dibuatkan partisi kecil tersendiri untuk meletakkan /boot di harddisk dengan filesystem konvensional. /boot ini umumnya sangat jarang sekali berubah isinya, kecuali memang kita sering bermain-main dengan kernel.

Tempat menyimpan file konfigruasi pada sistem Linux. Pada Windows bisa disamakan dengan “Control Panel”. Beberapa hal menarik yang ada di direktori ini:

Direktori /etc berisi file-file konfigurasi sistem. Mayoritas aplikasi dan layanan konfigurasinya tersimpan di direktori /etc termasuk diantaranya /etc/hosts, /etc/resolv.conf dan lain sebagainya. Di direktori /etc/init.d tersimpan konfigurasi bagaimana sebuah layanan dijalankan. Di direktori /etc/rc*.d tersimpan konfigurasi untuk menentukan service yang dijalankan untuk tiap-tiap sesi init.


Sebuah file text yang menjelaskan proses yang dijalankan saat sistem boot selama pengoperasian normal. Contoh, disini kita bisa menentukan kalau kita mau sistem X windows dijalankan secara otomatis saat booting, dan mengatur apa yang akan terjadi jika user menekan tombol Ctrl+Alt+
Del.


File ini berisi penjelasan mengenai berbagai macam file system dan
mount pointnya, seperti floppy, cdrom, dll.


File yang berisi informasi mengenai user account. Disinilah dimanal user ditentukan.


Dua direktori ini berisi bayak program untuk sistemnya. Direktori /bin berisi program paling penting yang dibutuhkan oleh sistem, seperti shell, ls, grep, dan lain2. /usr/bin berisi aplikasi untuk pengguna system, tapi pada kasus tertentu tidak terlalu membuat perbedaan jika kita ingin meletakkan program dalam /bin atau /usr/bin.


Program administrasi sistem disimpan di direktori ini. Dalam banyak kasus, kita harus menjalankan program-program ini sebagai user root.

Direktori ini berisi aplikasi user dan beberapa file lainnya seperti source code, gambar, docs, atau file configurasi yang mereka gunakan. /usr adalah direktori terbesar di sistem Linux, beberapa orang lebih suka memisahkannya dalam partisi ternsediri. Beberapa hal menarik yang ada di direktori /usr:

Sebuah sub-hirarki dari root filesistem di simpan didalam /usr. Didalam /usr tersimpan aplikasi dan utiliti yang spesifik dengan user. Jika kita melihat kedalam direktori /usr maka kita juga akan menemukan direktori yang mirip dengan di / yaitu bin, sbin dan lib. Hanya saja, aplikasi dan librari yang terletak /usr tidak terlalu kritikal untuk sistem. Untuk istilah mudahnya, /usr merupakan tempat dimana user menginstall aplikasi sendiri yang bukan official dari distro. Misalkan menginstall melalui tar-ball, atau paket yang dibuat sendiri. Jika pengguna termasuk orang yang sering menambah-nambah aplikasi sendiri diluar bawaan paket yang disediakan untuk distro itu, maka direktori /usr sudah dipastikan akan cepat sekali membengkak. Ada baiknya untuk sistem yang penggunanya seperti itu, /usr di berikan partisi sendiri. Untuk aplikasi yang bisa langsung dijalankan, sistem linux akan membaca secara bersamaan yang ada di /bin dan di /usr/bin begitu juga untuk /sbin dan /usr/sbin. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari ‘user’

/usr/doc
Documentasi untuk aplikasi user dalam berbagai format file.
Merupakan tempat untuk menyimpan dokumentasi dan catatan yang berkaitan dengan aplikasi. Apabila aplikasi third-party yang digunakan merupakan aplikasi yang dikembangkan dengan baik, maka tentunya juga menyediakan file dokumentasi yang dapat dibaca di dalam /usr/doc

/usr/share
File configurasi dan gambar bagi aplikasi user.
Merupakan tempat didalam /usr yang digunakan untuk menyimpan data-data yang bisa dibagikan dan tidak terikat dengan platform. Misalnya seperti wallpaper yang bisa dan boleh digunakan oleh semua user akan diletakkan didalam /usr/share. Lalu ada juga fonts, dan sound theme yang berkaitan dengan tampilan.


/usr/src
File source code bagi software system, termasuk kernel linux.
Merupakan tempat untuk menyimpan source code dari aplikasi sistem. Yang paling umum tersimpan disini adalah source code dari kernel linux. Source code ini sangat bermanfaat untuk melakukan kompilasi ulang atau melakukan optimasi di tingkat kernel dengan dasar kernel sebelumnya.

Disini tempat kita install aplikasi dan file lain yang digunakan oleh sistem. Jika PC kita merupakan bagian dari jaringan, direktori /usr bisa secara fisik berada di PC lain dan bisa di-share melalui jaringan Linux. Pada jenis jaringan ini, direktori /usr/local hanya berisi hal-hal yang tidak seharusnya digunakan bersama-sama dan hanya ditujukan untuk mesin/pc lokalnya saja.

Jika komputer kita tidak alam sebuah jaringan, bukan berarti /usr/local tidak berguna. Jika kita mendapat aplikasi menarik yang bukan bagian dari distro, kita seharusnya install saja di /usr/local.

Di disini tersimpan aplikasi yang terinstall dan file yang yang digunakan di local machine. Jika komputer yang digunakan merupakan bagian dari sebuah jaringan besar, terus direktori /usr lokasi fisiknya terletak di komputer yang berbeda dan di bagikan kedalam jaringan untuk di mount kedalam /usr. Pada jaringan seperti ini, direktori /usr/local akan berisi barang-barang yang hendaknya tidak digunakan di banyak mesin dan hanya di gunakan di local machine saja. Karena kebanyakan komputer tidak memanfaatkan bentuk jaringan seperti yang disebutkan tadi, bukan berarti /usr/local menjadi tidak berguna. Jika kita menemukan aplikasi yang menarik dan secara official tidak tersedia dan bukan bagian dari distro yang digunakan, hendaknya kita menginstallnya kedalam /usr/local. Sebagai contoh, jika aplikasi tambahan yang umum akan tersimpan kedalam /usr/bin, maka aplikasi tambahan yang sifatnya lebih custom hendaknya di simpan di /usr/local/bin. Dengan cara ini maka dapat menghindarkan kebingungan dalam jenis aplikasi yang tersedia dan menjaga sistem tetap bersih dan rapi.

>

Di direktori /usr/include tersimpan file-file header dari compiler C. File header ini mendefinisikan struktur dan konstanta yang dibutuhkan untuk membangun sebuah aplikasi yang standart. Direktori didalam /usr/include tersimpan header untuk compiler C++.

</usr/X11R6>

Menyimpan sistem X-Window dan hal-hal yang berkaitan dengan X-Window. Subdirectories dibawah /usr/X11R6 tersimpan binari X itu sendiri dan juga dokumentasi, file header, config. icon. sounf, dan sebagainya yang berkaitan dengan grafis.

< /lib >
Librari (perpustakaan) bagi program yang secara dinamis terhubung. Serupa dengan DLL pada Windows.

Berisi file-file library atau pustaka dari semua aplikasi binari yang tersimpan dalam direktori /sbin dan /bin. Di direktori ini juga tersimpan berbagai macam librari yang digunakan untuk aplikasi lain. Konsep penggunaan librari bersama ini membuat aplikasi di linux dapat menghemat ukuran. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari ‘library’

Disini tempat user menyimpan file personal. Semua user punya direktori sendiri dalam /home, dan biasanya ini satu-satunya tempat dimana user normal bisa menulis file. Kita bisa mengatur sistem linux agar user normal bahkan tidak bisa me-list isi dari direktori home user lainnya.

Semua direktori home dari pengguna tersimpan di direktori ini dengan nama user masing-masing sebagai pengelompokannya. Untuk beberapa sistem linux yang di spesifikasikan untuk server, direktori pengguna masih dikelompokkan lagi kedalam /home/users. Di dalama direktori /home/nama-user tersimpan konfigurasi-konfigurasi yang spesifik terhadap user tersebut. Oleh karena itu, berbeda user, walaupun berada di sistem yang sama bisa mendapat lingkungan dan tampilan yang sama sekali berbeda. Direktori /home merupakan direktori yang paling ‘dekat’ dengan user. Direktori /home ini bisa berisi dari dokumen dokumen pekerjaan user hingga file-file hiburan seperti mp3 dan film juga termasuk foto-foto yang dimiliki oleh user. Oleh karena itu, untuk membatasi agar file-file di pengguna tidak mendesak file-file system, sangat umum untuk meletakkan direktori /home di partisi yang terpisah. Hal ini dapat menahan file-file yang disimpan user hingga total ukuran tertentu tanpa mengganggu ruang gerak system.

< /root >
Direktori bagi user Root. Lagi-lagi jangan bingung antara direktori ini dengan direktori (/) .

< /var >

Direktori /var merupakan direktori yang isinya sangat dinamis. Jika digunakan didalam server. Sangat dianjurkan /var ini untuk diletakkan di partisi terpisah dikarenan direktori /var dapat membengkak dengan sangat cepat. Selain itu juga, dengan direktori /var dibuat partisinya sendiri atau secara fisik ditentukan lokasinya, maka dapat mencegah internal fragmentasi, dan proses pencarian file tidak terlalu jauh, hanya seputar cylinder itu-itu saja. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari ‘variative’

Direktori ini mengandung data variable yang berubah secara konstan saat sistem berjalan. Yang menarik didalam subdirektori var:


Direktori yang mengandung system log files. Mereka diupdate saat sistem berjalan, dan mengecek log file ini bisa memberi informasi berharga mengenai kesehatan sistem. Jika sistem tiba-tiba ada yang tidak beres, file log bisa mengandung beberapa informasi mengenai situasi tersebut.

Merupakan direktori untuk menyimpan berbagai macam log atau catatan yang berkaitan dengan sistem. Isi dari /var/log ini terus terupdate selama sistem berjalan. Oleh karena itu, /var/log merupakan alasan dan penyebab utama direktori /var dapat membengkak dengan gila-gilaan. Walaupun di linux sendiri tersendiri tersedia aplikasi logrotate untuk meredam percepatan pembengkakan direktori /var, tapi tetap juga jika tidak disiapkan ruang tersendiri, ukuran log ini dapat menghantam ruang kosong di sistem. Direktori /var/log ini hendaknya menjadi tempat pertama kita lari apabila di sistem terjadi keanehan. System log linux baik kok, keanehan pun akan di tuliskan dengan gamblang kedalam log. Misalkan pada webserver, /var/log/httpd/access.log akan mencatat siapa saja yang mengakses web yang terpasang dan menuju ke mana. Apabila banyak sekali yang mengunjungi web itu, maka file /var/log/httpd/access.log pun akan terupdate dengan kecepatan luar biasa yang susah untuk diikuti oleh pandangan manusia biasa. Misalkan juga /var/log/syslog, disana tersimpan log yang berkaitan dengan system. Misalkan kita colokkan flash disk, maka dengan mengamati /var/log/syslog kita bisa mengetahui apakah sistem bisa mengenali flashdisk itu dan melakukan auto mount, atau memberikan pesan yang lain. Dari / var/log/syslog juga misalnya kita bisa melihat apakan rule crontab yang kita buat berjalan sesuai waktunya atau tidak. Semakin banyak kejadian baik yang buruk atau yang baik terjadi di system, maka /var/log pun akan semakin membengkak.

>
Mail yang keluar dan masuk disimpan di direktori ini.

Merupakan direktori untuk menyimpan email masuk dan keluar. Direktori /var/mail ini akan sangat terasa fungsinya jika kita membuat mail server menggunakan postfix, sendmail atau qmail. Sebenarnya tanpa menggunakan mailserver itu, kita juga dapat mengirim email, hanya saja terbatas hanya dalam lingkup mesin kita dan user yang terdapat didalamnya. Apabila mesin yang kita gunakan hanya kita sendiri usernya, tentu saja tidak seru, maka perlu dibuatkan mail server yang sesungguhnya agar aktivitas kirim-mengirim email dapat seheboh dengan mail.yahoo.com ataupun mail.ugm.ac.id. Direktori /var/mail merupakan penyebab kedua yang membuat direktori /var dapat membengkak tidak karuan. Aktivitas dan lalulintas saling kirim email yang tinggi, ditambah lagi dengan attachment yang tidak masuk akal ukurannya, menyebabkan /var/mail bertanggung jawab penuh atas membengkaknya /var. Dengan di berikannya direktori /var sebuah partisi tersendiri, maka apabila direktori /var mentok ke total ukuran partisi, ‘hanya’ menyebabkan mailserver-nya macet. tapi sistem linux itu sendiri masih bisa berjalan dengan nyaman untuk mengatasi ‘kekacauan’ di /var. Ada juga cara agar direktori /var tidak segera penuh, dengan menerpakan quota di mail server.

< /var/spool >
Direktori ini berisi file yang di-antrikan untuk diproses, seperti printing.

Direktori /var/spool merupakan direktori untuk menyimpan file-file yang spooling atau yang sedang mengantri untuk diproses. Yang umum berada didalam /var/spool ini adalah operasi printing. Apabila linux yang dibangun difungsikan sebagai prnter server, atau sharing printer, maka /var/spool ini juga perlu diperhatikan apabila yang menggunakan printer tersebut orangnya sangat banyak.

< /var/run >

Di direktori ini tersimpan PID (Process ID) dari layanan-layanan yang berjalan. PID yang tercatat didalam /var/run ini nantinya akan digunakan oleh script didalam /etc/init.d/* untuk mengendalikan layanan yang tersedia di linux.

< /tmp >
Program bisa menulis file temporari di sini.

Merupakan file sistem yang menyimpan file-file sementara. Beberapa distro akan otomatis membersihkan isi dari /tmp sewaktu reboot. Direktori /tmp memiliki mode yang sangat terbuka sehingga mudah untuk ditulisi oleh siapa saja. Didalam /var/tmp juga digunakan sebagai penyimpanan file-file sementara, bedanya /var/tmp dengan /tmp yaitu /var/tmp tidak akan dibersihkan saat system reboot. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari ‘temporary’

< /dev >

Merupakan pseudo filesystem, atau directory yang isinya sebenarnya bukan benar benar berisi file. Isi dari /dev ini berkaitan dengan perangkat-perangkat yang terdapat pada system. Misalkan untuk informasi port serial, port printer, dapat di berlakukan seperti membaca file. Misalkan perangkat serial terletak di /dev/tty01, kemudian partisi dalam harddisk di sebut sebagai /dev/sda7. dan lain sebagainya. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari ‘device’
Peralatan yang tersedia di sistem Linux. Ingatlah bahwa dalam Linux, devices(peralatan) diberlakukan seperti file, dan kita bisa baca dan tulis devicenya seperti files. Contoh, /dev/fd0 adalah floppy drive pertama, /dev/cdrom adalah CD drive, /dev/hda adalah drive IDE pertama, dst. Semua device yang dimengerti oleh kernel Linux ditempatkan di /dev, itulah sebabnya isinya mencapai ratusan.

< /mnt >
Direktori ini ditujuan sebagai mount points. Media penyimpanan fisik yang berbeda (seperti hard disk drives, floppies, CD-ROM’s) harus di-”sambung” ke beberapa direktori sebelum bisa diakses. “Penyambungan” ini disebut “mounting”, dan direktori tempat device ini disambung disebut mount point.

Direktori /mnt berisi mount point untuk berbagai device, seperti /mnt/floppy untuk floppy drive, /mnt/cdrom untuk CD-ROM, dan lain2. Akan tetapi, kita tidak dipaksa untuk menggunakan direktori /mnt untuk tujuan ini, kita bisa menggunakan direktori apapun yang kita mau. Sebenarnya dalam beberapa distro, seperti Debian dan SuSE, secara default menggunakan /floppy dan /cdrom sebagai mount point daripada direktori dibawah /mnt.

Pada Linux yang masih umum menggunakan kernel 2.4.x. Untuk tempat mengumpulkan mount point berada di /mnt. Dikarenakan pada sistem berbasis kernel 2.6.x sudah menggunakan /media, maka /mnt ini umumnya kosong. /mnt bisa juga dijadikan mount point pada saat system rescue atau troubleshooting. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari ‘mount’



< /proc >

Ini adalah direktori spesial. Sebenarnya /proc cuma direktori virtual, karena ia sebenarnya tidak ada. Direktori ini berisi info tentang kernel. Ada banyak entries yang mewakili semua proses yang berjalan dalam sistem, dan beberapa entri yang mengizinkan akses ke configurasi sistem saat itu juga. Banyak dari entri itu bisa dilihat.

Direktori /proc juga merupakan pseudo filesystem yang mirip dengan /dev. Bedanya, /proc ini murni hanya berkaitan dengan sistem dan tidak menyangkut pada device. Jika kita melakukan pengecekan ukuran penggunaan space, jangan terkceoh dengan direktori /proc yang tercatat menunjukkan memakan space sangat besar. Segala macam space yang tertulis disitu sama sekali tidak terdapat di dalam media penyimpanan harddisk. Jadi direktori /proc sebenarnya tidak ada sama sekali. Isi dari /proc ini adalah infomasi dari sistem, tetapi jika kita mengubah isi informasi dari beberapa file /proc juga dapat mengubah sifat jalannya sistem. Jangan takut apabila sistem berubah menjadi aneh tatkala kita mengubah isi /proc. Selama pengubahan isi hanya menggunakan echo, maka dengan merestart system, maka isi /proc pun akan langsung kembali ke semula. Misalkan kita ingin melakukan forwarding network, maka informasi pada /proc/sys/net/ipv4/ip_forward yang semula berisi 0 tinggal di ubah menjadi 1. Misalkan kita melihat informasi processor, maka kita dapat melihat dalam /proc/cpuinfo. Tapi jangan harap dengan mengedit /proc/cpuinfo maka kita akan mendapat cpu yang bekerja dengan clock cycle yang lebih menakjubkan.

< /lost+found >

Disini Linux menyimpan file yang direstore setelah sistem menagalami crash dan paritisi yang belum di-unmount sebelum sistem dimatikan. Dengan begini kita bisa me-recover file yang seharusnya sudah hilang.

Di direktori ini linux menyimpan file-file yang berasil di recover saat sistem crash. Dengan melihat kedalam /lost+found mungkin kita sapat menemukan file yang hilang.

< /sys >

Berisi informasi yang berkaitan dengan kernel, device dan firmware. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari ’system’.



Direktori /opt saat ini jarang digunakan. Beberapa paket software terpisah menggunakan direktori untuk menyimpan paket yang menuju ke lokasi manapun. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari ‘optional’

</media>

Merupakan direktori untuk menyimpan direktori-direktori mount point. CD-ROM, DVD, flash disk, bahkan floppy disk juga akan termount di direktori ini. Pada distro-distro modern, sudah memberikan fasilitas untuk menampilkan device-device yang dimount ke depan Desktop. Sehingga pengguna tidak perlu susah-dan-repot menuju ke /media untuk dapat mengakses flash disk-nya tapi cukup lihat ke desktop-nya dan masuk ke direktori yang teerbuat baru di
sana. Untuk workstation yang terintegrasi dengan jaringan, pada umumnya untuk melakukan mounting storage network juga diletakkan di /media. Dengan dikelompokkan seperti itu maka mudah untuk mengenali bahwa semua yang berada di dalam /media merupakan media penyimpan.



Merupakan pseudo filesystem, atau directory yang isinya sebenarnya bukan benar benar berisi file. Isi dari /dev ini berkaitan dengan perangkat-perangkat yang terdapat pada system. Misalkan untuk informasi port serial, port printer, dapat di berlakukan seperti membaca file. Misalkan perangkat serial terletak di /dev/tty01, kemudian partisi dalam harddisk di sebut sebagai /dev/sda7. dan lain sebagainya. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari ‘device’







macam2 Text Editor Pada Linux


Teks editor berfungsi untuk membuat sebuah file teks dimana teks tersebut bisa berupa teks biasa atau sebuah skrip. Di Linux terdapat beberapa paket program yang berfungsi sebagai teks editor, seperti vi, vim, emac, gedit dll. Namun secara umum teks editor dibagi menjadi dua jenis, yang pertama teks editor berbasi shell, dan yang kedua berbasis GUI.

Teks editor yang terdapat pada linux diantaranya (selain Vi dan Vim):

Emacs
Emacs adalah kelas kaya fitur-editor teks, biasanya dicirikan oleh mereka diperpanjang. Pembangunan dimulai pada pertengahan 70-an dan sampai 2008, masih aktif. . Emacs editor teks yang paling populer dengan ahli teknis komputer pengguna dan pemrogram komputer.. Yang paling populer adalah v ersi Emacs GNU Emacs, merupakan bagian dari proyek GNU, yang umumnya hanya disebut sebagai "Emacs".
GNU Emacs manual menjelaskan itu sebagai "diperpanjang, disesuaikan, sendiri-dokumentasi, real-time layar editor.". Hingga September 2008, rilis stabil terbaru dari GNU Emacs adalah versi 22,3.
Selain dari GNU Emacs, lain versi Emacs yang digunakan adalah XEmacs, yang merupakan fork dari GNU Emacs dimulai pada tahun 1991. XEmacs tersebut tetap kebanyakan kompatibel dan terus menggunakan ekstensi bahasa yang sama, pelat Emacs, sebagai GNU Emacs. Hampir semua GNU Emacs dan XEmacs ditulis dalam pelat Emacs, sehingga diperpanjang dari Emacs' fitur yang mendalam.
Asli Emacs adalah satu set Editor macro untuk supernovidades editor. Ia ditulis pada tahun 1976 oleh Richard Stallman, pada awalnya bersama Guy L. Steele, Jr. [1] Ia terinspirasi oleh ide-ide dari TECMAC dan TMACS, sepasang supernovidades-editor makro yang ditulis oleh Steele, Dave Bulan, Richard Greenblatt , Charles Frankston, dan lain-lain.
Dalam Unix budaya, Emacs adalah salah satu dari dua utama contenders tradisional di editor perang, yang lain sedang vi. Perkataan "emacs" sering pluralized sebagai emacsen, secara perbandingan dengan boxen (sendiri digunakan oleh analogi dengan oxen) dan VAXen.


Acme
Acme adalah editor teks dan grafis shell dari Plan 9 dari Bell Labs sistem operasi, yang dirancang dan dilaksanakan oleh Rob Pike. Ia dapat menggunakan sam perintah bahasa.. Rancangan antarmuka telah dipengaruhi oleh Oberon.. Hal ini berbeda dari mengedit lain di lingkungan yang bertindak sebagai 9P server. Sebuah keistimewaan dari elemen antarmuka pengguna adalah mouse chording.

Acme dapat digunakan sebagai mail dan pembaca berita, atau sebagai Frontend wikifs. Aplikasi ini dapat dimungkinkan oleh komponen eksternal berinteraksi dengan file Acme melalui sistem antarmuka.

ActiveState Komodo

ActiveState Komodo adalah nama yang diberikan kepada sebuah keluarga terpadu pembangunan lingkungan (IDE) yang dihasilkan oleh aplikasi perangkat lunak perusahaan ActiveState.

IDE Komodo
Komodo IDE adalah IDE untuk bahasa pemrograman dinamis dibangun pada Mozilla platform. Ia mendukung bahasa dinamis, termasuk JavaScript, Perl, PHP, Python, Ruby, dan Tcl; kerangka susunan seperti Ruby pada rel dan CakePHP; dan perpustakaan klien seperti Yahoo! UI Library and Dojo . Perpustakaan UI dan Dojo.
ActiveState ditambahkan browser sisi dukungan di Komodo IDE 4.0, termasuk debugging, DOM penampil, katalog dukungan, Inspektur HTTP, dan intelijen untuk kode bahasa seperti JavaScript, CSS, HTML, dan XML, memungkinkan pemrogram untuk mengedit dan debug Ajax kode dan multi - bahasa file. Komodo IDE, meskipun tidak Open Source, adalah diperpanjang menggunakan standar Mozilla API berdasarkan XUL, XBL, dan XPCOM, ditambah Python dan JavaScript. Komodo

Komodo Edit
Komodo Edit adalah gratis editor teks dinamis untuk program bahasa yang diperkenalkan pada Januari 2007. Dengan rilis versi 4.3, Komodo Edit dibangun di atas Buka Komodo proyek.
Komodo Edit inherits banyak fitur dari Komodo IDE, seperti yang lengkap bahasa yang didukung (Perl, PHP, Python, Ruby, Tcl) dan platform (Linux, Mac OS X, dan Windows). Komodo Edit juga mendukung browser sisi bahasa seperti JavaScript, CSS, HTML, dan XML.
Ini dikembangkan untuk pemrogram yang membutuhkan multi-bahasa editor dengan fungsionalitas luas, tetapi bukan fitur dari sebuah IDE, seperti debug, DOM penampil, interaktif kerang, dan sumber kode kontrol integrasi. IDE juga tersedia untuk Linux, Mac OS X, dan Microsoft Windows platform.

Bluefish (editor teks)
Bluefish adalah perangkat lunak bebas / open source editor teks untuk POSIX-Penetapan sistem operasi seperti Linux dan Mac OS X. Yang cocok untuk digunakan adalah banyaknya program dan bahasa markup, dengan fokus khusus pada mereka gunakan untuk pengembangan Web.
Bluefish membutuhkan The Gimp Toolkit (GTK). The LaTeX editor Winefish didasarkan pada Bluefish.

Diakonos
Diakonos adalah disesuaikan, bermanfaat kutukan berbasis (konsol berbasis, atau berbasis teks) editor teks. Ia dikembangkan dengan niat yang lebih mudah untuk mengkonfigurasi dan menggunakan dari Emacs, lebih hebat dari Pico dan Nano, dan tidak seperti samar-samar sebagai vi atau ex.
Diakonos menggunakan umum Macintosh / Windows jalan pintas keyboard - Ctrl-C untuk menyalin, Ctrl-V untuk paste, Ctrl-O untuk membuka file, Ctrl-S untuk menyimpan dan sebagainya, bukan lebih idiosyncratic kunci kombinasi yang digunakan oleh sebagian besar lainnya konsol berbasis ed itor.
Diakonos adalah Ruby program, dan oleh karena itu kebutuhan Ruby diinstal.
Fitur
• script dalam bahasa apapun
• makro dan pemutaran rekaman
• multi-elemen clipboard
• multi-tingkat membatalkan
• diurai ( "pintar") lekukan
• disesuaikan multi highlight sintaks, dengan dukungan untuk embedded bahasa (misalnya PHP, eRuby, Javascript)

Eddie
Eddie adalah editor teks yang pertama kali diluncurkan pada tahun 1997 untuk BeOS, dan kemudian porting ke Linux dan Mac OS X. Ianya ditulis oleh Pavel Císler, sebelumnya pernah menjadi pengembang senior di Jadilah, yang kemudian bekerja untuk Eazel dan saat ini bekerja untuk Apple dan terus untuk mengembangkan Eddie sebagai peliharaan proyek, sekarang di Mac OS X. Terinspirasi oleh klasik Macintosh 'Macintosh Programmer Lokakarya editor, itu terutama ditujukan untuk bekerja dengan C dan C + + pembangunan. Namun, Eddie warna untuk mendukung sintaks HTML, JavaScript, .kon / .widget, Perl, dan banyak format lain. Eddie yang mendukung Worksheet - menyediakan baik ditunjuk shell yang memungkinkan kuasa bash dan kenyamanan dalam normal penyuntingan teks mode jendela.

Geany
Geany sangat ringan berat-lintas-platform GTK + editor teks berdasarkan sedikit dengan dasar Integrated Development Environment (IDE) fitur. Perangkat ini dirancang untuk memiliki ketergantungan ter batas pada paket terpisah pendek dan beban kali. Tersedia untuk berbagai sistem operasi, seperti Windows, Linux, Mac OS X , BSD dan Solaris. Di antara yang didukung bahasa pemrograman yang (menurut dokumentasi) C, Java, JavaScript, PHP, HTML, CSS, Python, Perl, Pascal dan Haskell.
adalah salah satu yang lebih lengkap dengan fitur editor pada platform Linux, paling Linux sebagai editor mengadopsi filosofi yang lebih minimalis. Hal ini mirip dengan Windows editor seperti NoteTab atau konteks.
Fitur
• Auto-complete Auto-lengkap
• Multiple document support Beberapa dokumen dukungan
• Project support Proyek dukungan
• Syntax highlighting Syntax highlight
• Code folding Kode lipat
• Symbol lists Lambang daftar
• Embedded terminal Embedded terminal


Gedit

gedit adalah perangkat lunak bebas, UTF-8 kompatibel editor teks untuk lingkungan desktop GNOME Hal ini terutama dirancang untuk mengedit kode program, dan teks terstruktur, seperti bahasa markup. Perangkat ini dirancang untuk memiliki bersih, sederhana grafis antarmuka pengguna sesuai dengan filosofi GNOME proyek

Fitur
Untuk berbagai program dan kode markup format teks, termasuk gedit highlight sintaks dan GUI tab untuk mengedit beberapa file. Tab dapat dipindahkan antara berbagai jendela sebagai sesuai dengan sandi. Ini jauh dapat mengedit file dengan diimplementasikan pada GNOME VFS perpustakaan. Ia mendukung penuh langkah dan membatalkan sistem serta mencari dan mengganti. Lain-lain khas kode berorientasi fitur termasuk nomor baris, mengurung pencocokan, rata teks, highlight baris saat ini dan otomatis file cadangan. Seperti Mei 2008 gedit kekurangan kemampuan memecah jendela dan melihat satu file oleh beberapa jendela, yang lain fitur umum dari program editor teks.
Beberapa fitur canggih gedit multilanguage meliputi pemeriksaan ejaan dan fleksibel plugin sistem yang memungkinkan untuk secara dinamis menambahkan fitur baru, misalnya potongan dan integrasi dengan aplikasi eksternal termasuk terminal. [2]
arsitektur
Dirancang untuk X Window System, gedit menggunakan GTK + 2.0 dan GNOME 2.0 perpustakaan. GNOME integrasi termasuk drag and drop antara Nautilus,


jEdit
jEdit adalah editor teks untuk pemrogram, tersedia di bawah GNU General Public License. jEdit ditulis di Jawa dan berjalan pada Linux, Mac OS X, OS / 2, Unix, VM, dan Windows.
Fitur
jEdit termasuk Sintaks highlight asli yang me mberikan dukungan untuk lebih dari 130 format file. Untuk mendukung format tambahan dapat ditambahkan secara manual menggunakan XML fileIa mendukung UTF-8 encodings dan banyak lainnya.
Aplikasi ini sangat disesuaikan dan dapat diperpanjang dengan macro yang ditulis dalam BeanShell, Jython, JavaScript dan beberapa lainnya bahasa script. GNOME manajer file. Untuk dokumentasi gedit menggunakan GNOME membantu sistem, virtual file sistem, dan pencetakan kerangka [3], yang memungkinkan dicetak kembali, selain GNOME standar sistem pencetakan.


JOE

JOE atau Joe's Memiliki Editor adalah terminal berbasis editor teks untuk sistem Unix, tersedia di bawah GPL. Perangkat ini dirancang untuk mudah digunakan.
JOE terpadu termasuk membantu sistem peringatan dan bagaimana untuk mendapatkan bantuan selalu pada layar. Tombol urutan di JOE adalah serupa dengan WordStar dan Turbo C: banyak adalah kombinasi dari tombol kontrol dan tombol lain, atau kombinasi Ctrl + K dan tombol lain, atau kombinasi dari Escape tombol dan tombol lain. Sejumlah pengaturan juga tersedia melalui Ctrl + T . Program ini umumnya disesuaikan luas melalui file konfigurasi, warna dan mendukung highlight sintaks populer untuk berbagai format file, fitur yang juga dapat diatur.
JOE datang dengan file makro yang membantu ia berusaha Emacs (ketika invoked sebagai jmacs; walaupun tidak pelat programmability dari Emacs), Pico (ketika invoked sebagai jpico), atau WordStar (ketika invoked sebagai jstar). Ada juga yang berlainan disebut "rjoe", yang dibatasi dalam satu yang memungkinkan untuk mengedit file hanya ditentukan pada baris perintah (yang dapat berguna untuk menegakkan prinsip paling hak istimewa).
JOE adalah editor default di awal beberapa distribusi Linux, yang telah menyebabkan ia menjadi populer di kalangan tertentu. Hal ini termasuk sebagai salah satu pilihan pada saat ini sebagian besar distribusi Linux. Pengembangan siklus dihentikan untuk sementara ketika versi 2,8 ini dirilis oleh Yusuf Allen pada tahun 1995. Pembangunan yang telah diambil alih oleh kelompok baru bagi kita semua pada tahun 2001, dipimpin oleh Marek Grac, yang dirilis 2,9 dan beberapa versi terbaru, memperkenalkan standar membangun sistem dan pemasangan banyak bug. Allen kembali ke proyek pada tahun 2004 dan merilis versi 3.0, yang memperkenalkan dan mendukung highlight sintaks untuk UTF-8.

Kate
Kate adalah editor teks untuk KDE. The acronym "Kate" stands for " K DE a dvanced t ext e ditor". The akronim "Kate" singkatan dari "K DE yang dvanced t e ditor ext".
Kate has been part of the kdebase package since KDE release 2.2 ( August 15 , 2002 ). Kate telah bagian dari kdebase paket KDE sejak rilis 2.2 (15 Agustus 2002). Because of the KParts technology which is part of KDE, it is possible to embed Kate as an editing component in any other KDE application. Karena dari KParts teknologi yang merupakan bagian dari KDE, ada kemungkinan untuk embed Kate sebagai mengedit komponen dalam aplikasi KDE lain. The integrated development environment KDevelop and the web development environment Quanta Plus are two of the major KDE applications that make use of Kate as an editing component. Terpadu pembangunan lingkungan KDevelop web dan pembangunan lingkungan Quanta Plus adalah dua utama KDE aplikasi yang menggunakan Kate mengedit sebagai komponen.
fitur termasuk:
• Syntax highlight mesin, diperpanjang melalui XML file
• Cari dan ganti teks menggunakan ekspresi reguler
• MDI, memecah jendela, jendela tabbing
• CR, CRLF, LF newline dukungan
• kolom pilihan (alias blok pilihan)
• Encoding support (UTF-8, UTF-16, ascii dll)
o Kolom pilihan
• Kode lipat kemampuan untuk Java, C + +, C, PHP, Python dan lain-lain.
• Shell integrasi
• Jauhkan beberapa dokumen terbuka di satu jendela
• Bernama sesi dukungan (dikenal sebagai "proyek" KDE sebelum versi 2.5)
• Tarik dan lepaskan mengedit teks
• Interpuncts digunakan untuk menunjukkan karakter ruang
• HTML ekspor
• Plugin arsitektur untuk aplikasi dan komponen editor, termasuk:
o Dasar kata selesai
o pemeriksaan ejaan
• Wide mendukung protokol (http, ftp, ssh, WebDAV dll)
• Customizable pintas
• Scriptable menggunakan JavaScript (KDE 3.5)
Kate dibangun menggunakan KatePart widget di KDE yang menyediakan massal dari aplikasi 'mengedit dukungan.



KWrite
KWrite adalah editor teks ringan untuk K Desktop Environment (KDE).
Dalam KDE 2.x, KWrite tidak menggunakan KParts teknologi, yang memungkinkan Menanamkan satu aplikasi ke yang lain. Kemudian, KWrite telah rewritten untuk menggunakan teknologi ini. Hal ini memungkinkan pengguna untuk memilih, misalnya, Vim akan melekat KWrite Pilihan lain termasuk Qt Designer berbasis editor teks dan KDE lanjutan teks editor (KATE). Yang terakhir adalah pilihan default, dan membuat penggunaan Kate editor teks.
Fitur
• ekspor ke HTML, PDF, PostScript
• Pilihan mode blok (lihat foto layar)
• Kode lipat
• Penunjuk
• Syntax highlight
• Encoding pilihan
• Akhir-dari-baris modus pilihan (Unix, Windows, Macintosh)
• Kata selesai
MicroEMACS
MicroEMACS adalah kecil, portabel Emacs-seperti editor teks awalnya ditulis oleh Dave Conroy pada tahun 1985, dan selanjutnya dikembangkan dan dipertahankan oleh Daniel Lawrence. MicroEMACS telah porting ke banyak sistem operasi, termasuk MS-DOS, Microsoft Windows, VAX / VM, AmigaOS dan berbagai sistem operasi mirip Unix.
Varian MicroEMACS juga ada, seperti MicroGNUEmacs (yang kemudian diganti mg), yang lebih GNU Emacs-editor kompatibel. Banyak hubungan ke vi juga dapat ditemukan di MicroEMACS. Vi klon yang keji itu berdasarkan sekitar versi lama MicroEMACS.
Linus Torvalds menggunakan sebuah versi uEmacs / PK 4.0.15. Versi ini telah disesuaikan dengan Petri H. Kutvonen dari MicroEMACS 3.9e.
Midnight Commander
GNU Midnight Commander (mc) adalah bebas lintas-platform file manager ortodoks dan clone dari Norton Commander.
Midnight Commander merupakan aplikasi konsol dengan teks antarmuka pengguna. Utama antarmuka terdiri dari dua panel yang menampilkan file sistem. It Digunakan dengan cara yang mirip dengan banyak program lain berjalan di Unix shell. Tombol panah kontrol file pilihan, memasukkan kunci yang digunakan untuk memilih file dan Fungsi Tombol melakukan operasi seperti nama, mengedit dan menyalin file. Versi terbaru dari Midnight Commander juga memiliki mouse lebih mudah untuk mendukung operasi. Tersebut adalah versi menyadari GPM dan X terminal Emulator yang mendukung mouse pelaporan. Bila berjalan di dalam terminal X, versi ini dapat memperbarui nama jendela yang di Midnight Commander berjalan (jika diperbolehkan oleh terminal emulator).
Midnight Commander's fitur termasuk kemampuan untuk melihat isi PPJ paket file, untuk bekerja dengan format sebagai arsip umum jika mereka hanya direktori lain, dan untuk fungsi sebagai FTP atau IKAN klien. Midnight Commander juga termasuk disebut editor mcedit. mcedit's menyertakan fitur highlight sintaks untuk bahasa tertentu, dan kemampuan untuk bekerja di kedua ASCII dan guna-guna modePengguna juga memiliki pilihan untuk mengganti dengan editor mcedit mereka pilihan (Pilihan Menu> Konfigurasi> [Jangan] Internal Gunakan Edit).
Midnight Commander juga dapat mengubah nama grup file, tidak seperti beberapa manajer file yang hanya dapat mengubah nama file pada satu waktu. Hal ini nyaman untuk memanipulasi koleksi file besar, misalnya untuk membuat mereka untuk memenuhi baru penamaan. Midnight Commander juga dapat memindahkan file yang berbeda untuk direktori pada saat yang bersamaan karena nama mereka. Hal ini memungkinkan pengguna menentukan asli dan nama file yang dihasilkan menggunakan karakter wildcard. Hal ini membuat daya ekspresi reguler di Unix atau Linux tersedia untuk mengganti nama file, yang nyaman dengan user interfaceSelain itu, pengguna dapat memilih apakah atau tidak untuk memanfaatkan "shell pola" (otomatis dari kelompok wildcard). Semua fitur tersebut tersedia dengan menggunakan File> Ubah nama / Pindah menu pilihan. (Menekan F1 maka akan menghasilkan sebuah penjelasan singkat dari pilihan, termasuk contoh bagaimana untuk menggunakan wildcard.)
Midnight Commander sekarang termasuk dalam sebagian besar distribusi Linux dan berlisensi di bawah Lisensi Publik Umum GNU.
Ini sangat populer di Linux karena yang berdasarkan teks antarmuka serbaguna, seperti ncurses atau S-Lang, yang memungkinkan untuk bekerja pada sebuah konsol biasa, di dalam X Window terminal, melalui SSH sambungan dan semua jenis kerang jauh.

nano

nano adalah sebuah kutukan berbasis editor teks untuk Unix dan Unix-seperti sistem. Ini merupakan tiruan dari Pico, editor dari Pine klien email. nano bertujuan untuk meniru fungsionalitas dan mudah digunakan antarmuka dari Pico, tetapi tanpa ketat mailer integrasi dari Pine / Pico paket. Nano ad alah perangkat lunak bebas. Dengan rilis versi 2.0.7 yang telah berubah dari lisensi GPLv2 ke GPLv3.
nano, seperti Pico, adalah keyboard-berorientasi, dikontrol dengan tombol kontrol. Misalnya, Control-O menyimpan file saat ini; Control-W pergi ke menu pencarian. nano meletakkan dua baris "jalan pintas bar" di bagian bawah layar, banyak dari daftar perintah yang tersedia saat ini dalam konteks. Untuk daftar lengkap, Control-G mendapat bantuan layar.
Tidak seperti Pico, nano menggunakan meta kunci untuk Toggle dengan perilakuMeta-S berganti lancar dan bergulir pada mode off. Hampir semua fitur yang dapat dipilih dari baris perintah dapat secara dinamis toggled.

ne
ne (untuk "nice editor") adalah konsol editor teks untuk POSIX komputer seperti sistem operasi Linux atau Mac OS X. menggunakan termcap perpustakaan, atau perpustakaan seperti ncurses yang menyediakan antarmuka y ang. Ada juga yang Cygwin versi. Ia dikembangkan oleh Sebastiano Vigna University of Milan, Italia
ne ini dimaksudkan untuk memberikan alternatif untuk vi yang akan lebih akrab modern untuk pengguna dan masih akan portabel di seluruh POSIX-persyaratan sistem operasi. Umum menggunakan jalan pintas keyboard seperti Ctrl-Q untuk keluar dan Ctrl-O untuk membuka sebuah file, bukan multi-modus perintah struktur vi. Memiliki dukungan penuh untuk UTF-8, ekspresi reguler dan binari bersih.
ne pada awalnya dikembangkan pada Amiga dan terinspirasi oleh platform yang TurboText's editor, yang ditulis oleh Martin Taillefer. Pembangunan kemudian dipindahkan ke Linux. Todd Lewis bergabung dengan tim pengembangan, sumbangan kode wrote dia untuk menambahkan fitur yang diperlukan di Universitas North Carolina di Chapel Hill.
NEdit
NEdit, yang Nirwana editor, merupakan editor teks dan editor kode sumber untuk Sistem X Window. Ia mempunyai antarmuka yang mirip dengan teks editor pada Microsoft Windows dan Macintosh, daripada lama untuk UNIX editor seperti Emacs. Hal ini pada awalnya dikembangkan oleh Mark Edel untuk Fermilab dan dirilis di bawah lisensi terbatas, tetapi sekarang ini didistribusikan di bawah GNU General Public License (ditambah Motif ayat ¹), dan dikembangkan sebagai independen open source proyek oleh tim pengembang. Nedit was also distributed with IRIX operating system. Nedit juga didistribusikan dengan IRIX sistem operasi.
NEdit diperpanjang adalah melalui C-makro seperti bahasa, dan fitur otomatis lekukan dan highlight sintaks untuk berbagai bahasa komputer. NEdit dapat juga proses tag file yang dihasilkan menggunakan perintah Unix ctags atau bergairah Ctags program.
User interface yang dibangun menggunakan Motif perangkat bantu, yang dibuat itu segera sukses dengan berbagai platform milik Unix yang menggunakan antarmuka pengguna perangkat bantu. Untuk versi open source sepenuhnya, alternatif LessTif perpustakaan dapat digunakan sebagai gantinya.


Pico
Pico adalah editor teks untuk Unix dan Unix-sistem berbasis komputer. Hotel ini terpadu dengan Pine e-mail client, yang dirancang oleh Kantor Komunikasi dan Komputasi di University of Washington.
Dari Pine FAQ: "Pi ne pesan bersama mposition editor juga tersedia sebagai terpisah berdiri sendiri-program, disebut Pico. Pico sangat sederhana dan mudah digunakan editor teks yang menawarkan ayat justifikasi, cut / paste, dan ejaan pemeriksa ... "
Pico tidak mendukung bekerja dengan beberapa file secara simultan dan tidak dapat melakukan menemukan dan mengganti berbagai file. Ia juga tidak dapat menyalin teks dari satu file ke lain (walaupun ada kemungkinan untuk membaca teks ke dalam editor dari file dalam direktori kerja). Pico juga mendukung pencarian dan mengganti operasi.
Pico interface dengan berbagai cara sangat mirip dengan yang ditemukan pada Windows editor, seperti Notepad. Dengan perbandingan, beberapa populer Unix editor teks seperti vi dan Emacs memberikan secara signifikan lebih besar daripada jumlah fitur Pico, termasuk ekspresi reguler pencarian dan mengganti dan bekerja dengan beberapa file pada saat yang bersamaanNamun, mereka umumnya sulit untuk mempelajari bagaimana cara menggunakannya.
Nano dikembangkan karena Pico's lisensi bukan merupakan perangkat lunak bebas lisensi, sejak distribusi dari versi perubahan kode secara tegas dilarang. Nano mencoba untuk meniru picocell dengan standar mengulangi lingkungan pengguna untuk digunakan. Namun nano dapat dikonfigurasi agar lebih bermanfaat. Nano dapat dikonfigurasi untuk menawarkan dukungan mouse, indentasi otomatis, pencarian ekspresi reguler dan bahkan sintaks highlight.











>>>> Shell Script I <<<<


Shell script adalah suatu file yang berisi perintah-perintah yang harus dikerjakan oleh Shell. Perintah dalam suatu script bisa berupa perintah yang dapat diberikan dari prompt atau perintah kendali alir (Flow Control Commands). Perintah kendali alir adalah perintah untuk mengatur urutan eksekusi perintah-perintah dalam suatu script. Perintah kendali alir terbagi dalam dua kelompok, yaitu pencabangan dan pengulangan.

Pengantar Shell Script

> Membuat Shell Script

File script dapat dibuat dengan menggunakan teks editor seperti misalnya vi, pico, joe, gedit, kedit dll. Setiap file script biasanya diawali dengan baris seperti ini : #!/bin/bash yang artinya script di bawah baris tersebut akan dijalankan dengan interpreter /bin/bash. Untuk menandai baris komentar gunakan tanda "#" pada awal baris.

Contoh :

$ cat > myscript

#!/bin/bash

# ini adalah program pertama saya

# baris yang diawali dengan "#" adalah baris komentar

# dan tidak akan dieksekusi oleh shell

who

ls -l myscript

[Ctrl]+[D]

> Menjalankan Shell Script

Script dijalankan seperti executable file dengan cara mengetikkan nama file pada prompt. Ada

dua hal yang harus diperhatikan dalam menjalankan script, yaitu :

1. Direktori tempat script berada harus termasuk dalam search PATH

Gunakan perintah echo $PATH untuk melihat search PATH yang berlaku saat ini

2. File script harus memiliki ijin akses (permission) r dan x.

Ubah dengan perintah chmod jika perlu !

Contoh :

$ echo $PATH

/usr/local/bin:/bin:/usr/bin

$ cd

$ pwd

/home/badu

$ cat myscript

who

ls -l myscript

$ ls –l myscript

-rw-r--r-- 1 badu imt 16 Feb 23 11:29 myscript

$ myscript

bash : myscript : command not found file myscript tidak dapat

ditemukan oleh shell

$ PATH=$PATH:$HOME memasukkan direktori tempat

myscript berada ke dalam

PATH

$ echo $PATH

/usr/local/bin:/bin:/usr/bin:/home/badu

$ myscript

bash : /home/badu/myscript : Permission

denied

file myscript tidak bisa

dieksekusi

$ chmod +x myscript ditambahkan hak eksekusi

$ ls -l myscript

-rwxr-xr-x 1 badu imt 16 Feb 23 11:29 myscript

$ myscript

badu ttyp0 Mar 01 12:47

-rwxr-xr-x 1 badu imt 16 Feb 23 11:29 myscript

Variabel

Variabel merupakan nama yang mewakili suatu harga string. Nama variabel harus diawali dengan alfabet (a..z, A..Z) atau garis bawah/underscore (_) dan tidak boleh diawali dengan angka.

Contoh :

1. Penamaan variabel yang benar

Nama

hari

_jumlah

2. Penamaan variabel yang salah

5hari

2jam

> Menyimpan Harga Variabel

Bentuk umum: Nama_Var=Harga

Keterangan:

Tidak boleh ada spasi di kiri dan kanan "=".

Contoh :


$ jumlah=1

$ temp=/usr/unyil/temp

> Menampilkan Harga Variabel

Perintah echo digunakan untuk menampilkan nilai yang disimpan dalam suatu variabel.

Bentuk umum : echo $Nama_Var

Keterangan:

$ merupakan karakter khusus bagi shell yang menyatakan substitusi variabel.

$Nama_Var berarti substitusi harga yang disimpan dalam variabel bernama Nama_Var pada

posisi tersebut.

Contoh :

$ echo $jumlah

1

$ echo $temp

/usr/unyil/temp

8.2.3. Menghapus Variabel

Caranya : isi dengan NULL

Contoh :

$ nama= atau

$ nama='' atau

$ nama="" atau

$ unset nama

Parameter

> Parameter Posisi (Positional Parameter)

Variabel yang diketikkan pada baris perintah.

Parameter posisi : $0, $1, $2 ... $9

$ perintah parameter1 parameter2 ...

Contoh :

$ cat tetangga

who | grep $1

$ who

unyil ttyp03 Feb 16 08:37

usro ttyp09 Feb 16 09:13

$ tetangga unyil

unyil ttyp03 Feb 16 08:37 variabel $1 akan disubstitusi oleh "unyil" sehingga

program tetangga menjadi who | grep unyil

> Parameter Khusus (Special Parameter)

Variabel yang mempunyai arti khusus bagi shell dan sudah ditentukan oleh shell.

Yang termasuk dalam parameter khusus diantaranya : $#, $*, $@

1. $#

Digunakan untuk menyimpan jumlah parameter yang diketikkan pada baris perintah.

Contoh :

$ cat > arg

echo Nama program = $0

echo Jumlah argumen = $#

echo Argumen1=:$1: Argumen2=:$2: Argumen3=:$3:

[Ctrl]+[D]

$ arg a b c

Nama program = arg

Jumlah argumen = 3

Argumen1=:a: Argumen2=:b: Argumen3=:c:

$ arg

Nama program = arg

Jumlah argumen = 0

Argumen1=:: Argumen2=:: Argumen3=::

$ arg "a b c"

Nama progarm = arg

Jumlah argumen = 1

Argumen1=:a b c: Argumen2=:: Argumen3=::

2. $*

Digunakan untuk menyimpan nilai semua parameter yang diketikkan pada baris perintah.

Contoh :

$ cat > arg2

echo Jumlah argumen = $#

echo yaitu :$*:

[Ctrl]+[D]

$ arg2 a b c

Jumlah argumen = 3

yaitu :a b c:

$ arg2

Jumlah argumen = 0

yaitu ::

3. $@

$0 $1 $2

Fungsinya sama dengan $* kecuali bila dalam kutip ganda ("$@") akan menempatkan setiap argumen posisi dalam kutip ganda.

Contoh:

$ cat > arg3

echo Jumlah argumen = $#

for arg in "$*"

do

echo $arg

done

[Ctrl]+[D]

$ arg3 a b c

Jumlah argumen = 3

a b c

$ arg3 "a b" c

Jumlah argumen = 2

Abc

4. Mengganti "$*" dengan "$@"

Contoh :

$ cat > arg4

echo Jumlah argumen = $#

for arg in "$@"

do

echo $arg

done

[Ctrl]+[D]

$ arg4 a b c

Jumlah argumen = 3

abc

$ arg4 "a b" c

Jumlah argumen = 2

a b

c

> Pengutipan

Karakter khusus adalah karakter yang mempunyai fungsi khusus bagi shell.

Contoh karakter khusus :

? : substitusi nama file

* : substitusi nama file

` : substitusi perintah

$ : substitusi variabel

Pengutipan (quoting) berfungsi untuk mengabaikan fungsi dari karakter khusus.

Terdapat tiga macam pengutipan :

1. Backslash (\)

Hal 44 / 93 Modul Pelatihan Linux Fundamental – InfoSolusi

Contoh :

$ echo >

bash: syntax error near unexpected token '>'

$ echo \> > tidak lagi dianggap sebagai karakter pembelokan

2. Kutip Tunggal (' ')

Fungsi : mengabaikan semua karakter khusus di dalamnya, seperti newline, tabs, spasi

Contoh :

$ echo satu dua tiga

satu dua tiga

$ echo 'satu dua tiga'

satu dua tiga

3. Kutip Ganda (" ")

Fungsi : mirip dengan kutip tunggal kecuali tidak mengabaikan :

$ (substitusi variabel)

Back quote/kutip balik (`)

Backslash (\)

Contoh :

$ x=satu

$ echo $x

satu

$ echo '$x'

$x

$ echo "$x"

Satu

> Kutip Balik

ungsinya untuk menjalankan perintah yang ada di dalamnya serta menyisipkan standard

output-nya pada posisi tersebut (command substitution).

Bentuk umum : `perintah`

Contoh :


$ echo Hari ini : `date`

Hari ini : Tue Feb 16 09:34:40 JAVT 1997

> Substitusi Nama File

Karakter Arti

? Match satu karakter

* Match semua karakter

[ ... ] Match pilihan karakter

Contoh :

$ ls -l

total 10

-rw-r--r-- 1 badu imt 20 Mar 12 1999 Test

-rw-r--r-- 1 badu imt 38 Mar 12 1999 cetak

-rw-r--r-- 1 badu imt 18 Mar 12 1999 test

-rw-r--r-- 1 badu imt 18 Mar 12 1999 test1

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test2

$ ls test?

test1 test2

$ ls *

Test cetak test test1 test2

$ ls [Tt]est*

Test test test1 test2

Input dan Output

> read

Fungsi : untuk membaca data dari keyboard atau file.

Bentuk umum :

read var1 var2 ... varn

Keterangan :

kata pertama di-assign ke var1

, kata kedua ke var2 dan seterusnya.

jika jumlah variabel dalam list lebih sedikit dari jumlah data yang dibaca maka sisa baris disimpan dalam variabel terakhir (varn).

Contoh :

1. Membaca data nama dan alamat dari keyboard

$ read nama alamat

dudi depok

2. Menampilkan isi variabel nama

$ echo $nama

Dudi

3. Menampilkan isi variabel alamat

$ echo $alamat

Depok

echo

Fungsi : untuk menampilkan string ke standard output (layar).

Bentuk umum :

echo [-pilihan] arg1 arg2 ... argn

Keterangan :

Setiap argumen dipisahkan oleh satu spasi.

Pilihan yang sering digunakan :

-n : tidak menampilkan baris baru (newline)

-e : untuk menampilkan backslash-escaped characters

Backslash-escaped characters :

Karakter Hasil yang dicetak

\b

\c

\f

\n

\r

backspace

seluruh argumen tanpa new line

formfeed

new line

carriage return

\\

\nnn

karakter backslash

ASCII karakter dengan nnn=3 digit oktal

yang diawali 0

Contoh :

1. Menampilkan isi direktori

$ echo *

bin mail misc

Hal 46 / 93 Modul Pelatihan Linux Fundamental – InfoSolusi

2. Menampilkan baris kosong

$ echo

3. Menampilkan tabulasi

$ echo -e "x\ty"

x y

4. Menampilkan baris baru

$ echo -e "\n\nlompati 2 baris"

lompati 2 baris

5. Membuat script untuk menerima input - tanpa escape character

$ cat > masukan1

echo "Nama Anda: "

read nama

echo "Nama anda adalah $nama"

[Ctrl]+[D]

$ masukan1

Nama Anda:

Unyil

Nama anda adalah Unyil

6. Membuat script untuk menerima input - dengan escape character

$ cat > masukan2

echo -e "Nama Anda: \c"

read nama

echo "Nama anda adalah $nama"

[Ctrl]+[D]

$ masukan2

Nama Anda: Unyil

Nama anda adalah Unyil

Pencabangan dengan If

> if

Fungsi : untuk mengambil keputusan perintah mana yang akan dijalankan dari beberapa pilihan

yang ada

Bentuk umum :

if kondisi

then

perintah

perintah

:

fi

if kondisi

then

perintah

perintah

:

else

perintah

perintah

:

Fi

Keterangan :

Kondisi diperoleh sebagai hasil eksekusi program (berupa exit status).

Exit status = 0 maka perintah-perintah antara then dan fi dilaksanakan.

Exit status <> 0

Perintah antara then dan fi dilompati.

Untuk bentuk umum dengan else perintah-perintah antara else dan fi dilaksanakan.

> Exit Status

Modul Pelatihan Linux Fundamental – InfoSolusi Hal 47 / 93

Suatu angka yang menunjukkan sukses atau tidaknya suatu program atau perintah dijalankan.

Exit status = 0 berarti sukses.

Exit status <> 0 berarti gagal.

Exit status dari suatu perintah pipeline adalah exit status dari perintah paling akhir dalam

pipeline.

Variabel $?

$? merupakan variabel penyimpanan exit status dari perintah terakhir.

Contoh :

$ cp file1 file2

$ echo $?

0 SUKSES

$ cp nihil backup

cp: nihil: No such file or directory asumsi file nihil tidak ada

$ echo $?

1 GAGAL

Contoh :

$ cat > on

#

# menentukan user yang sedang login

#

user="$1"

if who | grep "$user"

then

echo "$user sedang login"

else

echo "$user tidak login"

fi

[Ctrl]+[D]

$ who

unyil ttyp03 Feb 16 08:37

usro ttyp09 Feb 16 09:13

$ on unyil

unyil ttyp03 Feb 16 08:37

unyil sedang login

$ on slamet

slamet tidak login

> Bentuk else if

Bentuk else if digunakan jika pilihan yang harus dilaksanakan lebih dari dua.

Bentuk umum :

if kondisi1

then

perintah

perintah

:

else

if kondisi2

then

perintah

perintah

:

else

perintah

perintah

if kondisi1

then

perintah

perintah

:

elif kondisi2

then

perintah

perintah

:

else

perintah

perintah

:

Hal 48 / 93 Modul Pelatihan Linux Fundamental – InfoSolusi

:

fi

fi

fi

Evaluasi Kondisi

Fungsi : melakukan testing satu kondisi atau lebih

test

Bentuk umum : test ekspresi atau [ ekspresi ] atau [[ ekspresi ]]

Keterangan :

ekspresi adalah kondisi yang akan ditest

untuk bentuk [ ekspresi ] harus ada spasi setelah tanda "[" dan sebelum tanda "]"

test mengembalikan :

exit status = 0 jika ekspresi bernilai true.

exit status <> 0 jika ekspresi bernilai false.

> Operator String

Operator Menghasilkan exit status=0 jika

string1 = string2 string1 identik dengan string2

string1 !=

string2

string1 tidak identik dengan string2

string string tidak null (test untuk string dengan panjang <> 0)

-n string string tidak null (test untuk string dengan panjang <> 0)

-z string string null (test untuk string dengan panjang = 0)

Contoh :

$ nama="unyil"

$ [ "$nama" = unyil ]

$ echo $?

0 True

$ hari="kamis"

$ [ "$hari" = rabu ]

$ echo $?

1 False

> Operator Integer

Operator Menghasilkan exit status=0 jika

int1 –eq int2 int1 sama dengan int2

int1 –ge int2 int1 lebih besar atau sama dengan int2

int1 –gt int2 int1 lebih besar dari int2

int1 –le int2 int1 lebih kecil atau sama dengan int2

int1 –lt int2 int1 lebih kecil dari int2

int1 –ne int2 int1 tidak sama dengan int2

Keterangan :

Shell tidak akan membedakan tipe harga yang disimpan dalam variabel tetapi test akan

memperlakukan suatu harga sebagai integer jika dibandingkan dengan operator integer.

Contoh :

$ x1="005"

$ x2=" 10"

$ [ "$x1" = 5 ]

$ echo $?

1

Perbandingan string

False

$ [ "$x1" –eq 5 ]

$ echo $?

Perbandingan integer

True

0

$ [ "$x2" = 10 ]

$ echo $?

1

Perbandingan string

False

$ [ "$x2" –eq 10 ]

$ echo $?

0

Perbandingan integer

True

> Operator File

Operator Menghasilkan exit status=0 jika

-d file file adalah direktori

-f file file adalah file biasa (ordinary file)

-L file file adalah symbolic link

-r file file dapat dibaca oleh proses

-s file panjang file <> nol

-w file file dapat ditulis oleh proses

-x file file dapat dijalankan atau dieksekusi

Contoh :

$ ls -l

total 6

drwxr-xr-x 2 badu imt 32 Mar 12 1999 data

-rw-r--rw- 1 badu imt 18 Mar 12 1999 hasil

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test

$ [ -f hasil ]

$ echo $?

0 True

$ [ -d data ]

$ echo $?

0 True

> Operator Logika

1. Operator negasi (!)

Fungsi : me-negasi-kan hasil evaluasi kondisi/ekspresi

Contoh :

$ ls -l

total 6

drwxr-xr-x 2 badu imt 32 Mar 12 1999 data

-rw-r--rw- 1 badu imt 18 Mar 12 1999 hasil

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test

$ [ ! -f hasil ]

$ echo $?

1 False

[ ! "$x1" = "$x2" ] sama hasilnya dengan

[ "$x1" != "$x2" ] yaitu akan true (exit status = 0) jika $x1 tidak

identik dengan $x2

2. Operator and (-a)

Fungsi :

melakukan fungsi logika and terhadap 2 ekspresi

mengembalikan hasil true bila kedua ekspresi benar

Bentuk umum : [ ekspresi1 -a ekspresi2 ]

Hal 50 / 93 Modul Pelatihan Linux Fundamental – InfoSolusi

Keterangan :

Memiliki prioritas lebih rendah dibandingkan dengan operator string, integer dan file.

Contoh :

$ ls -l

total 6

drwxr-xr-x 2 badu imt 32 Mar 12 1999 data

-rw-r--rw- 1 badu imt 18 Mar 12 1999 hasil

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test

$ [ -f hasil -a -d data ]

$ echo $?

0 True

> Operator or (-o)

Fungsi :

melakukan fungsi logika or terhadap 2 ekspresi

mengembalikan hasil true bila salah satu ekspresi benar

Bentuk umum : [ ekspresi1 -o ekspresi2 ]

Keterangan :

Memiliki prioritas lebih rendah dibandingkan dengan operator -a.

Contoh :

$ ls -l

total 6

drwxr-xr-x 2 badu imt 32 Mar 12 1999 data

-rw-r--rw- 1 badu imt 18 Mar 12 1999 hasil

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test

$ [ -d hasil -o -d data ]

$ echo $?

0 True

Pengulangan dengan for

Berfungsi untuk menjalankan sekelompok perintah secara berulang-ulang sesuai dengan jumlah

yang sudah ditentukan.

Bentuk umum :

for dengan list

for var in word1 word2 ... wordn

do

perintah

perintah

:

done

for tanpa list

for var

do

perintah

perintah

:

Done

Keterangan :

Perintah-perintah antara do dan done disebut badan Iterasi (Body Loop)

Pertama kali loop dijalankan, var disubstitusi dengan word1

(atau $1 untuk for tanpa list)

Modul Pelatihan Linux Fundamental – InfoSolusi Hal 51 / 93

lalu badan iterasi dijalankan.

Berikutnya var disubstitusikan dengan word2

(atau $2 untuk for tanpa list) kemudian badan

iterasi dieksekusi lagi dan seterusnya.

Badan iterasi ini dijalankan berulang-ulang dari atas ke bawah sebanyak:

Jumlah word dalam list setelah in

Jumlah argumen pada command line (untuk for tanpa list)

Contoh :

1. For dengan list

$ cat > loop1

for i in 1 2 3

do

echo $i

done

[Ctrl]+[D]

$ loop1

123

2. For tanpa list

$ cat > loop2

for i

do

echo $i

done

[Ctrl]+[D]

$ loop2 1 2 3

123

Shell Script II

Pencabangan dengan case

> case

case berfungsi untuk membandingkan satu harga dengan sejumlah pola.

Bentuk umum :

case harga in

pola1 ) perintah

perintah

:

perintah ;;

pola2 ) perintah

perintah

:

perintah ;;

polan ) perintah

perintah

:

perintah ;;

esac

Keterangan :

case membandingkan harga dengan pola-pola yang ada dari atas ke bawah.

jika ditemukan pola yang tepat maka perintah-perintah untuk pola tersebut dijalankan

(dibatasi ;;).

jika tidak ditemukan maka tidak ada perintah-perintah dalam case yang dijalankan.

case dapat memanfaatkan sejumlah pattern matching character seperti :

*

?

[ … ]

Contoh :

$ cat > ctype

if [ $# -ne 1 ]

then

echo usage : ctype char

exit 1

fi

char=$1

case "$char" in

[0-9] ) echo digit ;;

[a-z] ) echo huruf kecil ;;

[A-Z] ) echo huruf besar ;;

? ) echo karakter khusus ;;

* ) echo ketikkan 1 karakter saja ;;

esac

[Ctrl]+[D]

$ ctype u

huruf kecil

$ ctype '>'

karakter khusus

$ ctype xx

ketikkan satu karakter saja

> Operasi Logika or Antar Dua Pola

Bentuk umum: pola1 | pola2

Keterangan : harga dapat diterima apabila memenuhi salah satu pola.

Contoh :

$ cat > greetings

hour=`date +%H`

case "$hour"

in

0? | 1[01] ) echo "Good morning" ;;

1[2-7] ) echo "Good afternoon" ;;

* ) echo "Good evening" ;;

esac

[Ctrl]+[D]

$ date

Tue Mar 7 10:12:40 JAVT 2000

$ greetings

Good morning

Keterangan :

Perintah date +%H hanya akan menampilkan bagian jam-nya saja dari perintah date.

> Bentuk && (and-if)

Fungsi : mengatur eksekusi perintah berdasarkan exit status perintah sebelumnya.

Bentuk umum : perintah1 && perintah2

Keterangan :

perintah

2

dikerjakan bila perintah

1

menghasilkan exit status = 0, jika tidak maka perintah

2

dilompati (melakukan operasi logika and)

perintah1 && perintah2

hasilnya sama

if perintah1

then

perintah2

fi

Contoh :

$ cat > cari

user="$1"

who | grep "$user" && echo "$user sedang login"

[Ctrl]+[D]

$ who

unyil ttyp01 Feb 15 14:00

badu ttyp01 Feb 15 14:01

$ cari unyil

unyil sedang login

$ cari usro

> Bentuk | | (or-if)

Bentuk umum : perintah1 || perintah2

Keterangan :

Modul Pelatihan Linux Fundamental – InfoSolusi Hal 55 / 93

perintah

2

dikerjakan hanya jika perintah

1

menghasilkan exit status <> 0 (melakukan operasi

logika or)

perintah1 || perintah2

hasilnya sama

if perintah1

then

:

else

perintah2

fi

Keterangan :

Tanda : berarti tidak melakukan apa-apa

Contoh :

$ cat > cari2

user="$1"

who | grep "$user" || echo "$user tidak login"

[Ctrl]+[D]

$ who

unyil ttyp01 Feb 15 14:00

badu ttyp02 Feb 15 14:01

$ cari2 unyil

unyil ttyp01 Feb 15 14:00

$ cari2 usro

usro tidak login

Ekspresi Aritmetika

Operator yang digunakan dalam ekspresi aritmatika :

+ : penjumlahan

- : pengurangan

/ : pembagian

* : perkalian

% : modula (sisa pembagian)

Keterangan :

"+" dan "-" memiliki prioritas yang lebih rendah dibanding tiga operator lain.

setiap operator didahului dan diikuti oleh spasi.

operator "*" harus dikutip agar tidak rancu dengan substitusi file.

> expr

Bentuk umum : expr ekspresi

Contoh :

$ expr 1 + 2

3

$ expr 17 * 6

expr: syntax error

$ expr 17 "*" 6

102

$ expr 17 '*' 6

102

$ expr 17 \* 6

102

Catatan :

Bila hasil dari perintah expr akan disimpan ke dalam suatu variabel maka perintah expr

harus berada di dalam tanda kutip balik.

Contoh :

$ i=1

$ i=`expr $i + 1`

$ echo $i

2

> let

Bentuk umum : let ekspresi

Contoh :

$ i=1

$ let i=i+1

$ echo $i

2

> (( ))

Bentuk umum : (( ekspresi ))

$ i=1

$ ((i=i+1))

$ echo $i

2

Pengulangan dengan while dan until

> while

Bentuk umum :

while kondisi

do

perintah

perintah

:

done

Keterangan :

periksa kondisi

jika exit status = 0 jalankan perintah-perintah antara do dan done

ulangi langkah pertama

jika exit status <> 0 stop

Contoh :

$ cat > selama

i=1

while [ $i –le 4 ]

do

echo $i

let i=i+1

done

[Ctrl]+[D]

$ selama

1234

> true

Perintah true digunakan dalam while apabila menginginkan pengulangan secara terus

menerus.

Contoh :

$ cat > ulang

while true

do

echo "Hallo"

done

[Ctrl]+[D]

$ ulang

Hallo

Hallo

Hallo

[Ctrl]+[C] Tekan Ctrl-C untuk menghentikan program

> until

Bentuk umum :

until kondisi

do

perintah

perintah

:

done

Keterangan :

periksa kondisi

jika exit status <> 0 jalankan perintah-perintah antara do dan done

ulangi langkah pertama

jika exit status = 0 stop

Contoh :

$ cat > hingga

i=1

until [ $i –gt 4 ]

do

echo $i

let i=i+1

done

[Ctrl]+[D]

$ hingga

1234

> false

Perintah false digunakan dalam until apabila menginginkan pengulangan secara terus

menerus.

Contoh :

$ cat > ulang2

until false

do

echo "Hallo"

done

[Ctrl]+[D]

$ ulang2

Hallo

Hallo

Hallo

[Ctrl]+[C] Tekan Ctrl-C untuk menghentikan program

> break

Fungsi : keluar dari pengulangan

Bentuk umum : break n

Keterangan :

keluar dari n loop terdalam

Contoh :

$ cat > potong

i=0

while [ $i -le 4 ]

do

let i=i+1

if [ $i = 3 ]

then

break

fi

echo $i

done

[Ctrl]+[D]

$ potong

12

> continue

Fungsi : melompati sisa perintah dalam loop untuk kembali melanjutkan loop dari atas (kembali

ke pemeriksaan kondisi)

Bentuk umum : continue n

Keterangan :

n loop terdalam dilompati

Contoh :

$ cat > lewat

i=0

while [ $i -le 4 ]

do

let i=i+1

if [ $i = 3 ]

then

continue

fi

echo $i

done

[Ctrl]+[D]

$ lewat

124

> I/O Redirection dalam Pengulangan

Contoh :

$ cat > selama2

i=1

while [ $i –le 4 ]

do

echo $i

let i=i+1

done > hasil

[Ctrl]+[D]

$ selama2

$ cat hasil

1234

Fungsi

Merupakan kumpulan perintah yang dapat dipanggil berulang kali dalam suatu shell script.

Fungsi dieksekusi seperti perintah biasa.

Bentuk Umum :

function nama_fungsi () { perintah; ... perintah; }

atau

nama_fungsi() { perintah; ... perintah; }

Keterangan :

Setelah tanda "{" harus diikuti spasi dan sebelum tanda "}" juga harus didahului spasi

Contoh :

$ cat > fungsi

nu () { who | wc -l; }

[Ctrl]+[D]

$ . fungsi

$ who

unyil ttyp01 Feb 15 14:00

badu ttyp02 Feb 15 14:01

usro ttyp03 Feb 15 14:03

ucrit ttyp04 Feb 15 14:05

$ nu

4

> return

Digunakan untuk menghentikan eksekusi suatu fungsi dan kembali ke program yang

memanggilnya

Bentuk umum : return n

Keterangan :

n = exit status yang ingin dikembalikan

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. My Kampuzzzz - All Rights Reserved
Template Created by Creating Website Inspired by Sportapolis Shape5.com
Proudly powered by Blogger