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 .. figure:: ../images/hirarki-direktori.png
17 :figclass: align-center
18 :alt: Sumber: debian GNU/linux
20 Hirakri direktori Debian GNU/Linux
22 Meskipun bukan sesuatu yang begitu penting untuk mengetahui isi seluruh
23 direktori debian GNU/Linux, tapi merupakan hal yang sangat baik jika anda
24 mengetahui jenis-jenis dari file yang tersimpan pada setiap direktori yang ada.
26 Direktori Debian GNU/Linux
27 ~~~~~~~~~~~~~~~~~~~~~~~~~~
29 Struktur debian GNU/Linux dan varian GNU/Linux lain berdasarkan pada
30 sistem operasi UNIX. Keuntungan dari sistem direktori ini adalah anda dapat
31 memposisikan sebuah partisi sebagai sebuah file pada sistem. Berikut ini
32 struktur direktori/file debian GNU/Linux:
34 +-----------------+----------------------------------------------------------------------+
35 | **/** | Direktori *root*. Berisi seluruh file dan direktori lain. |
36 +-----------------+----------------------------------------------------------------------+
37 | **/bin** | File biner atau file executable yang dapat digunakan baik user biasa |
38 | | ataupun user root. |
39 +-----------------+----------------------------------------------------------------------+
40 | **/boot** | File-file yang dibutuhkan sistem saat booting, termasuk kernel. |
41 +-----------------+----------------------------------------------------------------------+
42 | **/cdrom** | Mounting point untuk cdrom. Jika sistem memilki 2 buah cdrom drive |
43 | | maka akan dikenali sebagai /cdrom2. |
44 +-----------------+----------------------------------------------------------------------+
45 | **/floppy** | Mounting point untuk floppy drive. Jika sistem memiliki 2 buah |
46 | | floppy drive maka akan dikenali sebagai /floppy2. |
47 +-----------------+----------------------------------------------------------------------+
48 | **/dev** | Mendefinisikan perangkat keras hardisk, partisi, dan perangkat keras |
49 | | lainnya. Direktori /dev juga berisi tool makedev untuk membuat |
51 +-----------------+----------------------------------------------------------------------+
52 | **/etc** | File konfigurasi sistem debian GNU/Linux seperti /etc/X11 untuk |
53 | | konfigurasi X Window. |
54 +-----------------+----------------------------------------------------------------------+
55 | **/home** | Direktori home untuk user biasa. Sedangkan direktori home untuk user |
56 | | root adalah /root. |
57 +-----------------+----------------------------------------------------------------------+
58 | **/initrd** | File-file untuk RAM Disk GNU/Linux. |
59 +-----------------+----------------------------------------------------------------------+
60 | **/lib** | Pustaka program yang dibutuhkan untuk menjalankan sistem dan |
62 +-----------------+----------------------------------------------------------------------+
63 | **/lost+found** | File-file recovery |
64 +-----------------+----------------------------------------------------------------------+
65 | **/mnt** | Sebuah folder tempat mount point device. |
66 +-----------------+----------------------------------------------------------------------+
67 | **/proc** | Proses dan informasi sistem. |
68 +-----------------+----------------------------------------------------------------------+
69 | **/sbin** | File-file executable yang dibutuhkan untuk boot sistem serta program-|
70 | | program *maintenance* seperti lilo, ifconfig, mkfs, dll dan hanya |
71 | | dapat dieksekusi oleh user root. |
72 +-----------------+----------------------------------------------------------------------+
73 | **/usr** | Merupakan direktori tempat aplikasi disimpan oleh GNU/linux, saat |
74 | | anda menginstal sebuah program di debian GNU/linux maka akan |
75 | | secara otomatis disimpan di direktori tersebut. |
76 +-----------------+----------------------------------------------------------------------+
77 | **/var** | File data yang berisi tentang perubahan-perubahan yang dilakukan |
78 | | seperti cache, spool, log file, dan file mailbox user. |
79 +-----------------+----------------------------------------------------------------------+
80 |**/var/lock** | File lock untuk menjaga user lain menggunakan file tersebut. |
81 +-----------------+----------------------------------------------------------------------+
82 |**/var/log** | Berisi log dari sebuah program |
83 +-----------------+----------------------------------------------------------------------+
84 |**/tmp** | Direktori ini digunakan untuk penyimpanan sementara |
85 +-----------------+----------------------------------------------------------------------+
87 Direktori-direktori di atas adalah direktori induk yang dibawahnya masih
88 terdapat sub direktori, antara lain:
90 ============== ================================================================
91 **/usr/X11R6** Berisi file-file yang dibutuhkan oleh sistem X Window.
92 **/usr/bin** Berisi file-file biner/program yang dapat digunakan oleh seluruh user.
93 **/usr/doc** Berisi dokumentasi yang dapat diakses oleh seluruh user.
94 **/usr/games** Berisi program game yang dapat diakses oleh seluruh user.
95 **/usr/lib** Berisi file biner untuk bahasa pemrograman yang dapat diakses oleh
97 **/usr/local** Berisi program yang ditulis oleh user pada komputer lokal.
98 **/usr/src** Berisi source code untuk sistem operasi GNU/Linux seperti kernel
100 ============== ================================================================
105 Saat menjalankan Debian GNU/linux, anda akan dihadapatkan dengan direktori
106 home sebagai direktori default buat user. Setiap user memiliki direktori home
107 sendiri tempat penyimpanan default file-file yang telah anda buat. Setiap home
108 user kecuali superuser (root) adalah subdirektori dan berada di bawah direktori
109 /home. Hal ini sangat penting karena file-file yang anda buat tidak dapat
110 disimpan kesembarang direktori pada debian GNU/Linux. Akses ke banyak
111 direktori akan dibatasi oleh sistem kecuali jika login sebagai user root. Oleh
112 karena itu, direktori home ini merupakan tempat penyimpanan file secara default
116 Penelusuran File dan Direktori dengan File Manager
117 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119 Saat anda membuka file manager Debian GNU/Linux, maka secara default akan
120 dihadapkan dengan direktori */home/$user*. Pada start menu, klik Personal Files
121 (home) selanjutnya akan muncul file manager seperti yang tampak pada gambar
124 .. figure:: ../images/start-menu-kde2.png
126 :figclass: align-center
130 Atau dengan menekan Alt+F2 pada keyboard kemudian ketikkan home pada
131 jendela dialog yang telah tersedia seperti pada gambar berikut.
133 .. figure:: ../images/run-command-kde2.png
135 :figclass: align-center
139 Selanjutnya akan muncul window *home/$user* seperti yang tampak pada gambar
142 .. figure:: ../images/konqueror-file-manager.png
144 :figclass: align-center
148 Hal ini juga berlaku jika anda membuka konsole GNU/Linux. Direktori yang
149 pertama kali diakses adalah direktori *home/$user* seperti yang tampak pada
150 jendela konsole berikut.
152 .. figure:: ../images/konsole-kde.png
154 :figclass: align-center
156 Konsole debian GNU/Linux
159 Menggunakan Perintah Find pada Desktop KDE
160 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
162 Pada Start Menu → Kfind. Untuk mencari file cukup dengan mengetikkan nama
163 file yang anda cari di kolom [Named:], kemudian ubalah letak direktori tempat
164 file tersebut berada dan klik option [Find] pada bagian kanan atas dari jendela
167 .. figure:: ../images/kfind.png
169 :figclass: align-center
173 Menampilkan File dari Command Line
174 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
176 GNU/Linux memiliki banyak tool aplikasi untuk menampilkan file dari konsole.
177 Beberapa tool yang dapat digunakan antara lain : cat, less, tac. Berikut
178 penjelasan dari setiap command line.
182 Perintah \`cat` sering digunakan untuk menampilkan file-file yang panjang
183 textnya tidak lebih dari satu layar konsole.
187 kari@debian:~$ cat [option] FILE
189 Opsi-opsi yang dimiliki oleh perintah \`cat` antara lain::
191 --show-ends | -E Menampilkan akhir kalimat (ditandai dengan $)
192 --number-nonblank | –b Menampilkan baris keberapa kalimat tersebut
193 --show-tabs | –T Menampilkan tab pada kalimat (ditandai ^I)
194 --show-nonprinting | –v Menampilkan karakter non-printing
198 kari@debian:~$ cat –b /home/kari/XIconWithShadow.h
200 Keluaran perintah di atas adalah::
203 2 * vim:tabstop=4:expandtab:shiftwidth=4
205 4 * Idesk -- XIconWithShadow.h
207 6 * Copyright (c) 2002, Chris (nikon) (nikon@sc.rr.com)
208 7 * All rights reserved.
209 8 * Redistribution and use in source and binary forms, with or
210 9 * modification, are permitted provided that the following
212 **less – Scrool Layar**
214 Perintah less ini digunakan untuk file-file yang melebihi satu layar konsole.
215 Perintah less akan menyediakan fasilitas scroll untuk melihat isi file pada baris
216 berikut yang belum terlihat pada layar konsole sebelumnya.
220 kari@debian:~$ less [option] FILE
222 Beberapa opsi yang mengikuti perintah less::
224 -p <string_yang anda ingin tampilkan> Menampilkan file yang dimulai dengan string yang anda ingin tampilan.
225 -y <jumlahbaris> Menampilkan isi file per jumlah baris yang anda set.
229 kari@debian:~$ less –p include XIconWithShadow.h
231 Keluaran perintah di atas adalah::
233 #**include** "XIcon.h"
234 #**include** "XShadowImage.h"
236 class XIconWithShadow : public XIcon
239 XShadowImage * shadowImage;
243 **tac – Menampilkan Isi File dari Baris Akhir**
245 Perintah tac digunakan untuk menampilkan sebuah isi file yang dimulai dari
250 kari@debian:~$ tac FILE
254 kari@debian:~$ tac XIconWithShadow.h
256 Keluaran perintah di atas adalah::
262 void renderShadowToImage(Pixmap &buffer, int fX, int fY);
263 void findSnapPosition(int &xCord, int &yCord);
264 virtual int getShadowY() { return shadowY; }
265 virtual int getShadowX() { return shadowX; }
267 virtual ~XIconWithShadow();
268 AbstractIconConfig * iConfig);
269 XIconWithShadow(AbstractContainer * cont, AbstractConfig
274 **Menampilkan File 'postScript'**
276 Untuk menampilkan sebuah file dalam format PostScript, tool yang dapat
277 digunakan adalah \`ghostview`.
281 kari@debian:~$ ghostview /usr/share/doc/example/example.ps
283 Untuk keluar dari *ghostview* tekan [**Q**] dan [**SPC**] untuk ke halaman berikutnya.
286 **Menampilkan File 'PDF'**
288 Untuk menampilkan file dalam format \`pdf` dapat menggunakan perintah
291 kari@debian:~$ xpdf /usr/share/doc/contoh.pdf
293 **wc – Analisis Teks**
295 Fasilitas shell ini dapat digunakan untuk analisis teks seperti menghitung jumlah
296 kata yang terdapat dalam sebuah teks, menghitung jumlah baris, dll.
300 kari@debian:~$ wc –-help
302 Usage: wc [OPTION]... [FILE]...
303 or: wc [OPTION]... --files0-from=F
304 Print newline, word, and byte counts for each FILE, and a total line if
305 more than one FILE is specified. With no FILE, or when FILE is -,
306 read standard input. A word is a non-zero-length sequence of characters
307 delimited by white space.
308 The options below may be used to select which counts are printed, always in
309 the following order: newline, word, character, byte, maximum line length.
310 -c, --bytes print the byte counts
311 -m, --chars print the character counts
312 -l, --lines print the newline counts
313 --files0-from=F read input from the files specified by
314 NUL-terminated names in file F;
315 If F is - then read names from standard input
316 -L, --max-line-length print the length of the longest line
317 -w, --words print the word counts
318 --help display this help and exit
319 --version output version information and exit
321 Report wc bugs to bug-coreutils@gnu.org
322 GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
323 General help using GNU software: <http://www.gnu.org/gethelp/>
324 For complete documentation, run: info coreutils 'wc invocation'
327 **Menghitung Jumlah Kata pada Sebuah Teks**
329 Berikut perintah yang dapat digunakan untuk menghitung jumlah kata pada
334 kari@debian:~$ wc –w bertanya\yang\baik.txt
336 1626 bertanya yang baik.txt
338 Dengan tool *wc* ini anda juga dapat menghitung jumlah kata yang terdapat pada
339 beberapa file sekaligus.
343 kari@debian:~$ cat *.txt | wc –w
346 **Menghitung Jumlah Karakter pada Sebuah Teks**
348 Jumlah karakter pada sebuah teks dapat dihitung dengan menggunakan perintah
353 kari@debian:~$ wc –m bertanya\yang\baik.txt
354 11958 bertanya yang baik.txt
356 **Menghitung Jumlah Baris pada Sebuah Teks**
358 Selain menghitung jumlah kata dan karakter, ``wc`` juga dapat digunakan untuk
359 menghitung jumlah baris pada sebuah teks. Berikut perintah yang digunakan.
363 kari@debian:~$ wc –l bertanya\yang\baik.txt
364 173 bertanya yang baik.txt
368 Tool ini merupakan karya Richard M. Stallman dan Torbjorn Granlund yang
369 dapat digunakan untuk membagi sebuah file berukuran besar ke dalam file-file
374 kari@debian:~$ split –-help
376 Usage: split [OPTION]... [INPUT [PREFIX]]
377 Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
378 size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUT
379 is -, read standard input.
381 Mandatory arguments to long options are mandatory for short options too.
382 -a, --suffix-length=N use suffixes of length N (default 2)
383 -b, --bytes=SIZE put SIZE bytes per output file
384 -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file
385 -d, --numeric-suffixes use numeric suffixes instead of alphabetic
386 -e, --elide-empty-files do not generate empty output files with `-n'
387 --filter=COMMAND write to shell COMMAND; file name is $FILE
388 -l, --lines=NUMBER put NUMBER lines per output file
389 -n, --number=CHUNKS generate CHUNKS output files. See below
390 -u, --unbuffered immediately copy input to output with `-n r/...'
391 --verbose print a diagnostic just before each
392 output file is opened
393 --help display this help and exit
394 --version output version information and exit
396 SIZE may be (or may be an integer optionally followed by) one of following:
397 KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.
400 N split into N files based on size of input
401 K/N output Kth of N to stdout
402 l/N split into N files without splitting lines
403 l/K/N output Kth of N to stdout without splitting lines
404 r/N like `l' but use round robin distribution
405 r/K/N likewise but only output Kth of N to stdout
407 Report split bugs to bug-coreutils@gnu.org
408 GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
409 General help using GNU software: <http://www.gnu.org/gethelp/>
410 For complete documentation, run: info coreutils 'split invocation'
414 kari@debian:~$ split –bytes=10k bertanya\yang\baik.txt tanya.txt
416 Perintah di atas akan menghasilkan dua buah file \`tanya.txt.**aa**` dan
417 \`tanya.txt.**ab**` dengan ukuran file masing-masing 10 k dan 6 k. (gunakan
418 perintah \`du -k nama_file` untuk melihat kapasitas masing-masing file).
420 Untuk menyatukan file yang telah displit tadi, gunakan perintah berikut::
422 kari@debian:~$ cat tanya.txt.* > tanya3.txt
423 kari@debian:~$ rm –rf tanya.txt.*
424 kari@debian:~$ more tanya3.txt
426 **Membandingkan Dua Buah File**
428 Software ini merupakan buatan Torbjorn Granlund dan David MacKenzie yang
429 dapat digunakan untuk membandingkan dua buah file.
433 kari@debian:~$ cmp –-help
435 Usage: cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]
436 Compare two files byte by byte.
438 The optional SKIP1 and SKIP2 specify the number of bytes to skip
439 at the beginning of each file (zero by default).
441 Mandatory arguments to long options are mandatory for short options too.
442 -b, --print-bytes print differing bytes
443 -i, --ignore-initial=SKIP skip first SKIP bytes of both inputs
444 -i, --ignore-initial=SKIP1:SKIP2 skip first SKIP1 bytes of FILE1 and
445 first SKIP2 bytes of FILE2
446 -l, --verbose output byte numbers and differing byte values
447 -n, --bytes=LIMIT compare at most LIMIT bytes
448 -s, --quiet, --silent suppress all normal output
449 --help display this help and exit
450 -v, --version output version information and exit
452 SKIP values may be followed by the following multiplicative suffixes:
453 kB 1000, K 1024, MB 1,000,000, M 1,048,576,
454 GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.
456 If a FILE is `-' or missing, read standard input.
457 Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.
459 Report bugs to: bug-diffutils@gnu.org
460 GNU diffutils home page: <http://www.gnu.org/software/diffutils/>
461 General help using GNU software: <http://www.gnu.org/gethelp/>
465 Penulis ingin membandingkan dua buah file teks yaitu ``bertanya yang baik.txt``
466 dan ``bertanya.txt``.
470 kari@debian:~$ cmp bertanya\yang\baik.txt bertanya.txt
471 bertanya yang baik.txt bertanya.txt differ: char1, line 1
473 Ternyata kedua file tersebut berbeda pada baris pertama dan pada karakter
474 pertama (cat: \`cmp` akan memeriksa perbedaan file yang pertama kali dijumpai).
475 Selain menggunakan tool \`cmp`, tool lain yang dapat digunakan adalah \`diff`.
476 Tool \`diff` akan mencetak teks yang berbeda pada layar.
480 kari@debian:~$ diff –w bertanya\yang\baik.txt ../bertanya.txt
482 Selain menampilkannya ke layar komputer, dapat juga disimpan ke dalam
483 sebuah file teks baru dengan menggunakan \`redirection`.
487 kari@debian:~$ diff –w bertanya\yang\baik.txt ../bertanya.txt \
489 kari@debian:~$ more hasil.txt