spare sistem-file-gnu-linux in multiple files
[debian-id-ebook.git] / src / sistem-file-gnu-linux / memahami-direktori-gnu-linux.rst
blob7c9f1a2a1ad8139eccf25689135b1fdcc374e9ac
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
8 forward slash (/).
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       |
46 |                 | device baru.                                                         |
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         |
57 |                 | perintah dasar.                                                      |
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
92                 seluruh user.
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
95                 Linux, dll.
96 ==============  ================================================================
98 Direktori Home
99 ~~~~~~~~~~~~~~
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
109 oleh user.
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
118 berikut.
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
128 berikut.
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
145 Kfind.
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.
157 **cat**
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
173 Misal::
175         kari@debian:~$ cat –b /home/kari/XIconWithShadow.h
177 Keluaran perintah di atas adalah::
179         1 /*
180         2  * vim:tabstop=4:expandtab:shiftwidth=4
181         3  * 
182         4  * Idesk -- XIconWithShadow.h 
183         5  * 
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.
196         
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.  
204 Misal::
206         kari@debian:~$ less –p include XIconWithShadow.h
208 Keluaran perintah di atas adalah::
210         #**include** "XIcon.h"
211         #**include** "XShadowImage.h"
212         
213         class XIconWithShadow : public XIcon
214         {
215                 protected:
216                         XShadowImage * shadowImage;
217                         bool shadowVisible;
220 **tac – Menampilkan Isi File dari Baris Akhir**
222 Perintah tac digunakan untuk menampilkan sebuah isi file yang dimulai dari
223 baris terakhir.
227         kari@debian:~$ tac FILE
229 Misal::
231         kari@debian:~$ tac XIconWithShadow.h
233 Keluaran perintah di atas adalah::
235         #endif
236         };
237                 void lowerIcon();
238                 void snapShadow();
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; }
243                 
244                 virtual ~XIconWithShadow();
245                         AbstractIconConfig * iConfig);
246                 XIconWithShadow(AbstractContainer * cont, AbstractConfig
247         * con,
248             public:
251 **Menampilkan File 'postScript'**
253 Untuk menampilkan sebuah file dalam format PostScript, tool yang dapat
254 digunakan adalah \`ghostview`.
256 Misal::
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
266 berikut::
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
307 sebuah teks.
311         kari@debian:~$ wc –w bertanya\yang\baik.txt
312         
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
321         8879
323 **Menghitung Jumlah Karakter pada Sebuah Teks**
325 Jumlah karakter pada sebuah teks dapat dihitung dengan menggunakan perintah
326 berikut.
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
343 **Split File**
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
347 kecil.
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.
376         CHUNKS may be:
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'
389 Misal::
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/>
440 Misal:
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.
456         
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 \
465         > hasil.txt
466         kari@debian:~$ more hasil.txt