1 Memahami direktori GNU/Linux
2 ----------------------------
4 Direktori debian GNU/Linux tersusun secara hirarki. Berbeda dengan microsoft
5 windows yang mengelompokkan berdasarkan partisi yang ada. Debian
6 GNU/Linux hanya memiliki satu hirarki direktori besar yang berisi semua
7 partisi yang ada. Direktori teratas adalah direktori root yang ditandai dengan
10 Di bawah direktori root (/) berisi sub direktori */bin, /boot, /dev, /etc, /home, /lib,
11 /lost+found, /misc, /mnt, /proc, /root, /sbin, /tmp, /usr, /var*. Di bawah
12 subdirektori yang telah disebutkan di atas, masih terdapat subdirektori lagi
13 hingga berupa file saja.
15 .. image:: ../images/hirarki-direktori.png
16 :alt: Hirakri direktori Debian GNU/Linux
18 Meskipun bukan sesuatu yang begitu penting untuk mengetahui isi seluruh
19 direktori debian GNU/Linux, tapi merupakan hal yang sangat baik jika anda
20 mengetahui jenis-jenis dari file yang tersimpan pada setiap direktori yang ada.
22 Direktori Debian GNU/Linux
23 ~~~~~~~~~~~~~~~~~~~~~~~~~~
25 Struktur debian GNU/Linux dan varian GNU/Linux lain berdasarkan pada
26 sistem operasi UNIX. Keuntungan dari sistem direktori ini adalah anda dapat
27 memposisikan sebuah partisi sebagai sebuah file pada sistem. Berikut ini
28 struktur direktori/file debian GNU/Linux:
30 +-----------------+----------------------------------------------------------------------+
31 | **/** | Direktori *root*. Berisi seluruh file dan direktori lain. |
32 +-----------------+----------------------------------------------------------------------+
33 | **/bin** | File biner atau file executable yang dapat digunakan baik user biasa |
34 | | ataupun user root. |
35 +-----------------+----------------------------------------------------------------------+
36 | **/boot** | File-file yang dibutuhkan sistem saat booting, termasuk kernel. |
37 +-----------------+----------------------------------------------------------------------+
38 | **/cdrom** | Mounting point untuk cdrom. Jika sistem memilki 2 buah cdrom drive |
39 | | maka akan dikenali sebagai /cdrom2. |
40 +-----------------+----------------------------------------------------------------------+
41 | **/floppy** | Mounting point untuk floppy drive. Jika sistem memiliki 2 buah |
42 | | floppy drive maka akan dikenali sebagai /floppy2. |
43 +-----------------+----------------------------------------------------------------------+
44 | **/dev** | Mendefinisikan perangkat keras hardisk, partisi, dan perangkat keras |
45 | | lainnya. Direktori /dev juga berisi tool makedev untuk membuat |
47 +-----------------+----------------------------------------------------------------------+
48 | **/etc** | File konfigurasi sistem debian GNU/Linux seperti /etc/X11 untuk |
49 | | konfigurasi X Window. |
50 +-----------------+----------------------------------------------------------------------+
51 | **/home** | Direktori home untuk user biasa. Sedangkan direktori home untuk user |
52 | | root adalah /root. |
53 +-----------------+----------------------------------------------------------------------+
54 | **/initrd** | File-file untuk RAM Disk GNU/Linux. |
55 +-----------------+----------------------------------------------------------------------+
56 | **/lib** | Pustaka program yang dibutuhkan untuk menjalankan sistem dan |
58 +-----------------+----------------------------------------------------------------------+
59 | **/lost+found** | File-file recovery |
60 +-----------------+----------------------------------------------------------------------+
61 | **/mnt** | Sebuah folder tempat mount point device. |
62 +-----------------+----------------------------------------------------------------------+
63 | **/proc** | Proses dan informasi sistem. |
64 +-----------------+----------------------------------------------------------------------+
65 | **/sbin** | File-file executable yang dibutuhkan untuk boot sistem serta program-|
66 | | program *maintenance* seperti lilo, ifconfig, mkfs, dll dan hanya |
67 | | dapat dieksekusi oleh user root. |
68 +-----------------+----------------------------------------------------------------------+
69 | **/usr** | Merupakan direktori tempat aplikasi disimpan oleh GNU/linux, saat |
70 | | anda menginstal sebuah program di debian GNU/linux maka akan |
71 | | secara otomatis disimpan di direktori tersebut. |
72 +-----------------+----------------------------------------------------------------------+
73 | **/var** | File data yang berisi tentang perubahan-perubahan yang dilakukan |
74 | | seperti cache, spool, log file, dan file mailbox user. |
75 +-----------------+----------------------------------------------------------------------+
76 |**/var/lock** | File lock untuk menjaga user lain menggunakan file tersebut. |
77 +-----------------+----------------------------------------------------------------------+
78 |**/var/log** | Berisi log dari sebuah program |
79 +-----------------+----------------------------------------------------------------------+
80 |**/tmp** | Direktori ini digunakan untuk penyimpanan sementara |
81 +-----------------+----------------------------------------------------------------------+
83 Direktori-direktori di atas adalah direktori induk yang dibawahnya masih
84 terdapat sub direktori, antara lain:
86 ============== ================================================================
87 **/usr/X11R6** Berisi file-file yang dibutuhkan oleh sistem X Window.
88 **/usr/bin** Berisi file-file biner/program yang dapat digunakan oleh seluruh user.
89 **/usr/doc** Berisi dokumentasi yang dapat diakses oleh seluruh user.
90 **/usr/games** Berisi program game yang dapat diakses oleh seluruh user.
91 **/usr/lib** Berisi file biner untuk bahasa pemrograman yang dapat diakses oleh
93 **/usr/local** Berisi program yang ditulis oleh user pada komputer lokal.
94 **/usr/src** Berisi source code untuk sistem operasi GNU/Linux seperti kernel
96 ============== ================================================================
101 Saat menjalankan Debian GNU/linux, anda akan dihadapatkan dengan direktori
102 home sebagai direktori default buat user. Setiap user memiliki direktori home
103 sendiri tempat penyimpanan default file-file yang telah anda buat. Setiap home
104 user kecuali superuser (root) adalah subdirektori dan berada di bawah direktori
105 /home. Hal ini sangat penting karena file-file yang anda buat tidak dapat
106 disimpan kesembarang direktori pada debian GNU/Linux. Akses ke banyak
107 direktori akan dibatasi oleh sistem kecuali jika login sebagai user root. Oleh
108 karena itu, direktori home ini merupakan tempat penyimpanan file secara default
112 Penelusuran File dan Direktori dengan File Manager
113 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
115 Saat anda membuka file manager Debian GNU/Linux, maka secara default akan
116 dihadapkan dengan direktori */home/$user*. Pada start menu, klik Personal Files
117 (home) selanjutnya akan muncul file manager seperti yang tampak pada gambar
120 .. image:: ../images/start-menu-kde2.png
122 Atau dengan menekan Alt+F2 pada keyboard kemudian ketikkan home pada
123 jendela dialog yang telah tersedia seperti pada gambar berikut.
125 .. image:: ../images/run-command-kde2.png
127 Selanjutnya akan muncul window *home/$user* seperti yang tampak pada gambar
130 .. image:: ../images/konqueror-file-manager.png
132 Hal ini juga berlaku jika anda membuka konsole GNU/Linux. Direktori yang
133 pertama kali diakses adalah direktori *home/$user* seperti yang tampak pada
134 jendela konsole berikut.
136 .. image:: ../images/konsole-kde.png
139 Menggunakan Perintah Find pada Desktop KDE
140 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
142 Pada Start Menu → Kfind. Untuk mencari file cukup dengan mengetikkan nama
143 file yang anda cari di kolom [Named:], kemudian ubalah letak direktori tempat
144 file tersebut berada dan klik option [Find] pada bagian kanan atas dari jendela
147 .. image:: ../images/kfind.png
150 Menampilkan File dari Command Line
151 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
153 GNU/Linux memiliki banyak tool aplikasi untuk menampilkan file dari konsole.
154 Beberapa tool yang dapat digunakan antara lain : cat, less, tac. Berikut
155 penjelasan dari setiap command line.
159 Perintah \`cat` sering digunakan untuk menampilkan file-file yang panjang
160 textnya tidak lebih dari satu layar konsole.
164 kari@debian:~$ cat [option] FILE
166 Opsi-opsi yang dimiliki oleh perintah \`cat` antara lain::
168 --show-ends | -E Menampilkan akhir kalimat (ditandai dengan $)
169 --number-nonblank | –b Menampilkan baris keberapa kalimat tersebut
170 --show-tabs | –T Menampilkan tab pada kalimat (ditandai ^I)
171 --show-nonprinting | –v Menampilkan karakter non-printing
175 kari@debian:~$ cat –b /home/kari/XIconWithShadow.h
177 Keluaran perintah di atas adalah::
180 2 * vim:tabstop=4:expandtab:shiftwidth=4
182 4 * Idesk -- XIconWithShadow.h
184 6 * Copyright (c) 2002, Chris (nikon) (nikon@sc.rr.com)
185 7 * All rights reserved.
186 8 * Redistribution and use in source and binary forms, with or
187 9 * modification, are permitted provided that the following
189 **less – Scrool Layar**
191 Perintah less ini digunakan untuk file-file yang melebihi satu layar konsole.
192 Perintah less akan menyediakan fasilitas scroll untuk melihat isi file pada baris
193 berikut yang belum terlihat pada layar konsole sebelumnya.
197 kari@debian:~$ less [option] FILE
199 Beberapa opsi yang mengikuti perintah less::
201 -p <string_yang anda ingin tampilkan> Menampilkan file yang dimulai dengan string yang anda ingin tampilan.
202 -y <jumlahbaris> Menampilkan isi file per jumlah baris yang anda set.
206 kari@debian:~$ less –p include XIconWithShadow.h
208 Keluaran perintah di atas adalah::
210 #**include** "XIcon.h"
211 #**include** "XShadowImage.h"
213 class XIconWithShadow : public XIcon
216 XShadowImage * shadowImage;
220 **tac – Menampilkan Isi File dari Baris Akhir**
222 Perintah tac digunakan untuk menampilkan sebuah isi file yang dimulai dari
227 kari@debian:~$ tac FILE
231 kari@debian:~$ tac XIconWithShadow.h
233 Keluaran perintah di atas adalah::
239 void renderShadowToImage(Pixmap &buffer, int fX, int fY);
240 void findSnapPosition(int &xCord, int &yCord);
241 virtual int getShadowY() { return shadowY; }
242 virtual int getShadowX() { return shadowX; }
244 virtual ~XIconWithShadow();
245 AbstractIconConfig * iConfig);
246 XIconWithShadow(AbstractContainer * cont, AbstractConfig
251 **Menampilkan File 'postScript'**
253 Untuk menampilkan sebuah file dalam format PostScript, tool yang dapat
254 digunakan adalah \`ghostview`.
258 kari@debian:~$ ghostview /usr/share/doc/example/example.ps
260 Untuk keluar dari *ghostview* tekan [**Q**] dan [**SPC**] untuk ke halaman berikutnya.
263 **Menampilkan File 'PDF'**
265 Untuk menampilkan file dalam format \`pdf` dapat menggunakan perintah
268 kari@debian:~$ xpdf /usr/share/doc/contoh.pdf
270 **wc – Analisis Teks**
272 Fasilitas shell ini dapat digunakan untuk analisis teks seperti menghitung jumlah
273 kata yang terdapat dalam sebuah teks, menghitung jumlah baris, dll.
277 kari@debian:~$ wc –-help
279 Usage: wc [OPTION]... [FILE]...
280 or: wc [OPTION]... --files0-from=F
281 Print newline, word, and byte counts for each FILE, and a total line if
282 more than one FILE is specified. With no FILE, or when FILE is -,
283 read standard input. A word is a non-zero-length sequence of characters
284 delimited by white space.
285 The options below may be used to select which counts are printed, always in
286 the following order: newline, word, character, byte, maximum line length.
287 -c, --bytes print the byte counts
288 -m, --chars print the character counts
289 -l, --lines print the newline counts
290 --files0-from=F read input from the files specified by
291 NUL-terminated names in file F;
292 If F is - then read names from standard input
293 -L, --max-line-length print the length of the longest line
294 -w, --words print the word counts
295 --help display this help and exit
296 --version output version information and exit
298 Report wc bugs to bug-coreutils@gnu.org
299 GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
300 General help using GNU software: <http://www.gnu.org/gethelp/>
301 For complete documentation, run: info coreutils 'wc invocation'
304 **Menghitung Jumlah Kata pada Sebuah Teks**
306 Berikut perintah yang dapat digunakan untuk menghitung jumlah kata pada
311 kari@debian:~$ wc –w bertanya\yang\baik.txt
313 1626 bertanya yang baik.txt
315 Dengan tool *wc* ini anda juga dapat menghitung jumlah kata yang terdapat pada
316 beberapa file sekaligus.
320 kari@debian:~$ cat *.txt | wc –w
323 **Menghitung Jumlah Karakter pada Sebuah Teks**
325 Jumlah karakter pada sebuah teks dapat dihitung dengan menggunakan perintah
330 kari@debian:~$ wc –m bertanya\yang\baik.txt
331 11958 bertanya yang baik.txt
333 **Menghitung Jumlah Baris pada Sebuah Teks**
335 Selain menghitung jumlah kata dan karakter, ``wc`` juga dapat digunakan untuk
336 menghitung jumlah baris pada sebuah teks. Berikut perintah yang digunakan.
340 kari@debian:~$ wc –l bertanya\yang\baik.txt
341 173 bertanya yang baik.txt
345 Tool ini merupakan karya Richard M. Stallman dan Torbjorn Granlund yang
346 dapat digunakan untuk membagi sebuah file berukuran besar ke dalam file-file
351 kari@debian:~$ split –-help
353 Usage: split [OPTION]... [INPUT [PREFIX]]
354 Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
355 size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUT
356 is -, read standard input.
358 Mandatory arguments to long options are mandatory for short options too.
359 -a, --suffix-length=N use suffixes of length N (default 2)
360 -b, --bytes=SIZE put SIZE bytes per output file
361 -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file
362 -d, --numeric-suffixes use numeric suffixes instead of alphabetic
363 -e, --elide-empty-files do not generate empty output files with `-n'
364 --filter=COMMAND write to shell COMMAND; file name is $FILE
365 -l, --lines=NUMBER put NUMBER lines per output file
366 -n, --number=CHUNKS generate CHUNKS output files. See below
367 -u, --unbuffered immediately copy input to output with `-n r/...'
368 --verbose print a diagnostic just before each
369 output file is opened
370 --help display this help and exit
371 --version output version information and exit
373 SIZE may be (or may be an integer optionally followed by) one of following:
374 KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.
377 N split into N files based on size of input
378 K/N output Kth of N to stdout
379 l/N split into N files without splitting lines
380 l/K/N output Kth of N to stdout without splitting lines
381 r/N like `l' but use round robin distribution
382 r/K/N likewise but only output Kth of N to stdout
384 Report split bugs to bug-coreutils@gnu.org
385 GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
386 General help using GNU software: <http://www.gnu.org/gethelp/>
387 For complete documentation, run: info coreutils 'split invocation'
391 kari@debian:~$ split –bytes=10k bertanya\yang\baik.txt tanya.txt
393 Perintah di atas akan menghasilkan dua buah file \`tanya.txt.**aa**` dan
394 \`tanya.txt.**ab**` dengan ukuran file masing-masing 10 k dan 6 k. (gunakan
395 perintah \`du -k nama_file` untuk melihat kapasitas masing-masing file).
397 Untuk menyatukan file yang telah displit tadi, gunakan perintah berikut::
399 kari@debian:~$ cat tanya.txt.* > tanya3.txt
400 kari@debian:~$ rm –rf tanya.txt.*
401 kari@debian:~$ more tanya3.txt
403 **Membandingkan Dua Buah File**
405 Software ini merupakan buatan Torbjorn Granlund dan David MacKenzie yang
406 dapat digunakan untuk membandingkan dua buah file.
410 kari@debian:~$ cmp –-help
412 Usage: cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]
413 Compare two files byte by byte.
415 The optional SKIP1 and SKIP2 specify the number of bytes to skip
416 at the beginning of each file (zero by default).
418 Mandatory arguments to long options are mandatory for short options too.
419 -b, --print-bytes print differing bytes
420 -i, --ignore-initial=SKIP skip first SKIP bytes of both inputs
421 -i, --ignore-initial=SKIP1:SKIP2 skip first SKIP1 bytes of FILE1 and
422 first SKIP2 bytes of FILE2
423 -l, --verbose output byte numbers and differing byte values
424 -n, --bytes=LIMIT compare at most LIMIT bytes
425 -s, --quiet, --silent suppress all normal output
426 --help display this help and exit
427 -v, --version output version information and exit
429 SKIP values may be followed by the following multiplicative suffixes:
430 kB 1000, K 1024, MB 1,000,000, M 1,048,576,
431 GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.
433 If a FILE is `-' or missing, read standard input.
434 Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.
436 Report bugs to: bug-diffutils@gnu.org
437 GNU diffutils home page: <http://www.gnu.org/software/diffutils/>
438 General help using GNU software: <http://www.gnu.org/gethelp/>
442 Penulis ingin membandingkan dua buah file teks yaitu ``bertanya yang baik.txt``
443 dan ``bertanya.txt``.
447 kari@debian:~$ cmp bertanya\yang\baik.txt bertanya.txt
448 bertanya yang baik.txt bertanya.txt differ: char1, line 1
450 Ternyata kedua file tersebut berbeda pada baris pertama dan pada karakter
451 pertama (cat: \`cmp` akan memeriksa perbedaan file yang pertama kali dijumpai).
452 Selain menggunakan tool \`cmp`, tool lain yang dapat digunakan adalah \`diff`.
453 Tool \`diff` akan mencetak teks yang berbeda pada layar.
457 kari@debian:~$ diff –w bertanya\yang\baik.txt ../bertanya.txt
459 Selain menampilkannya ke layar komputer, dapat juga disimpan ke dalam
460 sebuah file teks baru dengan menggunakan \`redirection`.
464 kari@debian:~$ diff –w bertanya\yang\baik.txt ../bertanya.txt \
466 kari@debian:~$ more hasil.txt