Linux Pengguna Akhir

Daripada Wikibooks

Pendahuluan[sunting]

Bismillahirahmanirrahim.
Assalamu'alaikum Warahmatullahi Wabarakatuh dan Salam Sejahtera.


Terlebih dahulu penulis ingin mengucapkan syukur kehadrat Allah s.w.t kerana dengan izin dan rahmatNya panduan ini dapat disiapkan. Ia ditulis khas untuk sesiapa saja yang berminat dengan Sistem Operasi Linux. Semoga panduan yang dihasilkan melalui sedikit pengalaman dapat dikongsi bersama dan memberi manfaat kepada kita semua.


Wassalam.


Pengenalan[sunting]

Sebaik selesai membaca panduan ini, pengguna diharap dapat memahami arahan-arahan asas, struktur fail dan direktori, pengurusan fail dan direktori, pengubahsuaian dan pemindahan fail, komunikasi antara pengguna juga cara mendapat maklumat lanjut arahan-arahan lain yang berkaitan tetapi tidak diterangkan di sini.


Antara kelebihan penggunaan arahan-arahan dalam Linux:-

  1. Tugasan yang dilakukan dengan menaip selalunya lebih cepat jika dibandingkan dengan klik beberapa menu dan butang.
  2. Tugasan yang perlu dilaksana berulang kali boleh dilakukan secara automatik.
  3. Tugasan boleh dibuat mengikut citarasa sendiri tanpa terikat dengan program yang dihasilkan oleh orang lain.
  4. Beberapa arahan yang digabungkan menjadi satu skrip dapat menyiapkan tugasan dengan cepat dan tepat.


Akaun Linux[sunting]

Sebagai permulaan, setiap pengguna perlu ada akaun sendiri. Pentadbir sistem di tempat anda akan sediakan akaun pengguna (username/login) dan kata laluan (password) atau anda sendiri perlu mohon daripada mereka. Bagi pengguna yang berjaya memasang sistem operasi Linux, anda sudahpun mempunyai akaun root (sila rujuk http://ms.wikibooks.org/wiki/Penyediaan_Komputer_Maya#Uji_Sambungan).


Akaun root mempunyai satu keistimewaan iaitu berkuasa untuk membuat semua tugas-tugas penting dalam sistem seperti mount sistem fail, shutdown sistem, bina atau hapus akaun pengguna dan ubah konfigurasi sistem. Bagi tujuan pembelajaran, anda digalakkan guna akaun biasa. Guna akaun root hanya apabila perlu melakukan arahan yang tidak boleh dilaksanakan oleh pengguna biasa.


Arahan useradd seperti di bawah mesti dilakukan oleh root untuk bina akaun biasa iaitu guest dengan kata laluannya guest.

useradd -c "Guest" -d /home/guest -g 100 -u 101 -m -p fzsrX0bB46eF2 -s /bin/bash guest


Setiap pengguna diberi ruang storan sebagai tempat menyimpan pelbagai fail bagi kegunaan sendiri. Ruang storan ini dikenali sebagai direktori rumah (home directory). Pengguna lain tidak boleh capai atau guna direktori anda melainkan mereka mempunyai mod keizinan (permission mode) untuk berbuat demikian. Ia adalah sebahagian daripada ciri-ciri keselamatan dalam Linux.


Direktori untuk pengguna tidak semestinya berada dalam sistem fail /home. Ia mungkin berada dalam sistem fail /users, /data dan sebagainya. Lokasinya ditentukan oleh Pentadbir Sistem sewaktu akaun pengguna dibina. Direktori akaun root biasanya ditetapkan di /root. Direktori akaun guest pula telah ditetapkan di /home/guest seperti contoh arahan useradd yang diberikan di atas.


Masuk/Keluar Sistem - login, logout, exit[sunting]

Untuk tujuan pembelajaran, penulis akan gunakan akaun biasa yang telah dibina sebelum ini iaitu guest.


Berikut ialah contoh skrin capaian kepada sistem menggunakan program PuTTY:-

login as: guest
guest@192.168.1.2's password: 
  • Pada prompt login as: taip guest kemudian tekan [Enter].
  • Pada prompt password: taip kata laluan guest kemudian tekan [Enter].


Semasa mengisi kata laluan, apa yang ditaip tidak kelihatan atas sebab-sebab keselamatan. Anda akan dapat mesej “Access denied” jika akaun tidak wujud atau kata laluan tidak betul. Isi semula kata laluan yang betul.


Jika akaun dan kata laluan betul, mesej dari sistem serta prompt Linux akan dipaparkan.

Last login: Mon Dec 30 14:35:36 2013 from 192.168.1.1
[guest@komputer01 ~]$

Prompt Linux (# atau $) menandakan bahawa sistem sudah bersedia untuk menerima sebarang input dari pengguna. Bagi contoh di atas, prompt Linux untuk pengguna biasa seperti guest ialah [guest@komputer01 ~]$. Prompt Linux untuk root pula mungkin [root@komputer01 ~]#.


Untuk keluar dari sistem, gunakan arahan logout atau exit kemudian tekan [Enter].

Last login: Mon Dec 30 14:35:36 2013 from 192.168.1.1
[guest@komputer01 ~]$ logout

Pada kebanyakan sistem Linux, anda boleh keluar dari sistem dengan menekan kunci [Ctrl] dan [D] serentak.


Maklumat Pengguna - finger, id, who, whoami, who am i[sunting]

Maklumat pengguna yang sedang menggunakan sistem boleh dilihat dengan menggunakan arahan finger.

[guest@komputer01 ~]$ finger
Login     Name       Tty      Idle  Login Time   Office     Office Phone
guest     Guest      pts/0          Jan  9 13:49 (192.168.1.1)
root      root       tty7       9d  Jan  8 17:09 (:0)

Berdasarkan output di atas, ada dua pengguna ketika ini iaitu guest dan root.


Cuba arahan finger guest seperti di bawah untuk lihat maklumat lanjut pengguna guest.

[guest@komputer01 ~]$ finger guest
Login: guest                            Name: Guest
Directory: /home/guest                  Shell: /bin/bash
On since Thu Jan  9 13:49 (MYT) on pts/0 from 192.168.1.1
No mail.
No Plan.


Kita dapat beberapa maklumat seperti berikut:-

Akaun Pengguna guest
Nama Pengguna Guest
Direktori Pengguna /home/guest
Penterjemah Arahan (Shell) /bin/bash
Waktu Masuk Sistem 13:49, Khamis, 9 Jan 2014
Dari Sistem 192.168.1.1

Kita boleh lihat shell atau penterjemah arahan Linux yang digunakan ialah Bourne-again Shell (/bin/bash).


Di dalam sistem operasi Unix terdapat shell lain seperti Bourne Shell (/bin/sh), C Shell (/bin/csh) dan Korn Shell (/bin/ksh). Shell lalai bagi pengguna Linux ialah bash.


Fungsi shell hampir sama seperti command.com dalam DOS. Prompt # biasanya dipaparkan jika anda masuk menggunakan akaun root manakala prompt $ dipaparkan jika anda masuk menggunakan akaun biasa. Selain dari finger, arahan id, who, whoami dan who am i juga boleh digunakan.


Cuba taip arahan id, id root, who, whoami, dan who am i seperti contoh-contoh berikut.

[guest@komputer01 ~]$ id
uid=101(guest) gid=100(users) groups=100(users) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[guest@komputer01 ~]$ id guest
uid=101(guest) gid=100(users) groups=100(users)
[guest@komputer01 ~]$

Arahan id akan paparkan uid (user id) anda iaitu 101. Akaun guest berada dalam kumpulan (group) users yang mempunyai gid (group id) 100. Setiap pengguna mempunyai uid berbeza.


[guest@komputer01 ~]$ who
root     tty7         2014-01-08 17:09 (:0)
guest    pts/0        2014-01-10 08:06 (192.168.1.1)
[guest@komputer01 ~]$ whoami
guest
[guest@komputer01 ~]$ who am i
guest    pts/0        2014-01-10 08:06 (192.168.1.1)

Arahan who akan paparkan akaun pengguna diikuti dengan tty, tarikh dan masa masuk sistem serta nama atau alamat IP asal komputer yang digunakan. Jika tiada nama komputer atau alamat IP seperti :0, ia bermakna pengguna masuk melalui konsol.


Setiap pengguna diberi tty berlainan bagi setiap sesi terminal. Pengguna yang masuk melalui konsol biasanya menggunakan Tetingkap X (X Windows). Setiap kali pengguna buka tetingkap terminal baru, setiap kali itulah ia akan dapat tty baru seperti tty7 atau pts/0.


Kita juga dapat lihat root masuk ke dalam sistem melalui konsol manakala guest masuk ke dalam sistem melalui komputer lain. Nama komputer yang guest gunakan tidak didaftar dalam sistem. Oleh itu alamat IP 192.168.1.1 yang kelihatan dan bukan nama komputer. Nama :0 atau :0.0 sebenarnya merujuk kepada sistem itu sendiri (komputer01).


Menukar Kata Laluan - passwd[sunting]

Bagi tujuan keselamatan, anda boleh tukar kata laluan pada bila-bila masa. Gunakan arahan passwd untuk menukarnya.

[guest@komputer01 ~]$ passwd
Changing password for user guest.
Changing password for guest.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
  • Untuk (current) UNIX password:, taip kata laluan lama kemudian tekan [Enter].
  • Untuk New password:, taip kata laluan baru kemudian tekan [Enter].
  • Untuk Retype new password:, taip sekali lagi kata laluan baru kemudian tekan [Enter].


Mesej "successfully" dipaparkan jika pertukaran kata laluan berjaya dilakukan.


Memilih Kata Laluan[sunting]

Anda tidak digalakkan menggunakan kata laluan yang sama dengan akaun sendiri. Bagi akaun guest, elakkan daripada menggunakan kata laluan guest. Di sini, ia digunakan bagi tujuan pembelajaran sahaja.


Kata laluan boleh terdiri dari gabungan aksara A-Z, a-z,0-9,!,@,# dan sebagainya. Panjang minima biasanya 6 aksara. Sebaik-baiknya gabungkan huruf besar dan kecil serta nombor. Jangan sekali-kali guna kata laluan yang boleh didapati daripada kamus, nama anda, nama komputer atau singkatan nama anda kerana ia mudah diteka. Contoh-contoh kata laluan yang tidak selamat adalah seperti di bawah:-


  • guest1 (nombor 1 selepas akaun pengguna)
  • guest123 (nombor 123 selepas akaun pengguna)
  • 123guest (nombor 123 sebelum akaun pengguna)
  • qwerty (turutan kunci pada papan kunci)
  • wysiwyg (singkatan what you see is what you get)


Menukar Nama Pengguna - chfn[sunting]

Pengguna boleh menukar maklumat finger mereka dengan menggunakan arahan chfn. Kata laluan perlu diisi ketika melakukan arahan ini.

[guest@komputer01 ~]$ chfn
Changing finger information for guest.
Password:
Name [Guest]: Tetamu
Office []: KL
Office Phone []: 03 1234567
Home Phone []: 03 7654321

Finger information changed.

Maklumat yang ada dalam kurungan merupakan maklumat semasa. Taip maklumat baru jika anda hendak tukar yang lama. Contoh di atas menunjukkan pertukaran nama Guest kepada Tetamu serta penambahan nombor telefon pejabat dan rumah. Tekan [Enter] jika anda tidak mahu mengubah apa-apa.


Lihat kembali maklumat yang sudah ditukar dengan menggunakan arahan finger.

[guest@komputer01 ~]$ finger guest
Login: guest                            Name: Tetamu
Directory: /home/guest                  Shell: /bin/bash
Office: KL, 03 1234567                  Home Phone: 03 7654321
On since Mon Jan 27 12:29 (MYT) on pts/0 from 192.168.1.1
No mail.
No Plan.


Menukar Shell Pengguna - chsh[sunting]

Shell semasa boleh diubah dengan menggunakan arahan chsh. Di bawah ialah cara menukar /bin/bash (Bourne-again Shell) kepada /bin/csh (C Shell).

[guest@komputer01 ~]$ chsh
Changing shell for guest.
Password:
New shell [/bin/bash]: /bin/csh
Shell changed.
[guest@komputer01 ~]$

Taip kata laluan terlebih dahulu. Jika tidak mahu mengubah shell, jangan taip apa-apa pada ruangan New shell, cuma tekan [Enter].


Kenali Sistem Anda[sunting]

Maklumat sistem yang sedang anda guna seperti nama komputer, alamat IP (Internet Protocol address), jenis perkakasan dan sistem operasi boleh diperolehi dengan beberapa arahan.


Papar Nama Komputer - hostname[sunting]

[guest@komputer01 ~]$ hostname
komputer01
[guest@komputer01 ~]$

Anda mungkin dapat output localhost jika nama komputer belum pernah ditetapkan sebelum ini.


Papar Maklumat Sistem Komputer - uname[sunting]

Guna arahan uname dengan opsyen -a untuk papar maklumat sistem.

[guest@komputer01 ~]$ uname -a
Linux komputer01 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[guest@komputer01 ~]$

Dari maklumat di atas, Linux adalah nama sistem operasi yang digunakan, komputer01 ialah nama komputer anda dan 2.6.32-358.el6.x86_64 adalah versi kernel sistem operasi.


Selain hostname, arahan uname dengan opsyen -n juga boleh digunakan untuk mendapatkan output yang sama.

[guest@komputer01 ~]$ uname -n
komputer01
[guest@komputer01 ~]$


Papar Alamat IP - ifconfig[sunting]

Arahan ifconfig digunakan untuk konfigur antaramuka rangkaian. Ia juga boleh digunakan untuk melihat alamat IP.

[guest@komputer01 ~]$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:9D:CD:86
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9d:cd86/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:222065 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1629 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:18551105 (17.6 MiB)  TX bytes:181428 (177.1 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2888 (2.8 KiB)  TX bytes:2888 (2.8 KiB)

Berdasarkan output di atas, alamat IP yang telah ditetapkan pada kad rangkaian eth0 ialah 192.168.1.2 iaitu nilai bagi inet addr.


Setiap komputer yang bersambung dalam rangkaian perlu mempunyai alamat IP sendiri jika ingin berkomunikasi dengan komputer-komputer lain. Kita boleh cari senarai alamat IP dengan merujuk kepada fail hosts. Fail ini terletak di dalam direktori /etc. Sila gunakan arahan cat seperti di bawah:-

[guest@komputer01 ~]$ cat /etc/hosts
127.0.0.1    localhost localhost.localdomain localhost4 localhost4.localdomain4
::1          localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.2  komputer01 komputer01.mydomain.com
[guest@komputer01 ~]$


Papar Nama Domain - domainname[sunting]

Nama domain boleh diperolehi dengan arahan domainname.

[guest@komputer01 ~]$ domainname
(none)
[guest@komputer01 ~]$


Jika nama domain tidak pernah ditetapkan, anda akan dapat output (none).


Struktur Fail dan Direktori[sunting]

Struktur fail dan direktori dalam Linux berbentuk hirarki. Ia bermula dengan direktori /. Direktori ini mempunyai beberapa subdirektori yang mengandungi fail-fail dan juga subdirektori sendiri di mana pada subdirektori terakhir terdapat fail-fail program, manual dan sebagainya.

                                               /
                                               |
     --------------------------------------------------------------------------------------------
     |      |      |      |      |      |      |      |      |      |      |      |      |      |
    bin    boot   dev    etc    home   lib    mnt    opt    proc   root   sbin   tmp    usr    var ---
                                 |                                                              |     |
                               guest                                                           log   mail
                                                                                                             


Fail dan Direktori Sistem[sunting]

Paras atas hirarki fail dalam sistem Linux iaitu / dirujuk sebagai direktori akar (root directory). Di dalam direktori akar terdapat subdirektori seperti:-


  • bin - Mengandungi program-program binari yang diperlukan bagi sistem untuk but (boot) dan beroperasi.


  • dev - Fail-fail peranti untuk kegunaan peranti seperti cdrom, kad rangkaian (network card), pencetak dan cakera liat (hard disk).


  • etc - Mengandungi fail-fail skrip dan konfigurasi untuk sistem.


  • lib - Mengandungi modul-modul kernel dan libraries yang diperlukan oleh sistem operasi.


  • mnt - Direktori sementara untuk menyambungkan peranti-peranti seperti cdrom dan cakera liut.


  • sbin - Mengandungi fail-fail binari dan utiliti untuk Pentadbir Sistem.


  • var - Mengandungi fail-fail data dan log seperti e-mel pengguna dan maklumat sistem.


  • usr - Mengandungi pelbagai fail sama ada program binari, libraries, aplikasi-aplikasi dan juga pakej untuk Tetingkap X. Kebanyakan fail arahan terletak dalam direktori /usr/bin dan /usr/sbin.


  • opt - Sesetengah sistem Linux tidak menggunakan atau tidak mempunyai subdirektori opt. Direktori ini biasanya untuk aplikasi seperti Java dan pengkompil.


  • tmp - Lokasi untuk fail-fail sementara.


Gunakan kombinasi arahan ls dengan opsyen -al serta arahan grep dengan carian rentetan ^d untuk lihat subdirektori yang ada dalam direktori akar.

[guest@komputer01 ~]$ ls -al / | grep ^d
dr-xr-xr-x.  25 root root  4096 Jan 27 11:56 .
dr-xr-xr-x.  25 root root  4096 Jan 27 11:56 ..
dr-xr-xr-x.   2 root root  4096 Nov 20 16:33 bin
dr-xr-xr-x.   5 root root  1024 Nov 20 15:19 boot
drwx------.   3 root root  4096 Nov 20 15:30 .dbus
drwxr-xr-x.  19 root root  3740 Jan 27 11:56 dev
drwxr-xr-x. 114 root root 12288 Jan 27 14:59 etc
drwxr-xr-x.   3 root root  4096 Jan  9 10:27 home
dr-xr-xr-x.  11 root root  4096 Nov 20 15:15 lib
dr-xr-xr-x.   9 root root 12288 Nov 20 16:33 lib64
drwx------.   2 root root 16384 Nov 20 15:09 lost+found
drwxr-xr-x.   4 root root  4096 Dec 30 14:06 media
drwxr-xr-x.   2 root root     0 Jan 27 11:56 misc
drwxr-xr-x.   2 root root  4096 Sep 23  2011 mnt
drwxr-xr-x.   2 root root     0 Jan 27 11:56 net
drwxr-xr-x.   3 root root  4096 Nov 20 15:18 opt
dr-xr-xr-x. 119 root root     0 Jan 27 11:56 proc
dr-xr-x---.  25 root root  4096 Jan 10 20:58 root
dr-xr-xr-x.   2 root root 12288 Nov 20 16:33 sbin
drwxr-xr-x.   7 root root     0 Jan 27 11:56 selinux
drwxr-xr-x.   2 root root  4096 Sep 23  2011 srv
drwxr-xr-x.  13 root root     0 Jan 27 11:56 sys
drwxrwxrwt.  11 root root  4096 Jan 28 03:15 tmp
drwxr-xr-x.  13 root root  4096 Nov 20 15:10 usr
drwxr-xr-x.  22 root root  4096 Nov 20 15:17 var
[guest@komputer01 ~]$

Dari output di atas, . (satu titik) ialah direktori semasa (current directory) manakala .. (dua titik bertindih) merupakan direktori di atas direktori semasa (parent directory).


Nama fail-fail dalam Linux merupakan "case-sensitive". Fail mbox dan Mbox adalah dua fail berbeza. Terdapat juga fail yang bermula dengan . (satu titik) seperti .bash_profile. Ia merupakan fail tersembunyi (hidden file) dan tidak dapat dilihat jika menggunakan arahan ls tanpa opsyen -a.


Fail dan Direktori Aplikasi[sunting]

Aplikasi seperti Java dan pengkompil (compiler) seperti gcc dan perl biasanya diletakkan di dalam direktori /usr/local. Sewaktu penyediaan aplikasi atau pengkompil, Pentadbir Sistem boleh tempatkan ia di direktori lain tapi adalah lebih baik jika diletakkan di direktori tersebut untuk memudahkan pengguna mencarinya di situ. Ia juga memudahkan Pentadbir Sistem untuk membuat backup atau naik taraf aplikasi-aplikasi berkenaan.


Fail dan Direktori Pengguna[sunting]

Berikut contoh direktori pengguna atau direktori rumah untuk pengguna guest yang mungkin terdapat dalam sistem.

  • /home/guest
  • /user/guest
  • /staff/guest


Ia mengandungi fail-fail atau dokumen pengguna. Bagi akaun guest, semua fail kepunyaan beliau disimpan dalam direktori ini yang ditentukan oleh Pentadbir Sistem sewaktu akaun guest dibina.


Persekitaran dalam Linux[sunting]

Persekitaran dalam Linux penting bagi setiap pengguna. Ia membantu pengguna melaksanakan tugas dengan mudah. Persekitaran yang disediakan dengan betul membolehkan aplikasi yang dipasang dalam sistem digunakan tanpa sebarang masalah.


Papar Maklumat Persekitaran - env, echo, alias[sunting]

Guna arahan env untuk paparkan maklumat persekitaran dalam Linux.

[guest@komputer01 ~]$ env
HOSTNAME=komputer01
SELINUX_ROLE_REQUESTED=
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.1.1 65113 22
SELINUX_USE_CURRENT_RANGE=
QTDIR=/usr/lib64/qt-3.3
OLDPWD=/usr/local
QTINC=/usr/lib64/qt-3.3/include
SSH_TTY=/dev/pts/1
USER=guest
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/guest
PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/guest/bin
PWD=/home/guest
LANG=en_US.UTF-8
SELINUX_LEVEL_REQUESTED=
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HISTCONTROL=ignoredups
SHLVL=1
HOME=/home/guest
LOGNAME=guest
QTLIB=/usr/lib64/qt-3.3/lib
CVS_RSH=ssh
SSH_CONNECTION=192.168.1.1 65113 192.168.1.2 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/bin/env
[guest@komputer01 ~]$

Dari maklumat di atas, anda dapat lihat nilai pembolehubah-pembolehubah (variables) yang diperolehi daripada sistem dan skrip login (fail .bash_profile). Pembolehubah tersebut adalah seperti HOME, PATH, SHELL dan MAIL. Kesemua pembolehubah ini penting dalam persekitaran Linux.


Selain itu, anda juga boleh gunakan arahan echo untuk melihat nilai bagi satu pembolehubah tertentu.

[guest@komputer01 ~]$ echo $SHELL
/bin/bash
[guest@komputer01 ~]$ echo $MAIL
/var/spool/mail/guest
[guest@komputer01 ~]$

Apabila menggunakan arahan echo, simbol $ perlu ditambah di hadapan pembolehubah untuk memaparkan nilainya.


Jika anda perlu pembolehubah baru, ia boleh ditambah di dalam fail .bash_profile. Gunakan arahan cat untuk lihat isi kandungannya.

[guest@komputer01 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

[guest@komputer01 ~]$


Taip arahan alias pula untuk lihat senarai arahan yang mungkin sudah diringkaskan bagi tujuan tertentu.

[guest@komputer01 ~]$ alias
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

Arahan asal agak panjang tapi telah diringkaskan dengan alias.


Arahan ls -l --color=auto misalnya telah diringkaskan menjadi ll sahaja.

[guest@komputer01 ~]$ ll
total 40
-rw-r--r--. 1 guest users    0 Jan 29 14:33 cuba1
-rw-r--r--. 1 guest users    0 Feb 14 10:13 cuba2
-rw-------. 1 guest users  504 Feb 11 13:57 dead.letter
-rw-r--r--. 1 guest users   59 Feb 14 11:30 failbaru
-rw-r--r--. 1 guest users  331 Feb  5 16:32 fail.tar.gz
-rw-r--r--. 1 guest users   34 Jan 29 13:57 fail.txt.gz
-rw-r--r--. 1 guest users   38 Jan 29 12:30 hello.c
-rw-r--r--. 1 guest users   53 Feb 10 15:23 perkataan.txt
-rwxr-xr-x. 1 guest users    5 Jan 29 12:31 prog.sh
drwxr-xr-x. 2 guest users 4096 Jan 29 12:27 tugasan
[guest@komputer01 ~]$


Contoh di bawah menunjukkan bagaimana arahan echo $MAIL diringkaskan menjadi em.

[guest@komputer01 ~]$ echo $MAIL
/var/spool/mail/guest
[guest@komputer01 ~]$ alias em='echo $MAIL'
[guest@komputer01 ~]$ em
/var/spool/mail/guest
[guest@komputer01 ~]$


Shell[sunting]

Linux menyediakan satu program penterjemah arahan yang dipanggil shell. Shell bertindak sebagai antaramuka di antara Linux dan pengguna. Ia membaca arahan yang anda taip, menterjemah arahan tersebut, melaksanakannya kemudian menunggu arahan lain pula. Prompt Linux dipaparkan menandakan ia bersedia untuk menerima sebarang arahan dari anda.


Setiap arahan dalam shell mengandungi nama arahan, pilihan arahan (jika ada) dan juga argumen (jika ada). Nama arahan, pilihan dan argumen dijarakkan dengan ruang kosong.


Sintaks : NamaArahan [-Pilihan] [Argumen]

Contoh  : ls -al /home


Shell merupakan satu program yang dilaksanakan oleh kernel Linux untuk pengguna. Satu program dirujuk sebagai satu proses sewaktu kernel melaksanakannya. Kernel boleh laksanakan satu program shell yang sama (atau sebarang program lain) secara serentak untuk ramai pengguna. Setiap program yang dilaksanakan itu pula merupakan proses-proses yang berasingan.


Kebanyakan arahan-arahan asas shell adalah subrutin yang dibina dalam program shell. Arahan-arahan yang bukan subrutin dalam shell perlukan kernel untuk memulakan satu proses bagi perlaksanaannya. Proses ini dikenali sebagai proses anak (child process). Kewujudan proses anak adalah untuk jangkamasa yang mencukupi bagi proses perlaksanaannya. Shell akan tunggu sehingga proses anak ini selesai sebelum ia bersedia menerima arahan selanjutnya.


Contoh arahan subrutin dalam shell ialah prosedur untuk keluar sistem seperti exit dan logout. Jika prosedur keluar sistem tidak dibina dalam shell, kernel akan mulakan satu proses anak. Apabila proses anak berakhir, kita akan kembali kepada shell asal. Ini akan menimbulkan masalah kerana kita tidak dapat keluar dan masih berada dalam sistem. Oleh sebab itu logout atau exit mesti dibina sebagai subrutin dalam shell.


Sila lihat manual bash dengan arahan man bash untuk mencari lain-lain arahan subrutin dalam shell.

[guest@komputer01 ~]$ man bash
SHELL BUILTIN COMMANDS
       Unless otherwise noted, each builtin command documented in this section
       as accepting options preceded by - accepts -- to signify the end of the
       options.   The  :, true, false, and test builtins do not accept options
       and do not treat -- specially.  The exit, logout, break, continue, let,
       and  shift builtins accept and process arguments beginning with - with-
       out requiring --.  Other builtins that accept  arguments  but  are  not
       specified  as accepting options interpret arguments beginning with - as
       invalid options and require -- to prevent this interpretation.

Maklumat berkenaan subrutin dalam shell boleh diperolehi di bawah tajuk SHELL BUILTIN COMMANDS.


Arahan subrutin seperti cd, pwd, echo, exit dan logout tidak akan dijumpai dalam direktori /bin, /usr/bin atau /sbin kerana ia dibina dalam shell /bin/bash. Manakala arahan bukan subrutin seperti chfn, passwd, hostname boleh dijumpai dalam salah satu direktori tersebut.


Tekan kunci [Q] untuk keluar dari arahan man.


Skrip Login[sunting]

Sewaktu pengguna masuk (login) ke dalam akaun Linux, satu atau lebih skrip login akan dibaca. Fail yang dibaca bergantung kepada jenis shell yang digunakan. Fail-fail tersebut terletak dalam direktori rumah pengguna. Fungsinya samalah seperti fail autoexec.bat dalam DOS. Ia penting dalam memudahkan penggunaan arahan-arahan Linux serta aplikasi.


Berikut adalah contoh shell dan skrip login masing-masing.

Shell Skrip Login
Bourne .profile
C .cshrc
.login
Korn .profile
Bourne-again .bash_profile


Manipulasi Fail/Direktori[sunting]

Papar Direktori Semasa - pwd[sunting]

Untuk mengetahui direktori di mana kita berada, gunakan arahan pwd.

[guest@komputer01 ~]$  pwd
/home/guest
[guest@komputer01 ~]$


Bertukar ke Direktori Lain - cd[sunting]

Anda boleh bertukar ke direktori lain dengan menggunakan arahan cd.

[guest@komputer01 ~]$ cd /           (ke direktori paling atas atau direktori akar)
[guest@komputer01 /]$ cd var         (ke subdirektori var)
[guest@komputer01 var]$ cd mail      (ke subdirektori mail)
[guest@komputer01 mail]$ pwd
/var/mail
[guest@komputer01 mail]$ cd          (kembali ke direktori rumah)
[guest@komputer01 ~]$ pwd
/home/guest
[guest@komputer01 ~]$


Lihat Senarai Fail - ls[sunting]

Arahan ls digunakan untuk melihat isi kandungan sesuatu direktori. Sila taip arahan di bawah pada prompt Linux dan lihat perbezaan hasilnya.

[guest@komputer01 ~]$ ls
hello.c  prog.sh  tugasan
[guest@komputer01 ~]$


Arahan ls dengan opsyen -a untuk lihat semua sekali termasuk fail tersembunyi.

[guest@komputer01 ~]$ ls -a
.   .bash_history  .bash_profile  .gnome2  .history  prog.sh
..  .bash_logout   .bashrc        hello.c  .mozilla  tugasan
[guest@komputer01 ~]$


Arahan ls dengan opsyen -al untuk lihat maklumat lebih terperinci seperti mod keizinan, pemilik fail, kumpulan pemilik dan masa fail dibina atau diubahsuai.

[guest@komputer01 ~]$ ls -al
total 48
drwx------. 5 guest users 4096 Jan 29 12:31 .
drwxr-xr-x. 3 root  root  4096 Jan  9 10:27 ..
-rw-------. 1 guest users  789 Jan 28 19:24 .bash_history
-rw-r--r--. 1 guest users   18 Feb 22  2013 .bash_logout
-rw-r--r--. 1 guest users  176 Feb 22  2013 .bash_profile
-rw-r--r--. 1 guest users  124 Feb 22  2013 .bashrc
drwxr-xr-x. 2 guest users 4096 Nov 12  2010 .gnome2
-rw-r--r--. 1 guest users   38 Jan 29 12:30 hello.c
-rw-------. 1 guest users  104 Jan 27 15:00 .history
drwxr-xr-x. 4 guest users 4096 Nov 20 15:10 .mozilla
-rwxr-xr-x. 1 guest users    5 Jan 29 12:31 prog.sh
drwxr-xr-x. 2 guest users 4096 Jan 29 12:27 tugasan
[guest@komputer01 ~]$ 


Cuba arahan ls dengan opsyen -aF. Di hujung nama direktori terdapat aksara /. Fail boleh laksana (executable) seperti fail prog.sh pula terdapat aksara * dihujungnya.

[guest@komputer01 ~]$ ls -aF
./             .bash_profile  failbaru       .gnome2/  .mozilla/      tugasan/
../            .bashrc        .failbaru.swp  hello.c   perkataan.txt
.bash_history  cuba1          fail.tar.gz    .history  prog.sh*
.bash_logout   dead.letter    fail.txt.gz    .lesshst  .ssh/
[guest@komputer01 ~]$


Mengenalpasti Jenis Fail - file[sunting]

Gunakan arahan file untuk mengetahui jenis fail sama ada ia adalah fail binari, fail teks, direktori dan sebagainya.

[guest@komputer01 ~]$ file hello.c
hello.c: ASCII text
[guest@komputer01 ~]$ file *
fail.txt.gz: gzip compressed data, was "fail.txt", from Unix, last modified: Wed Jan 29 13:57:56 2014
hello.c:     ASCII text
prog.sh:     ASCII text
tugasan:     directory
[guest@komputer01 ~]$      


Setelah jenis fail diketahui, kita dapat lakukan sesuatu kepada fail tersebut dengan memilih arahan yang sesuai. Contohnya guna arahan cat atau more untuk melihat kandungan fail teks hello.c dan prog.sh.

[guest@komputer01 ~]$ cat hello.c
main()
{
  printf("Hello World\n");
}
[guest@komputer01 ~]$ 


Sudah tentu anda tidak boleh guna arahan cd terhadap fail hello.c kerana ia bukan direktori.

[guest@komputer01 ~]$ cd hello.c
-bash: cd: hello.c: Not a directory
[guest@komputer01 ~]$


Bina Fail Kosong - touch, echo[sunting]

Anda boleh bina satu fail baru dengan arahan touch. Walau bagaimanapun fail yang dibina adalah kosong atau tiada isi dan bersaiz 0.

[guest@komputer01 ~]$ touch cuba1
[guest@komputer01 ~]$ ls -al cuba1
-rw-r--r--. 1 guest users 0 Jan 29 14:33 cuba1
[guest@komputer01 ~]$


Arahan echo juga boleh digunakan untuk membina fail kosong jika digunakan bersama simbol > (redirect). Output dari arahan ini akan disimpan ke dalam fail dan tidak dipaparkan di skrin.

[guest@komputer01 ~]$ echo -n > cuba2
[guest@komputer01 ~]$ ls -al cuba2
-rw-r--r--. 1 guest users 0 Jan 29 14:34 cuba2
[guest@komputer01 ~]$

Arahan echo dengan opsyen -n akan bina fail baru yang kosong isi kandungannya.


Melihat Kandungan Fail Teks - cat[sunting]

Guna arahan cat untuk melihat kandungan fail teks seperti fail .bash_profile.

[guest@komputer01 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
[guest@komputer01 ~]$


Papar Fail Teks Bermula Dari Atas - head[sunting]

Bagi fail teks bersaiz besar, kita boleh lihat beberapa baris kandungannya bermula dari atas dengan menggunakan arahan head. Untuk melihat 10 baris teratas, gunakan arahan berikut.

[guest@komputer01 ~]$ head .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

Arahan head tanpa opsyen akan paparkan 10 baris teratas.


Jika ingin lihat hanya 5 baris teratas gunakan opsyen -5.

 [guest@komputer01 ~]$  head -5 .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
[guest@komputer01 ~]$


Papar Fail Teks Bermula Dari Bawah - tail[sunting]

Dengan arahan tail pula, kandungan fail teks boleh dilihat bermula dari bawah.

[guest@komputer01 ~]$ tail -3 .bash_profile
PATH=$PATH:$HOME/bin

export PATH
[guest@komputer01 ~]$


Seperti arahan head, anda boleh guna opsyen -3 untuk lihat 3 baris paling bawah. Secara lalai, ia akan paparkan 10 baris paling bawah.


Papar Kandungan Fail Teks Semuka Demi Semuka - more[sunting]

Selain dari cat kita boleh gunakan arahan more untuk melihat kandungan fail teks yang besar. Ia membolehkan kita melihat fail berkenaan semuka demi semuka.

[guest@komputer01 ~]$ more .bash_history
finger
finger guest
id
id guest
who
whoami
who am i
passwd
chfn
chsh
echo $SHELL
hostname
uname -a
uname -n
domainname
ifconfig
hostname
--More--(25%)


Kemudian anda boleh tekan kunci [Enter] untuk paparkan baris demi baris atau [SpaceBar] untuk muka demi muka.


Cetak Maklumat Fail - wc[sunting]

Arahan wc boleh digunakan untuk mengetahui bilangan baris, bilangan perkataan dan saiz fail teks.

[guest@komputer01 ~]$ wc perkataan.txt
 8  8 53 perkataan.txt
[guest@komputer01 ~]$

Fail perkataan.txt mengandungi 8 baris, 8 perkataan dan bersaiz 53 bytes.


Gunakan opsyen -l jika anda ingin tahu jumlah baris sahaja.

[guest@komputer01 ~]$ wc -l perkataan.txt
8 perkataan.txt
[guest@komputer01 ~]$


Salin Fail - cp[sunting]

Guna arahan cp untuk menyalin fail cuba2 ke fail cuba3.

[guest@komputer01 ~]$ cp cuba2 cuba3
[guest@komputer01 ~]$ ls -al cuba2 cuba3
-rw-r--r--. 1 guest users 1 Jan 29 14:34 cuba2
-rw-r--r--. 1 guest users 1 Jan 29 16:06 cuba3
[guest@komputer01 ~]$

Kedua-duanya mempunyai nama berlainan tapi isi kandungannya sama. Sekiranya fail cuba3 sudah wujud sebelum ini, isinya akan digantikan dengan isi kandungan fail cuba2.


Secara lalai arahan cp tidak akan memeriksa sama ada fail yang akan dibina dari proses menyalin ini sudah wujud atau tidak. Untuk elakkan daripada terganti isi kandungan fail sedia ada, kita boleh guna arahan cp dengan opsyen -i.

[guest@komputer01 ~]$ cp -i cuba2 cuba3
cp: overwrite `cuba3'? y
[guest@komputer01 ~]$

Jawab y jika anda hendak ganti kandungan fail cuba3 dengan fail cuba2 dan taip n jika sebaliknya.


Tukar Nama atau Pindah Lokasi Fail - mv[sunting]

Guna arahan mv untuk ubah nama fail misalnya dari cuba3 kepada nama fail cuba4.

[guest@komputer01 ~]$ ls -al cuba*
-rw-r--r--. 1 guest users 0 Jan 29 14:33 cuba1
-rw-r--r--. 1 guest users 1 Jan 29 14:34 cuba2
-rw-r--r--. 1 guest users 1 Jan 29 16:06 cuba3
[guest@komputer01 ~]$ mv cuba3 cuba4 
[guest@komputer01 ~]$ ls -al cuba*
-rw-r--r--. 1 guest users 0 Jan 29 14:33 cuba1
-rw-r--r--. 1 guest users 1 Jan 29 14:34 cuba2
-rw-r--r--. 1 guest users 1 Jan 29 16:06 cuba4
[guest@komputer01 ~]$


Ia juga boleh digunakan untuk pindahkan fail ke direktori lain. Misalnya dari lokasi semasa ke lokasi baru.

[guest@komputer01 ~]$ mv cuba4 /tmp
[guest@komputer01 ~]$ ls -al /tmp
total 52
drwxrwxrwt. 11 root  root  4096 Jan 29 16:24 .
dr-xr-xr-x. 25 root  root  4096 Jan 27 11:56 ..
-rw-r--r--.  1 guest users    1 Jan 29 16:06 cuba4
-r--r--r--.  1 root  root    11 Jan 27 11:56 .X0-lock
drwxrwxrwt.  2 root  root  4096 Jan 27 11:56 .X11-unix
[guest@komputer01 ~]$

Arahan di atas akan memindahkan fail cuba4 dari direktori semasa ke direktori /tmp.


Bina Direktori - mkdir[sunting]

Guna arahan mkdir untuk bina direktori baru.

[guest@komputer01 ~]$ mkdir direktori
[guest@komputer01 ~]$ ls -al
total 60
drwx------. 6 guest users 4096 Jan 29 16:28 .
drwxr-xr-x. 3 root  root  4096 Jan  9 10:27 ..
-rw-------. 1 guest users  789 Jan 28 19:24 .bash_history
-rw-r--r--. 1 guest users   18 Feb 22  2013 .bash_logout
-rw-r--r--. 1 guest users  176 Feb 22  2013 .bash_profile
-rw-r--r--. 1 guest users  124 Feb 22  2013 .bashrc
-rw-r--r--. 1 guest users    0 Jan 29 14:33 cuba1
-rw-r--r--. 1 guest users    1 Jan 29 14:34 cuba2
drwxr-xr-x. 2 guest users 4096 Jan 29 16:28 direktori
-rw-r--r--. 1 guest users   34 Jan 29 13:57 fail.txt.gz
drwxr-xr-x. 2 guest users 4096 Nov 12  2010 .gnome2
-rw-r--r--. 1 guest users   38 Jan 29 12:30 hello.c
-rw-------. 1 guest users  104 Jan 27 15:00 .history
drwxr-xr-x. 4 guest users 4096 Nov 20 15:10 .mozilla
-rwxr-xr-x. 1 guest users    5 Jan 29 12:31 prog.sh
drwxr-xr-x. 2 guest users 4096 Jan 29 12:27 tugasan
[guest@komputer01 ~]$


Pembinaan beberapa subdirektori mengikut tujuan tertentu adalah bagus terutama sekali dalam pengurusan fail. Jika beratus atau beribu fail berada dalam satu direktori sahaja, agak sukar untuk mencari dan menguruskannya.


Menghapuskan Fail/Direktori - rm, rmdir[sunting]

Gunakan arahan rm untuk hapuskan fail.

[guest@komputer01 ~]$ rm cuba2
[guest@komputer01 ~]$

Tiada cara untuk kembalikan fail yang sudah dihapuskan kecuali jika anda ada buat salinan (backup) sebelum ini.


Arahan rm dengan opsyen -i akan meminta kepastian terlebih dahulu sama ada anda ingin menghapuskan fail tersebut.

[guest@komputer01 ~]$ rm -i cuba2
rm: remove regular file `cuba2'? y
[guest@komputer01 ~]$

Jawab y untuk hapuskan fail atau jawab n jika sebaliknya.


Untuk menghapuskan semua fail dalam satu subdirektori xyz berserta subdirektori tersebut, guna arahan rm dengan opsyen -r.

[guest@komputer01 ~]$ rm -r xyz
[guest@komputer01 ~]$


Guna arahan rmdir untuk hapuskan direktori kosong (tidak mengandungi sebarang fail atau subdirektori di dalamnya).

[guest@komputer01 ~]$ mkdir temp
[guest@komputer01 ~]$ rmdir temp
[guest@komputer01 ~]$


Tukar Mod Keizinan - chmod[sunting]

Setiap fail atau direktori mempunyai mod keizinannya sendiri. Ia dapat mengelakkan pengguna mengubahsuai fail-fail pengguna lain atau mengubah fail-fail sistem. Sebelum mod keizinan diubah, pengguna perlu lihat terlebih dahulu menggunakan arahan ls dengan opsyen -al.

[guest@komputer01 ~]$ ls -al
total 52
drwx------. 5 guest users 4096 Jan 30 09:12 .
drwxr-xr-x. 3 root  root  4096 Jan  9 10:27 ..
-rw-------. 1 guest users 1876 Jan 29 19:31 .bash_history
-rw-r--r--. 1 guest users   18 Feb 22  2013 .bash_logout
-rw-r--r--. 1 guest users  176 Feb 22  2013 .bash_profile
-rw-r--r--. 1 guest users  124 Feb 22  2013 .bashrc
-rw-r--r--. 1 guest users    0 Jan 29 14:33 cuba1
-rw-r--r--. 1 guest users   34 Jan 29 13:57 fail.txt.gz
drwxr-xr-x. 2 guest users 4096 Nov 12  2010 .gnome2
-rw-r--r--. 1 guest users   38 Jan 29 12:30 hello.c
-rw-------. 1 guest users  104 Jan 27 15:00 .history
drwxr-xr-x. 4 guest users 4096 Nov 20 15:10 .mozilla
-rwxr-xr-x. 1 guest users    5 Jan 29 12:31 prog.sh
drwxr-xr-x. 2 guest users 4096 Jan 29 12:27 tugasan
[guest@komputer01 ~]$


Dari output di atas, di sebelah kiri sekali terdapat 10 aksara.

  • Aksara pertama menunjukkan sama ada ia fail biasa (-), hubungan simbolik (l), fail aksara istimewa (c) atau direktori (d).
  • 9 aksara berikutnya ialah mod keizinan yang dibahagi kepada tiga iaitu untuk pemilik (owner), kumpulan (group) dan lain-lain (other).
  • Bagi setiap bahagian tersebut masing-masing mewakili mod keizinan baca (r), tulis (w) dan laksana (x).
  • Simbol tanda sengkang (-) pula menandakan bahawa tiada keizinan baca, tulis atau laksana bagi fail atau direktori berkenaan.
  • Dari output tersebut juga kita dapat lihat guest sebagai pemilik bagi semua fail dan direktori kecuali direktori induk (..).


Apa yang penting di sini ialah hanya pemilik iaitu guest dan root sahaja yang boleh menukar mod keizinan fail dan direktori. Keizinan untuk pengguna lain baca, tulis atau laksana bergantung kepada mod keizinan fail dan direktori tersebut.


Untuk penerangan lebih jelas kita ambil contoh direktori tugasan.

drwxr-xr-x. 2 guest users 4096 Jan 29 12:27 tugasan

Mod keizinan untuk guest ialah baca (r), tulis (w) dan laksana (x). Untuk pengguna lain yang sekumpulan dengan guest iaitu kumpulan users, mod keizinannya ialah baca (r) dan laksana (x) sahaja. Begitu juga dengan pengguna lain yang bukan dalam kumpulan users di mana mod keizinannya ialah baca (r) dan laksana (x).


Pengguna selain guest tidak boleh bina fail atau direktori di dalam direktori tugasan. Mereka cuma boleh masuk ke dalam direktori ini untuk melihat dan menyalin fail. Begitupun ia masih tertakluk kepada mod keizinan direktori sebelum tugasan iaitu direktori semasa (.) atau /home/guest.


drwx------. 5 guest users 4096 Jan 30 09:12 .

Jika dilihat pada mod keizinan direktori rumah bagi guest, pengguna lain (kecuali root) tidak mempunyai keizinan untuk masuk. Oleh itu pengguna lain juga sudah tentu tidak boleh masuk ke dalam direktori tugasan.


Untuk membolehkan pengguna lain memasuki direktori rumah guest, pengguna guest perlu menukarnya kepada mod drwxr-xr-x dengan arahan chmod.

[guest@komputer01 ~]$ chmod go+rx .
[guest@komputer01 ~]$

Apa yang dilakukan arahan di atas ialah memberi kumpulan users (g) dan pengguna lain (o) kebenaran untuk baca (r) dan laksana (x) terhadap direktori semasa (.) bagi guest iaitu /home/guest.


Hasilnya mod keizinan akan bertukar seperti berikut.

drwxr-xr-x. 5 guest users 4096 Jan 30 09:12 .


Hasil yang sama juga boleh diperolehi dengan arahan berikut.

[guest@komputer01 ~]$ chmod 755 .
[guest@komputer01 ~]$


Adakalanya pertukaran mod keizinan dengan menggunakan nombor lebih mudah berbanding penggunaan aksara dan simbol.

Nilai No. Perduaan Mod Keizinan
0 0 0 0 --- Tiada
1 0 0 1 --x Laksana sahaja
2 0 1 0 -w- Tulis sahaja
3 0 1 1 -wx Tulis dan Laksana sahaja
4 1 0 0 r-- Baca sahaja
5 1 0 1 r-x Baca dan Laksana sahaja
6 1 1 0 rw- Baca dan Tulis sahaja
7 1 1 1 rwx Semua


Di bawah ialah contoh nilai mod yang biasa digunakan dengan arahah chmod diikuti dengan mod keizinan yang dilihat dengan arahan ls -al setelah selesai melakukan arahan chmod tersebut.

Arahan Mod Keizinan
chmod 000 fail ---------
chmod 100 fail --x------
chmod 211 fail -w---x--x
chmod 444 fail r--r--r--
chmod 644 fail rw-r--r--
chmod 700 fail rwx------
chmod 711 fail rwx--x--x
chmod 777 fail rwxrwxrwx


Pengubahsuaian Fail Teks - vi[sunting]

Linux mempunyai pengubahsuai teksnya sendiri iaitu vi (Visual Implementation). Dalam vi terdapat tiga mod berbeza iaitu arahan (command), input dan baris terakhir (last line). Gunakan arahan berikut untuk menggunakan vi dengan andaian failbaru adalah fail teks baru.

[guest@komputer01 ~]$ vi failbaru


Pada permulaan penggunaan vi anda akan berada dalam mod arahan (command mode). Pada masa ini anda boleh gerakkan kursor ke seluruh skrin, ubahsuai kandungan fail dan lakukan proses carian rentetan. Bagi fail yang baru dibina, isinya kosong. Anda perlu berada dalam mod input untuk masukkan teks ke dalam fail tersebut. Caranya ialah dengan menekan salah satu kunci berikut.

  • Kunci [I] untuk selit (insert).
  • Kunci [A] untuk tambah (append).


-- INSERT --

Di bahagian bawah skrin akan kelihatan -- INSERT -- menandakan anda berada dalam mod input.


Sila taip teks satu hingga sepuluh seperti dibawah.

satu                  (kemudian tekan [Enter])
dua                   (kemudian tekan [Enter])
tiga                  (kemudian tekan [Enter])
empat                 (kemudian tekan [Enter])
lima                  (kemudian tekan [Enter])
enam                  (kemudian tekan [Enter])
tujuh                 (kemudian tekan [Enter])
lapan                 (kemudian tekan [Enter])
sembilan              (kemudian tekan [Enter])
sepuluh               (kemudian tekan [Esc])

Selepas menekan kunci [Esc] mod input (--INSERT--) akan bertukar kepada mod arahan.


Simpan (save) teks yang telah ditaip dengan menekan aksara : diikuti aksara w.


:w


Kemudian tekan [Enter].


"failbaru" [New] 10L, 59C written

Perubahan dalam kandungan failbaru telah disimpan.


Dalam mod input anda boleh gerakkan kursor ke atas, ke bawah, ke kiri atau ke kanan dengan menekan kunci berikut.

  • Tekan kunci [] atau [K] untuk ke atas.
  • Tekan kunci [] atau [J] untuk ke bawah.
  • Tekan kunci [] atau [H] untuk ke kiri.
  • Tekan kunci [] atau [L] untuk ke kanan.


Andaikan kita ingin menambah perkataan kosong sebelum perkataan satu. Ikut langkah berikut.

  • Gerakkan kursor anda supaya berada pada baris pertama pada huruf s perkataan satu.
  • Tekan kunci [Shift] dan kunci [O] serentak. Satu baris kosong akan diselitkan di atas baris yang mengandungi teks satu.

satu
dua
.
.
-- INSERT --


  • Taip perkataan kosong pada baris tersebut kemudian tekan kunci [Esc].
kosong
satu
dua
.
.


Sekarang kita ingin menambah perkataan sebelas pula iaitu selepas perkataan sepuluh. Ikut langkah berikut.

  • Tekan kunci [Shift] dan [G] serentak. Ia akan gerakkan kursor anda terus ke baris terakhir dalam fail iaitu pada perkataan sepuluh.
  • Tekan kunci [O]. Satu baris baru akan ditambah di bawah baris yang mengandungi perkataan sepuluh.
  • Taip perkataan sebelas kemudian tekan kunci [Esc].

Anda sudah selesai menambah perkataan kosong di baris paling atas dan perkataan sebelas di baris paling bawah.


Simpan perubahan tersebut dengan menaip aksara :,w dan q kemudian tekan [Enter].


:wq

Aksara w untuk tulis (write) perubahan kepada fail, manakala aksara q pula untuk keluar (quit) dari program vi.


Berikut senarai aksara atau kunci untuk pergerakan kursor di dalam mod arahan.

Aksara/Kunci Tindakan
l Bergerak satu aksara ke kanan
h Bergerak satu aksara ke kiri
k Bergerak satu aksara ke atas
j Bergerak satu aksara ke bawah
$ Pergi ke aksara terakhir dalam baris semasa
0 Pergi ke aksara pertama dalam baris semasa
w Pergi ke aksara pertama bagi perkataan berikut dalam baris semasa
b Pergi ke aksara pertama bagi perkataan sebelum dalam baris semasa
^ Pergi ke aksara pertama dalam baris semasa
G Pergi ke baris terakhir dalam fail
[Ctrl][d] Bergerak semuka ke bawah (Page Down)
[Ctrl][b] Bergerak semuka ke atas (Page Up)
/abc Carian kehadapan rentetan abc
?abc Carian kebelakang rentetan abc
n Terus carian kehadapan rentetan abc
N Terus carian kebelakang rentetan abc


Berikut senarai aksara atau kunci untuk penyuntingan teks di dalam mod arahan.

Aksara/Kunci Tindakan
i Selit aksara sebelum kedudukan kursor berada
I Selit aksara sebelum aksara pertama dalam baris
a Selit aksara selepas kedudukan kursor berada
A Selit aksara selepas hujung baris
o Selit baris kosong di bawah baris kursor berada
O Selit baris kosong di atas baris kursor berada
x Padam 1 aksara
5x Padam 5 aksara
dd Padam baris semasa
7dd Padam 7 baris bermula dari baris semasa dan ke bawah
cw Padam 1 perkataan bermula dari kedudukan kursor untuk diganti teks baru
c3w Padam 3 perkataan bermula dari kedudukan kursor untuk diganti teks baru
dw Padam 1 perkataan bermula dari kedudukan kursor
d3w Padam 3 perkataan bermula dari kedudukan kursor
r Padam aksara semasa untuk diganti dengan aksara baru
D Padam baris semasa dari kedudukan kursor hingga ke hujung baris
yy Padam baris semasa
4yy Padam 4 baris bermula dari baris semasa ke bawah
p Tampal (paste) kandungan dari penimbal (buffer)
u Undo atau kembalikan keadaan asal sebelum arahan terakhir dilaksanakan


Berikut senarai aksara atau kunci yang biasa digunakan dalam mod baris terakhir.

Aksara/Kunci Tindakan
:1 Pergi ke baris pertama dalam fail
:10 Pergi ke baris kesepuluh dalam fail
:set nu Paparkan nombor baris di sebelah kiri bagi tujuan rujukan
:set nonu Hilangkan paparan nombor baris
:f Papar nama fail dan kedudukan kursor di baris keberapa
:w Simpan kandungan fail tanpa keluar dari vi
:w xyz.txt Simpan kandungan fail ke fail baru bernama xyz.txt
:wq Simpan kandungan fail dan keluar dari vi
:q! Keluar dari vi tanpa menyimpan kandungan yang telah diubah
:1,10 s/abc/xyz Dari baris 1 hingga 10, tukar rentetan abc kepada xyz


Setiap kali selesai arahan dalam mod baris terakhir, mod akan kembali semula ke mod arahan jika masih berada dalam vi.


Manipulasi Ruang Storan[sunting]

Papar Saiz Direktori dan Subdirektori - du[sunting]

Guna arahan du untuk lihat anggaran saiz bagi penggunaan ruang setiap direktori atau subdirektori.

[guest@komputer01 ~]$ du -h
8.0K    ./.ssh
4.0K    ./tugasan
92K     .
[guest@komputer01 ~]$

Jumlah saiz dipaparkan di sebelah kiri direktori.


Papar Saiz Fail Sistem - df[sunting]

Arahan df pula dapat beri maklumat saiz fail sistem serta peratus penggunaan semasa.

[guest@komputer01 ~]$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vg_komputer01-lv_root
                       7781012   3273984   4111764  45% /
tmpfs                   510268        72    510196   1% /dev/shm
/dev/sda1               495844     33754    436490   8% /boot
[guest@komputer01 ~]$

Arahan ini amat berguna kepada Pentadbir Sistem kerana pembinaan direktori atau fail tidak dapat dilakukan jika fail sistem berkenaan telah penuh.


Papar Had Penggunaan Sumber - ulimit[sunting]

Dengan arahan ulimit anda dapat lihat had penggunaan sumber dalam sistem seperti masa cpu, saiz fail dan sebagainya. Maklumat dari arahan ini berguna jika anda mengalami masalah terutama sekali bagi aplikasi atau proses yang memerlukan sumber yang sangat besar.

[guest@komputer01 ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7816
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[guest@komputer01 ~]$   

Guna arahan ulimit dengan opsyen -a untuk lihat semua sumber dan had yang telah ditetapkan oleh sistem.


Mampat dan Nyahmampat - gzip, gunzip[sunting]

Terdapat banyak faedah jika kita dapat kecilkan saiz fail. Penghantaran fail bersaiz besar ke lokasi yang jauh dapat dilakukan dengan lebih cepat jika saiznya dikecilkan terlebih dahulu. Pengecilan fail juga dapat kurangkan penggunaan storan. Guna arahan gzip untuk kecilkan saiz fail dan arahan gunzip untuk kembalikan fail kepada saiz asal.


[guest@komputer01 ~]$ ls -al failbaru
-rw-r--r--. 1 guest users 59 Feb  5 14:26 failbaru
[guest@komputer01 ~]$ gzip failbaru
[guest@komputer01 ~]$ ls -al failbaru
ls: cannot access failbaru: No such file or directory
[guest@komputer01 ~]$ ls -al failbaru.gz
-rw-r--r--. 1 guest users 78 Feb  5 14:26 failbaru.gz

Arahan gzip akan menghasilkan fail berpenambahan .gz. Jika fail terlalu kecil, saiz fail yang sudah dimampat akan menjadi besar sedikit seperti contoh di atas. Arahan ini sesuai digunakan kepada fail bersaiz besar.


Guna arahan gunzip untuk nyahmampat fail berpenambahan .gz.

[guest@komputer01 ~]$ gunzip failbaru.gz
[guest@komputer01 ~]$ ls -al failbaru.gz
ls: cannot access failbaru.gz: No such file or directory
[guest@komputer01 ~]$ ls -al failbaru
-rw-r--r--. 1 guest users 59 Feb  5 14:26 failbaru
[guest@komputer01 ~]$


Anda tidak boleh melihat kandungan fail .gz dengan menggunakan arahan cat atau more. Gunakan arahan gunzip dengan opsyen -c.

[guest@komputer01 ~]$ gunzip -c failbaru.gz
satu
dua
tiga
empat
lima
enam
tujuh
lapan
sembilan
sepuluh
[guest@komputer01 ~]$


Satukan Beberapa Fail/Direktori Menjadi Satu Fail - tar[sunting]

Anda boleh kumpulkan beberapa fail atau direktori kepada satu fail dengan arahan tar. Ia memudahkan anda untuk melakukan proses penghantaran fail ke lokasi lain. Arahan ini biasa digunakan Pentadbir Sistem untuk menyimpan fail-fail pengguna ke dalam pita (tape).


Di bawah ialah contoh untuk mengumpulkan fail cuba1, failbaru, hello.c, prog.sh dan subdirektori tugasan kepada satu fail bernama fail.tar.

[guest@komputer01 ~]$ tar cvf fail.tar cuba1 failbaru hello.c prog.sh tugasan
cuba1
failbaru
hello.c
prog.sh
tugasan/
[guest@komputer01 ~]$ ls -al fail.tar
-rw-r--r--. 1 guest users 10240 Feb  5 16:32 fail.tar
[guest@komputer01 ~]$ gzip fail.tar
[guest@komputer01 ~]$ ls -al fail.tar.gz
-rw-r--r--. 1 guest users 331 Feb  5 16:32 fail.tar.gz
[guest@komputer01 ~]$

Kemudian kecilkan pula fail.tar dengan arahan gzip.


Lihat kandungan fail tersebut dengan opsyen tf atau opsyen tvf.

[guest@komputer01 ~]$ tar tvf fail.tar.gz
-rw-r--r-- guest/users       0 2014-01-29 14:33 cuba1
-rw-r--r-- guest/users      59 2014-02-05 14:26 failbaru
-rw-r--r-- guest/users      38 2014-01-29 12:30 hello.c
-rwxr-xr-x guest/users       5 2014-01-29 12:31 prog.sh
drwxr-xr-x guest/users       0 2014-01-29 12:27 tugasan/
[guest@komputer01 ~]$


Untuk ekstrak fail-fail tersebut gunakan arahan tar dengan opsyen xvf.

[guest@komputer01 ~]$ tar xvf fail.tar.gz
cuba1
failbaru
hello.c
prog.sh
tugasan/
[guest@komputer01 ~]$


Aktiviti Pengguna[sunting]

Melihat Proses Pengguna - w, ps, top[sunting]

Guna arahan w atau ps untuk melihat proses yang sedang dilaksanakan oleh pengguna.

[guest@komputer01 ~]$ w
 10:24:05 up 10 days, 15 min,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
guest    pts/1    192.168.1.1      08:54    0.00s  0.11s  0.07s w
root     tty1     :0               11Feb14 10days 15.80s 15.80s /usr/bin/Xorg :
root     pts/0    :0.0             11Feb14  7days  0.85s  0.85s bash
[guest@komputer01 ~]$


Berikut ialah arahan ps.

[guest@komputer01 ~]$ ps
  PID TTY          TIME CMD
 6161 pts/0    00:00:00 bash
 6190 pts/0    00:00:00 ps
[guest@komputer01 ~]$


Gabungkan arahan ps dan grep untuk kurangkan output yang dihasilkan oleh ps dengan opsyen -ef. Contoh di bawah memaparkan semua proses yang mempunyai rentetan (string) guest.

[guest@komputer01 ~]$ ps -ef|grep guest
root      6156  1541  0 17:21 ?        00:00:00 sshd: guest [priv]
guest     6160  6156  0 17:21 ?        00:00:00 sshd: guest@pts/0
guest     6161  6160  0 17:21 pts/0    00:00:00 -bash
guest     6194  6161  1 17:28 pts/0    00:00:00 ps -ef
guest     6195  6161  0 17:28 pts/0    00:00:00 grep guest
[guest@komputer01 ~]$


Gunakan arahan top untuk lihat proses yang paling banyak menggunakan sumber dalam sistem.

top - 17:30:17 up 10 days,  5:34,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 105 total,   1 running, 104 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1020540k total,   721156k used,   299384k free,   179996k buffers
Swap:  2064376k total,        0k used,  2064376k free,   321872k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 6199 guest     20   0 15032 1204  936 R  0.3  0.1   0:00.10 top
    1 root      20   0 19352 1540 1216 S  0.0  0.2   0:01.32 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      20   0     0    0    0 S  0.0  0.0   0:01.04 ksoftirqd/0
    5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
    6 root      RT   0     0    0    0 S  0.0  0.0   0:04.85 watchdog/0
    7 root      20   0     0    0    0 S  0.0  0.0   4:47.16 events/0
    8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup
    9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper
   10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns
   11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr
   12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pm
   13 root      20   0     0    0    0 S  0.0  0.0   0:07.55 sync_supers
   14 root      20   0     0    0    0 S  0.0  0.0   0:09.10 bdi-default
   15 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kintegrityd/0
   16 root      20   0     0    0    0 S  0.0  0.0   0:10.52 kblockd/0


Arahan ini boleh digunakan jika kita ingin memeriksa mengapa prestasi sistem agak perlahan berbanding biasa. Secara lalai ia akan paparkan proses yang paling banyak menggunakan cpu. Cuba lihat di bawah %CPU. Bagi contoh di atas, arahan top itu sendiri yang paling banyak menggunakan cpu iaitu 0.3%. Dalam situasi di mana sistem menjadi sangat perlahan, mungkin ada proses yang menggunakan cpu lebih daripada 90%.


Tekan kunci [Q] untuk tamatkan proses top.


Menghapuskan Proses - kill[sunting]

Kadangkala terdapat arahan atau aplikasi yang tidak memberi apa-apa output atau tindakbalas sehingga proses lain tidak dapat dilaksanakan. Untuk mengatasi masalah ini kita perlu hapuskan proses berkenaan dengan arahan kill. ID proses tersebut diperlukan untuk menghapuskannya.


Guna arahan ps dengan opsyen -U diikuti dengan akaun pengguna.

[guest@komputer01 ~]$ ps -U guest
  PID TTY          TIME CMD
 6160 ?        00:00:17 sshd
 6161 pts/0    00:00:00 bash
 9352 pts/0    00:00:00 vi
 9358 ?        00:00:00 sshd
 9359 pts/1    00:00:00 bash
 9402 pts/1    00:00:00 ps
[guest@komputer01 ~]$        

Setiap proses atau arahan Linux mempunyai ID sendiri. Andaikan proses yang hendak dihapuskan ialah proses vi. Dari output di atas ID bagi proses vi ialah 9352. ID proses terletak di sebelah kiri sekali.


Perlu diingatkan di sini bahawa hanya pengguna itu (guest) atau root sahaja yang boleh menghapuskan proses berkenaan.

[guest@komputer01 ~]$ kill -9 9352
[guest@komputer01 ~]$


Periksa sekali lagi untuk memastikan bahawa proses tersebut telah dihapuskan.

[guest@komputer01 ~]$ ps -U guest
  PID TTY          TIME CMD
 6160 ?        00:00:17 sshd
 6161 pts/0    00:00:00 bash
 9358 ?        00:00:00 sshd
 9359 pts/1    00:00:00 bash
 9419 pts/1    00:00:00 ps
[guest@komputer01 ~]$


Melihat Log Aktiviti - last[sunting]

Guna arahan last untuk lihat log bagi aktiviti sistem atau pengguna.

[guest@komputer01 ~]$ last
guest    pts/1        192.168.1.1      Tue Feb 18 08:23   still logged in
guest    pts/3        komputer01       Tue Feb 11 15:55 - 15:56  (00:01)
root     pts/0        :0.0             Tue Feb 11 10:57   still logged in
root     tty1         :0               Tue Feb 11 10:57   still logged in
mfauzy   pts/2        192.168.1.3      Tue Feb 11 10:10 - 17:22  (07:11)
reboot   system boot  2.6.32-358.el6.x Tue Feb 11 10:09 - 10:13 (7+00:04)
root     pts/0        :0.0             Tue Feb 11 08:20 - down   (01:47)
root     tty1         :0               Tue Feb 11 08:20 - down   (01:48)
reboot   system boot  2.6.32-358.el6.x Wed Nov 20 15:30 - 18:39  (03:08)

wtmp begins Wed Nov 20 15:30:32 2013
[guest@komputer01 ~]$


Jika outputnya terlalu panjang anda boleh gabungkan dengan arahan more.

[guest@komputer01 ~]$ last | more
guest    pts/1        192.168.1.1      Tue Feb 18 08:23   still logged in
guest    pts/3        komputer01       Tue Feb 11 15:55 - 15:56  (00:01)
root     pts/0        :0.0             Tue Feb 11 10:57   still logged in
root     tty1         :0               Tue Feb 11 10:57   still logged in
mfauzy   pts/2        192.168.1.3      Tue Feb 11 10:10 - 17:22  (07:11)
reboot   system boot  2.6.32-358.el6.x Tue Feb 11 10:09 - 10:13 (7+00:04)
root     pts/0        :0.0             Tue Feb 11 08:20 - down   (01:47)
root     tty1         :0               Tue Feb 11 08:20 - down   (01:48)
reboot   system boot  2.6.32-358.el6.x Wed Nov 20 15:30 - 18:39  (03:08)

--More--


Manual Dalam Talian[sunting]

Melihat Manual Dalam Talian - man[sunting]

Manual arahan-arahan dalam Linux boleh didapati secara dalam talian dengan menggunakan arahan man. Ia mengandungi maklumat lengkap berkenaan arahan tersebut berserta opsyen yang boleh digunakan. Biasanya fail manual terletak dalam direktori /usr/share/man.


Jika anda ingin dapatkan manual bagi arahan cp sila taip arahan di bawah.

[guest@komputer01 ~]$ man cp


Paparan berikut akan dikeluarkan.

CP(1)                            User Commands                           CP(1)

NAME
       cp - copy files and directories

SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

       Mandatory  arguments  to  long  options are mandatory for short options
       too.

       -a, --archive
              same as -dR --preserve=all

       --backup[=CONTROL]
              make a backup of each existing destination file

       -b     like --backup but does not accept an argument


Sekiranya anda ingin mencari manual yang mengandungi rentetan tertentu, gunakan opsyen -k.

[guest@komputer01 ~]$ man -k transfer
Net::SMTP            (3pm)  - Simple Mail Transfer Protocol Client
bluetooth-sendto     (1)  - GTK application for transfering files over Bluetooth
curl                 (1)  - transfer a URL
ftp                  (1)  - Internet file transfer program
ftp [pftp]           (1)  - Internet file transfer program
httpd                (8)  - Apache Hypertext Transfer Protocol Server
lftp                 (1)  - Sophisticated file transfer program
sendfile             (2)  - transfer data between file descriptors
sftp                 (1)  - secure file transfer program
[guest@komputer01 ~]$

Contoh di atas akan menyenaraikan manual yang mengandungi arahan berkaitan dengan transfer. Laksanakan arahan man curl jika anda ingin tahu lebih lanjut mengenai arahan curl.


Dalam Linux terdapat banyak arahan yang boleh kita guna. Adalah mustahil untuk mahir kesemuanya dalam masa yang singkat. Adalah lebih baik jika kita belajar menggunakan arahan yang berkaitan sahaja.


Andaikan anda sudah mahir dengan finger. Lihat di hujung manualnya di bahagian SEE ALSO. Ada tersenarai arahan-arahan Linux yang berkaitan seperti chfn, passwd, w dan who.

 
[guest@komputer01 ~]$ man finger
.
.
.
SEE ALSO
     chfn(1), passwd(1), w(1), who(1)

HISTORY
     The finger command appeared in 3.0BSD.

Linux NetKit (0.17)             August 15, 1999            Linux NetKit (0.17)


Arahan chfn digunakan untuk menukar nama pengguna. Sudah tentu ada kaitan dengan finger kerana finger paparkan maklumat pengguna. Begitulah juga dengan tiga arahan lain.


Belajar Linux dengan cara ini adalah lebih baik dan menjimatkan masa. Ia mengelakkan kita daripada mencuba satu persatu arahan yang terdapat di dalam direktori /bin, /usr/bin atau /usr/sbin. Tidak semua arahan tersebut berguna untuk anda kerana sebahagiannya hanya boleh dilaksanakan oleh Pentadbir Sistem.


Format Dokumen Untuk Paparan - nroff[sunting]

Arahan nroff digunakan untuk melihat fail manual dalam format yang mudah dibaca. Fail ini biasanya berpenambahan 1, misalnya fail awk.1 yang merupakan fail manual bagi arahan awk. Ia sukar dibaca jika dilihat dengan arahan more atau cat.

[guest@komputer01 ~]$ more awk.1
.ds PX \s-1POSIX\s+1
.ds UX \s-1UNIX\s+1
.ds AN \s-1ANSI\s+1
.ds GN \s-1GNU\s+1
.ds AK \s-1AWK\s+1
.de EX
.nf
.ft CW
..
.de EE
.ft R
.fi
..
.ds EP \fIGAWK: Effective AWK Programming\fP
.if !\n(.g \{\
.       if !\w|\*(lq| \{\
.               ds lq ``
.               if \w'\(lq' .ds lq "\(lq
.       \}
.       if !\w|\*(rq| \{\
.               ds rq ''
.               if \w'\(rq' .ds rq "\(rq
.       \}


Arahan nroff dengan opsyen –man boleh digunakan untuk melihatnya dalam format mudah dibaca.

[guest@komputer01 ~]$ nroff -man awk.1
GAWK(1)                        Utility Commands                        GAWK(1)



NAME
       gawk - pattern scanning and processing language

SYNOPSIS
       gawk [ POSIX or GNU style options ] -f program-file [ -- ] file ...
       gawk [ POSIX or GNU style options ] [ -- ] program-text file ...

       pgawk [ POSIX or GNU style options ] -f program-file [ -- ] file ...
       pgawk [ POSIX or GNU style options ] [ -- ] program-text file ...

DESCRIPTION
       Gawk  is  the  GNU Project’s implementation of the AWK programming lan-
       guage.  It conforms to the definition of  the  language  in  the  POSIX
       1003.1  Standard.   This version in turn is based on the description in
       The AWK Programming Language, by Aho, Kernighan, and  Weinberger,  with
       the additional features found in the System V Release 4 version of UNIX
       awk.  Gawk also provides more recent Bell Laboratories awk  extensions,
       and a number of GNU-specific extensions.


Jika guna arahan nroff –man awk.1 | more, hasil paparan adalah sama seperti arahan man awk.


Utiliti Linux[sunting]

Linux mempunyai pelbagai utiliti yang sangat berguna kepada pengguna. Utiliti ini biasa digunakan dalam pengaturcaraan shell. Ia juga memudahkan kerja-kerja mentadbir sistem seperti penyimpanan fail-fail penting, pengawasan sistem atau pembersihan ruang storan.


Kalkulator - bc[sunting]

Guna arahan bc untuk melakukan pengiraan. Anda boleh taip bc sahaja atau berserta opsyen -lq.

[guest@komputer01 ~]$ bc -lq
1 + 2                               (kemudian tekan [Enter])
3
5 * 3                               (kemudian tekan [Enter])
15
100 / 7                             (kemudian tekan [Enter])
14.28571428571428571428
[guest@komputer01 ~]$


Tekan [Ctrl] dan [D] serentak untuk keluar dari bc.


Papar Tarikh/Masa - date, cal[sunting]

Untuk mengetahui tarikh dan masa ketika ini, taip arahan date.

[guest@komputer01 ~]$ date
Mon Feb 10 14:20:38 MYT 2014
[guest@komputer01 ~]$

Output di atas menunjukkan tarikh 10 Februari 2014 bersamaan hari Isnin, 02:20 petang waktu Malaysia (MYT).


Sekarang paparkan kalendar tahun ini dengan menggunakan utiliti cal. Secara lalai ia akan paparkan bulan dan tahun ketika arahan ini dilaksanakan.

[guest@komputer01 ~]$ cal
    February 2014
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
[guest@komputer01 ~]$


Jika anda ingin lihat kalendar tahun 1971, taip arahan cal 1971. Perlu diingatkan di sini bahawa arahan cal 71 akan paparkan kalendar tahun 0071 dan bukan 1971.

[guest@komputer01 ~]$ cal 1971
                               1971

       January               February                 March
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                1  2       1  2  3  4  5  6       1  2  3  4  5  6
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    7  8  9 10 11 12 13
10 11 12 13 14 15 16   14 15 16 17 18 19 20   14 15 16 17 18 19 20
17 18 19 20 21 22 23   21 22 23 24 25 26 27   21 22 23 24 25 26 27
24 25 26 27 28 29 30   28                     28 29 30 31
31
        April                   May                   June
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
             1  2  3                      1          1  2  3  4  5
 4  5  6  7  8  9 10    2  3  4  5  6  7  8    6  7  8  9 10 11 12
11 12 13 14 15 16 17    9 10 11 12 13 14 15   13 14 15 16 17 18 19
18 19 20 21 22 23 24   16 17 18 19 20 21 22   20 21 22 23 24 25 26
25 26 27 28 29 30      23 24 25 26 27 28 29   27 28 29 30
                       30 31
        July                  August                September
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
             1  2  3    1  2  3  4  5  6  7             1  2  3  4
 4  5  6  7  8  9 10    8  9 10 11 12 13 14    5  6  7  8  9 10 11
11 12 13 14 15 16 17   15 16 17 18 19 20 21   12 13 14 15 16 17 18
18 19 20 21 22 23 24   22 23 24 25 26 27 28   19 20 21 22 23 24 25
25 26 27 28 29 30 31   29 30 31               26 27 28 29 30

       October               November               December
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                1  2       1  2  3  4  5  6             1  2  3  4
 3  4  5  6  7  8  9    7  8  9 10 11 12 13    5  6  7  8  9 10 11
10 11 12 13 14 15 16   14 15 16 17 18 19 20   12 13 14 15 16 17 18
17 18 19 20 21 22 23   21 22 23 24 25 26 27   19 20 21 22 23 24 25
24 25 26 27 28 29 30   28 29 30               26 27 28 29 30 31
31

[guest@komputer01 ~]$


Andaikan anda lahir pada 5 Julai 1976 dan ingin tahu hari pada tarikh tersebut, taip arahan cal 7 1976 untuk paparkan bulan Julai sahaja.

[guest@komputer01 ~]$ cal 7 1976
      July 1976
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

[guest@komputer01 ~]$

5 Julai 1976 jatuh pada hari Isnin.


Manipulasi Baris Fail Teks - sort, uniq[sunting]

Utiliti seperti sort membolehkan anda mengisih kandungan fail teks sama ada mengikut susunan menaik atau menurun.


Katakan anda mempunyai fail teks bernama perkataan.txt dan anda hendak isih kandungan fail tersebut. Guna arahan cat untuk lihat dahulu kandungan fail.

[guest@komputer01 ~]$ cat perkataan.txt
batu
zamrud
kucing
batu
astaka
anakanda
barang
tidur
[guest@komputer01 ~]$

Kandungannya tidak disusun mengikut abjad.


Guna arahan sort untuk mengisihnya mengikut abjad.

[guest@komputer01 ~]$ sort perkataan.txt
anakanda
astaka
barang
batu
batu
kucing
tidur
zamrud
[guest@komputer01 ~]$


Pada fail yang sama, arahan uniq akan pastikan tidak ada baris atau perkataan yang sama berulang.

[guest@komputer01 ~]$ sort perkataan.txt | uniq
anakanda
astaka
barang
batu
kucing
tidur
zamrud
[guest@komputer01 ~]$

Arahan uniq perlu dilakukan selepas arahan sort untuk pastikan kandungan fail diisih terlebih dahulu. Dengan itu perkataan batu dalam fail tersebut akan dipaparkan sekali sahaja.


Arahan sort atau uniq tidak akan mengubah kandungan fail perkataan.txt. Ia hanya paparkan hasil pengisihan pada skrin. Sekiranya hasil tersebut hendak disimpan ke dalam fail baru, gunakan simbol > seperti berikut.

[guest@komputer01 ~]$ sort perkataan.txt | uniq  > perkataan_baru.txt
[guest@komputer01 ~]$

Hasil isihan akan terus dimasukkan ke dalam fail bernama perkataan_baru.txt. Gunakan arahan cat untuk melihatnya.


[guest@komputer01 ~]$ du 
8       ./.ssh
4       ./tugasan
92      .
[guest@komputer01 ~]$ du | sort -k1n
4       ./tugasan
8       ./.ssh
92      .

Guna opsyen -n untuk mengisih nombor. Opsyen -k1n digunakan kerana kita hendak mengisih saiz direktori. Jika hendak isih direktori pula guna opsyen -k2.


Cari Rentetan/Perkataan - grep[sunting]

Cari perkataan atau rentetan dalam fail teks dengan menggunakan arahan grep.

[guest@komputer01 ~]$ cat perkataan.txt
batu
zamrud
kucing
batu
astaka
anakanda
barang
tidur
Barang
[guest@komputer01 ~]$


Andaikan kita ingin cari perkataan batu di dalam fail perkataan.txt.

[guest@komputer01 ~]$ grep batu perkataan.txt
batu
batu
[guest@komputer01 ~]$

Terdapat dua baris yang mengandungi perkataan batu dalam fail tersebut.


Cuba cari rentetaan ba pula. Terdapat tiga baris yang mengandungi rentetan ba.

[guest@komputer01 ~]$ grep ba perkataan.txt
batu
batu
barang
[guest@komputer01 ~]$


Guna opsyen -E untuk cari perkataan batu atau barang atau zamrud.

[guest@komputer01 ~]$ grep -E 'batu|barang|zamrud' perkataan.txt
batu
zamrud
batu
barang
[guest@komputer01 ~]$


Barang dan barang dianggap berbeza kerana salah satu daripadanya menggunakan huruf besar.

[guest@komputer01 ~]$ grep -i barang perkataan.txt
barang
Barang
[guest@komputer01 ~]$

Guna grep dengan opsyen -i sekiranya anda ingin abaikan huruf kecil atau besar.


Manipulasi Rentetan/Perkataan/Baris - awk, sed[sunting]

Fail /etc/passwd menyimpan maklumat pengguna dalam sistem. Ia adalah satu pangkalan data dalam bentuk fail rata (flat file database).


Nota:
Bagi tujuan pembelajaran penulis hanya paparkan tiga baris sahaja.

[guest@komputer01 ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
guest:x:101:100:Tetamu,KL,03 1234567,03 7654321:/home/guest:/bin/bash
mfauzy:x:102:100:M Fauzy:/home/mfauzy:/bin/bash
[guest@komputer01 ~]$

Setiap baris mempunyai tujuh bahagian atau ruang yang dipisahkan dengan aksara : (dua titik bertindih).


[guest@komputer01 ~]$ awk -F: '{ print $1 }' /etc/passwd
root
guest
mfauzy
[guest@komputer01 ~]$ 

Guna arahan awk dengan opsyen pemisah ruang aksara : untuk paparkan ruang pertama sahaja iaitu akaun pengguna.


[guest@komputer01 ~]$ awk -F: '{ print "Akaun: "$1" Nama: "$5 }' /etc/passwd|grep -E 'guest|mfauzy'
Akaun: guest Nama: Tetamu,KL,03 1234567,03 7654321
Akaun: mfauzy Nama: M Fauzy
[guest@komputer01 ~]$

Contoh di atas adalah gabungan arahan awk dan grep.


Secara lalai tanpa opsyen -F, pemisah ruangnya adalah ruang kosong.

[guest@komputer01 ~]$ echo "daging ayam kampung"
daging ayam kampung
[guest@komputer01 ~]$ echo "daging ayam kampung" | awk '{ print $3" "$2" "$1 }'
kampung ayam daging
[guest@komputer01 ~]$ 

Arahan awk boleh mengambil output dari arahan lain seperti echo untuk dijadikan sebagai input. Ia mencetak ruang ketiga (kampung) terlebih dahulu diikuti ruang kedua (ayam) dan pertama (daging).


Arahan sed pula boleh digunakan untuk mengubah teks.

[guest@komputer01 ~]$ echo "daging ayam kampung" | sed -e 's/kampung/bandar/'
daging ayam bandar
[guest@komputer01 ~]$

Arahan di atas menukar perkataan kampung kepada bandar.


[guest@komputer01 ~]$ echo "daging ayam kampung" | sed -e 's/kampung/bandar/' -e 's/daging/sate/'
sate ayam bandar
[guest@komputer01 ~]$

Arahan di atas pula jika anda ingin tukar lebih dari satu perkataan iaitu perkataan kampung ditukar kepada bandar manakala perkataan daging ditukar kepada sate.


Carian Fail/Direktori - locate, find[sunting]

Guna arahan locate untuk mencari fail atau direktori berdasarkan rentetan yang diberi.

[guest@komputer01 ~]$ locate chmod
/bin/chmod
/usr/lib64/perl5/auto/POSIX/chmod.al
/usr/share/man/man1/chmod.1.gz
/usr/share/man/man1p/chmod.1p.gz
/usr/share/man/man2/chmod.2.gz
/usr/share/man/man2/fchmod.2.gz
/usr/share/man/man2/fchmodat.2.gz
/usr/share/man/man3p/chmod.3p.gz
/usr/share/man/man3p/fchmod.3p.gz
[guest@komputer01 ~]$


Arahan find pula mengandungi pelbagai fungsi dan sangat berguna kepada seorang Pentadbir Sistem.

[guest@komputer01 ~]$ find . -print
.
./hello.c
./.bash_profile
./fail.txt.gz
./cuba1
./tugasan
./fail.tar
./cuba2
./.history
./.bashrc
./prog.sh
./.bash_logout
./failbaru
./perkataan.txt
./.bash_history
[guest@komputer01 ~]$

Arahan find . dan find -print juga menghasilkan output yang sama seperti di atas. Ia akan paparkan semua fail dan direktori bermula dari direktori semasa (.).


Arahan berikut menggunakan opsyen -type f untuk mencari fail bernama cuba1.

[guest@komputer01 ~]$ find . -type f -name cuba1
./cuba1
[guest@komputer01 ~]$

Jika cuba1 adalah direktori, tiada output akan dipaparkan. Guna opsyen -type d untuk mencari direktori sahaja.


[guest@komputer01 ~]$ find . -type f -name \*.c -o -name \*.gz
./hello.c
./fail.txt.gz
[guest@komputer01 ~]$ find . -type f \( -name "*.c" -o -name "*.gz" \)
./hello.c
./fail.txt.gz
[guest@komputer01 ~]$

Dua arahan di atas akan menghasilkan output yang sama.


[guest@komputer01 ~]$ find /home/guest -type f -exec ls -al {} \;
-rw-r--r--. 1 guest users 38 Jan 29 12:30 /home/guest/hello.c
-rw-r--r--. 1 guest users 176 Feb 22  2013 /home/guest/.bash_profile
-rw-r--r--. 1 guest users 34 Jan 29 13:57 /home/guest/fail.txt.gz
-rw-r--r--. 1 guest users 0 Jan 29 14:33 /home/guest/cuba1
-rw-r--r--. 1 guest users 10240 Feb  5 16:32 /home/guest/fail.tar
-rw-r--r--. 1 guest users 0 Feb 14 10:13 /home/guest/cuba2
-rw-------. 1 guest users 104 Jan 27 15:00 /home/guest/.history
-rw-r--r--. 1 guest users 124 Feb 22  2013 /home/guest/.bashrc
-rwxr-xr-x. 1 guest users 5 Jan 29 12:31 /home/guest/prog.sh
-rw-r--r--. 1 guest users 18 Feb 22  2013 /home/guest/.bash_logout
-rw-r--r--. 1 guest users 79 Feb 17 14:01 /home/guest/failbaru
-rw-r--r--. 1 guest users 53 Feb 10 15:23 /home/guest/perkataan.txt
-rw-------. 1 guest users 9318 Feb 19 12:29 /home/guest/.bash_history
[guest@komputer01 ~]$

Arahan find mempunyai opsyen -exec yang membolehkan ia melaksanakan arahan lain terhadap fail atau direktori yang dicari. Contoh di atas akan senaraikan fail yang dicari menggunakan arahan ls -al.


[guest@komputer01 ~]$ find /home/guest -type f -mtime -1 -exec ls -al {} \;
-rw-------. 1 guest users 9318 Feb 19 12:29 /home/guest/.bash_history
[guest@komputer01 ~]$

Opsyen -mtime -1 digunakan untuk mencari fail yang telah diubah suai (modified) sejak 1 hari (24 jam) yang lalu. Opsyen -mtime +1 pula akan paparkan sebaliknya iaitu fail yang telah diubah suai selepas 1 hari.


Antara opsyen lain yang sangat berguna ialah jika kita ingin mencari fail mengikut saiznya.

[guest@komputer01 ~]$ find . -size -50c -exec ls -al {} \;
-rw-r--r--. 1 guest users 38 Jan 29 12:30 ./hello.c
-rw-r--r--. 1 guest users 34 Jan 29 13:57 ./fail.txt.gz
-rw-r--r--. 1 guest users 0 Jan 29 14:33 ./cuba1
-rw-r--r--. 1 guest users 0 Feb 14 10:13 ./cuba2
-rwxr-xr-x. 1 guest users 5 Jan 29 12:31 ./prog.sh
-rw-r--r--. 1 guest users 18 Feb 22  2013 ./.bash_logout
[guest@komputer01 ~]$

Opsyen -size -50c memaparkan fail bersaiz kurang dari 50 bytes. Jika anda mahu cari saiz lebih dari 100 bytes guna opsyen -size +100c. Anda juga boleh cari fail bersaiz tepat 777 bytes dengan opsyen -size 777c.


Komunikasi[sunting]

Interaksi Masa Sebenar - write, talk[sunting]

Pengguna boleh berinteraksi di antara satu sama lain dengan menggunakan arahan write dan talk. Arahan write digunakan untuk menghantar mesej kepada pengguna yang berada dalam host atau pelayan yang sama. Gunakan arahan finger untuk lihat pengguna yang sedang dalam talian.

[guest@komputer01 ~]$ finger
Login     Name       Tty      Idle  Login Time   Office     Office Phone
guest     Tetamu     pts/1          Feb 10 14:15 (192.168.1.2)
mfauzy    M Fauzy    pts/0       6  Feb 10 15:58 (192.168.1.3)
[guest@komputer01 ~]$

Kelihatan pengguna mfauzy sedang menggunakan sistem yang sama.


Gunakan arahan write untuk berkomunikasi dengan mfauzy.

[guest@komputer01 ~]$ write mfauzy
hi
[guest@komputer01 ~]$

Selepas menaip mesej tekan [Enter]. Kemudian taip mesej baru atau tekan kunci [Ctrl] dan [D] serentak untuk tamatkan komunikasi.


Berikut adalah apa yang akan kelihatan dalam skrin komputer yang digunakan oleh mfauzy.

Message from guest@komputer01 on pts/1 at 16:11 ...
hi
EOF


Arahan talk pula biasa digunakan untuk berinteraksi dengan pengguna dalam pelayan yang sama ataupun dengan pengguna yang berada di pelayan lain.

[guest@komputer01 ~]$ talk mfauzy


Skrin di bawah akan dipaparkan. Ia menunggu respon dari mfauzy.

[Waiting for your party to respond]


Pada skrin komputer mfauzy pula akan dipaparkan mesej untuk berbual dari pengguna guest

Message from Talk_Daemon@komputer01 at 8:49 ...
talk: connection requested by guest@komputer01.
talk: respond with:  talk guest@komputer01


Pengguna mfauzy perlu menjawab dengan menaip arahan berikut pada prompt.

[mfauzy@komputer01 ~]$ talk guest@komputer01


Hasilnya skrin di bawah akan dipaparkan.

[Connection established]




hai
_____________________________________________________________________________






helo

Apa yang anda taip akan keluar di bahagian atas manakala apa yang mfauzy taip akan keluar di bahagian bawah.


Komunikasi boleh ditamatkan dengan menekan kunci [Ctrl] dan [C] serentak. Sila gunakan arahan man write dan man talk untuk dapatkan keterangan lanjut penggunaan arahan-arahan tersebut.


Mel Elektronik - mail, mailx[sunting]

Pengguna boleh menghantar mel elektronik kepada pengguna lain dan membaca e-mel yang diterima dengan menggunakan arahan mail atau mailx. Cuba taip arahan seperti dibawah.

[guest@komputer01 ~]$ mail
No mail for guest
[guest@komputer01 ~]$ mailx
No mail for guest
[guest@komputer01 ~]$

Ia menunjukkan bahawa pengguna guest tidak mempunyai sebarang e-mel.


Cuba hantar e-mel kepada diri sendiri dengan menggunakan arahan berikut.

[guest@komputer01 ~]$ mail guest
Subject: hi                       (taip subjek kemudian tekan [Enter])
Hi. Apa khabar?                   (taip mesej kemudian tekan [Enter])
EOT                               (tekan [Ctrl] dan [d] serentak untuk tamatkan mesej)
[guest@komputer01 ~]$


Selain dari menekan kunci [Ctrl] dan kunci [D] serentak untuk menghantar mesej, anda juga boleh menaip "." (dot) sahaja di baris baru kemudian tekan kunci [Enter].

[guest@komputer01 ~]$ mail guest
Subject: Helo
Helo. Apa khabar?
.
EOT
[guest@komputer01 ~]$


Cuba baca e-mel yang dihantar dengan menaip arahan mail atau mailx. E-mel tersebut akan dipaparkan seperti di bawah. Sekiranya anda ada lebih dari satu e-mel dalam peti surat, apa yang dipaparkan adalah kandungan e-mel terbaru.

[guest@komputer01 ~]$ mail
Heirloom Mail version 12.4 7/29/08.  Type ? for help.
"/var/spool/mail/guest": 1 message 1 new
>N  1 Tetamu                Tue Feb 11 13:47  20/808   "Helo"
&


Tekan [Enter] untuk baca email tersebut.

Message  1:
From guest@komputer01.mydomain.com  Tue Feb 11 13:47:15 2014
Return-Path: <guest@komputer01.mydomain.com>
From: Tetamu <guest@komputer01.mydomain.com>
Date: Tue, 11 Feb 2014 13:47:15 +0800
To: guest@komputer01.mydomain.com
Subject: Helo
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
Status: R

Helo. Apa khabar?

& x

Kemudian tekan taip x untuk keluar dari program mail.


Cuba hantar e-mel kepada pengguna lain yang menggunakan pelayan yang sama.

[guest@komputer01 ~]$ mail mfauzy
Subject: Hi mfauzy
Hi
.
EOT
[guest@komputer01 ~]$


Sekarang cuba arahan finger terhadap mfauzy.

[guest@komputer01 ~]$ finger mfauzy
Login: mfauzy                           Name: M Fauzy
Directory: /home/mfauzy                 Shell: /bin/bash
On since Tue Feb 11 10:10 (MYT) on pts/2 from 192.168.1.3
   6 minutes 19 seconds idle
New mail received Tue Feb 11 13:53 2014 (MYT)
     Unread since Thu Jan 30 11:31 2014 (MYT)
No Plan.
[guest@komputer01 ~]$

Kita boleh lihat maklumat mfauzy yang mempunyai e-mel baru pada 11 Febuari. Terdapat juga maklumat bahawa beliau tidak membaca e-mel sejak 30 Januari.


[guest@komputer01 ~]$ mail cubaan
Subject: cubaan
cubaan 1 2 3
.
EOT
[guest@komputer01 ~]$ /home/guest/dead.letter... Saved message in /home/guest/dead.letter
[guest@komputer01 ~]$

Sekiranya nama pengguna tidak wujud, e-mel yang dihantar akan disimpan dalam fail bernama dead.letter.


Rangkaian[sunting]

Rangkaian merupakan sekumpulan komputer yang boleh berkomunikasi di antara satu sama lain. Terdapat arahan tertentu dalam Linux yang boleh digunakan untuk mencapai sumber-sumber dalam komputer di tempat lain.


Uji Sambungan Ke Sistem Lain - ping[sunting]

Guna arahan ping untuk menguji sambungan ke komputer jauh.

[guest@komputer01 ~]$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=249 time=0.984 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=249 time=0.695 ms
^C
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1565ms
rtt min/avg/max/mdev = 0.695/0.839/0.984/0.147 ms
[guest@komputer01 ~]

Tekan kunci [Ctrl] dan [C] serentak untuk tamatkan arahan ping. 0% packet loss bermakna tahap sambungan adalah baik iaitu tiada kehilangan paket yang dihantar.


Capaian Ke Sistem Lain - telnet, ssh[sunting]

Berikut ialah penggunaan telnet untuk capaian ke komputer jauh.

[guest@komputer01 ~]$ telnet komputer01
Trying 192.168.1.2...
Connected to komputer01.
Escape character is '^]'.
CentOS release 6.4 (Final)
Kernel 2.6.32-358.el6.x86_64 on an x86_64
login: guest
Password:
Last login: Tue Feb 11 10:10:30 from 192.168.1.1
[guest@komputer01 ~]$

Setelah masuk ke dalam sistem berkenaan, kita boleh lakukan arahan-arahan biasa seperti membaca e-mel dan mengubahsuai fail.


Untuk keluar dari sistem taip exit pada prompt.

[guest@komputer01 ~]$ exit
logout
Connection closed by foreign host.
[guest@komputer01 ~]$


Terdapat arahan dalam telnet yang boleh digunakan bagi tujuan tertentu. Ia boleh dilihat dengan menaip telnet diikuti dengan menekan kunci [Enter]. Pada prompt telnet taip ? kemudian tekan [Enter].

[guest@komputer01 ~]$ telnet
telnet> ?
Commands may be abbreviated.  Commands are:

close           close current connection
logout          forcibly logout remote user and close the connection
display         display operating parameters
mode            try to enter line or character mode ('mode ?' for more)
open            connect to a site
quit            exit telnet
send            transmit special characters ('send ?' for more)
set             set operating parameters ('set ?' for more)
unset           unset operating parameters ('unset ?' for more)
status          print status information
toggle          toggle operating parameters ('toggle ?' for more)
slc             change state of special charaters ('slc ?' for more)
z               suspend telnet
!               invoke a subshell
environ         change environment variables ('environ ?' for more)
?               print help information
telnet>


Jika anda tidak mahu orang lain lihat sistem di tempat lain yang anda masuk, ia boleh dilakukan dengan cara begini. Gunakan arahan open dalam sesi telnet tersebut.

[guest@komputer01 ~]$ telnet
telnet> open komputer01
Trying 192.168.1.200...
Connected to komputer01.
Escape character is '^]'.
CentOS release 6.4 (Final)
Kernel 2.6.32-358.el6.x86_64 on an x86_64
login: guest
Password:
Last login: Tue Feb 11 14:17:52 from komputer01
[guest@komputer01 ~]$


Bila pengguna lain cuba lihat proses anda dengan arahan ps, mereka cuma dapat lihat proses telnet sahaja tanpa ketahui sistem apa yang anda sedang capai.

[guest@komputer01 ~]$ ps -ef|grep guest
root      1561  1524  0 10:10 ?        00:00:00 sshd: guest [priv]
guest     1565  1561  0 10:10 ?        00:00:01 sshd: guest@pts/1
guest     1566  1565  0 10:10 pts/1    00:00:00 -bash
guest     3803  1566  0 14:37 pts/1    00:00:00 telnet
root      3805  3804  0 14:37 ?        00:00:00 login -- guest
guest     3809  3805  0 14:38 pts/3    00:00:00 -bash
guest     3831  3809  0 14:39 pts/3    00:00:00 ps -ef
guest     3832  3809  0 14:39 pts/3    00:00:00 grep guest
guest02   3806  3807  0 11:23 pts/2    00:00:00 telnet tiger.itc.univie.ac.at 6667


Arahan ssh pula menyediakan capaian ke komputer jauh yang lebih selamat berbanding telnet kerana komunikasinya dalam bentuk enkrip.

[guest@komputer01 ~]$ ssh komputer01
The authenticity of host 'komputer01 (192.168.1.2)' can't be established.
RSA key fingerprint is f3:f6:c4:c7:67:1d:d3:1f:fa:f8:db:64:38:a2:13:eb.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'komputer01,192.168.1.2' (RSA) to the list of known hosts.
guest@komputer01's password:
Last login: Tue Feb 11 14:38:03 2014 from komputer01
[guest@komputer01 ~]$


Penghantaran/Pengambilan Fail - ftp, sftp[sunting]

Arahan ftp boleh digunakan untuk mengambil fail dari satu komputer atau menghantar fail ke komputer lain.


Andaikan anda hendak mengambil fail dari pelayan ftp seperti ftp.jaring.my. Arahannya adalah seperti berikut.

[guest@komputer01 ~]$ ftp ftp.jaring.my
Connected to ftp.jaring.my
220  Jaring FTP service.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (ftp.jaring.my:guest): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>


Untuk mengetahui arahan-arahan yang boleh digunakan dalam program ftp, sila taip ? pada prompt.

ftp> ?
Commands may be abbreviated.  Commands are:

!               debug           mdir            sendport        site
$               dir             mget            put             size
account         disconnect      mkdir           pwd             status
append          exit            mls             quit            struct
ascii           form            mode            quote           system
bell            get             modtime         recv            sunique
binary          glob            mput            reget           tenex
bye             hash            newer           rstatus         tick
case            help            nmap            rhelp           trace
cd              idle            nlist           rename          type
cdup            image           ntrans          reset           user
chmod           lcd             open            restart         umask
close           ls              prompt          rmdir           verbose
cr              macdef          passive         runique         ?
delete          mdelete         proxy           send
ftp>


Gunakan arahan dir atau ls untuk melihat direktori atau fail yang ada di dalam pelayan tersebut. Arahan cd untuk masuk ke direktori lain, arahan get dan send untuk mengambil dan menghantar fail. Selepas selesai proses menghantar atau mengambil fail, anda boleh keluar dari program ftp ini dengan arahan bye.

ftp> dir
227 Entering Passive Mode (192,228,250,71,72,101)
150 Here comes the directory listing.
drwx------    2 0        0              80 Jul 09  2008 etc
drwx--x--x   25 12454    12454        2048 Nov 29 04:18 home
drwxrwxrwt    3 14       1002        74752 Dec 19 03:22 incoming
drwxrwxrwt    2 14       1002           80 Nov 25 07:43 incoming.bad
-rw-r--r--    1 0        0           10240 Jul 04  2013 incoming.bad.tar
drwxr-xr-x    4 0        14           1024 Oct 08 08:30 pub
226 Directory send OK.
ftp> bye
221 Goodbye.
[guest@komputer01 ~]$ 


Arahan sftp pula berfungsi sama seperti ftp cuma tahap keselamatannya lebih baik kerana penghantaran fail dilakukan dalam bentuk enkrip.

[guest@komputer01 ~]$ sftp
usage: sftp [-1Cv] [-B buffer_size] [-b batchfile] [-F ssh_config]
            [-o ssh_option] [-P sftp_server_path] [-R num_requests]
            [-S program] [-s subsystem | sftp_server] host
       sftp [user@]host[:file ...]
       sftp [user@]host[:dir[/]]
       sftp -b batchfile [user@]host
[guest@komputer01 ~]$


Andaikan anda ada akaun guest di komputer jauh yang mempunyai alamat IP 192.168.1.3. Taip arahan seperti di bawah.

[guest@komputer01 ~]$ sftp 192.168.1.3
Connecting to 192.168.1.3...
The authenticity of host '192.168.1.3 (192.168.1.3)' can't be established.
RSA key fingerprint is 15:89:5f:0a:42:66:4f:97:5d:18:25:74:1b:13:41:b6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.3' (RSA) to the list of known hosts.
guest@192.168.1.3's password:
sftp>

Jawab yes jika hendak teruskan capaian kemudian isi kata laluan.


sftp> ?
Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
chgrp grp path                     Change group of file 'path' to 'grp'
chmod mode path                    Change permissions of file 'path' to 'mode'
chown own path                     Change owner of file 'path' to 'own'
df [-hi] [path]                    Display statistics for current directory or
                                   filesystem containing 'path'
exit                               Quit sftp
get [-P] remote-path [local-path]  Download file
help                               Display this help text
lcd path                           Change local directory to 'path'
lls [ls-options [path]]            Display local directory listing
lmkdir path                        Create local directory
ln oldpath newpath                 Symlink remote file
lpwd                               Print local working directory
ls [-1aflnrSt] [path]              Display remote directory listing
lumask umask                       Set local umask to 'umask'
mkdir path                         Create remote directory
progress                           Toggle display of progress meter
put [-P] local-path [remote-path]  Upload file
pwd                                Display remote working directory
quit                               Quit sftp
rename oldpath newpath             Rename remote file
rm path                            Delete remote file
rmdir path                         Remove remote directory
symlink oldpath newpath            Symlink remote file
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help
sftp>

Dalam prompt sftp taip ? (tanda soal) untuk senaraikan semua arahan yang boleh digunakan. Arahan yang biasa adalah seperti get untuk muat turun fail dan put untuk memuat naik fail. Taip bye atau quit untuk keluar dari sftp.


Masalah dan Penyelesaian[sunting]

Command not found[sunting]

Sekiranya anda cuba laksanakan satu arahan tetapi ia tidak dijumpai di mana mesej "-bash: arahan: command not found" dipaparkan, maka terdapat beberapa kemungkinan.

  • Arahan tersebut tidak wujud atau anda tersilap taip.
  • Pasang pakej yang mengandungi arahan tersebut atau minta Pentadbir Sistem memasangnya untuk anda.
  • Direktori di mana arahan tersebut berada tidak dimasukkan ke dalam pembolehubah PATH dalam skrip login.


Guna arahan find untuk mencari di mana arahan tersebut berada. Andaikan anda ingin mencari arahan xyz, caranya adalah seperti berikut:-

[guest@komputer01 ~]$ find / -name xyz -print
 find: `/opt/lost+found': Permission denied
 .
 .
 find: `/usr/lost+found': Permission denied
 /opt/apps/bin/xyz
[guest@komputer01 ~]$

Dari maklumat di atas didapati bahawa arahan xyz terletak dalam direktori /opt/apps/bin.


Pastikan direktori ini dimasukkan dalam pembolehubah PATH di dalam skrip login (.bash_profile). Setiap direktori mestilah dijarakkan dengan aksara : (dua titik bertindih) di antara satu sama lain.

.
PATH=$PATH:$HOME/bin:/opt/apps/bin
.



Connection refused[sunting]

Cubaan untuk mencapai komputer jauh gagal dengan mesej "Connection refused".

  • Perkhidmatan yang cuba digunakan tidak dipasang atau dihidupkan di komputer tersebut.



Destination Host Unreachable[sunting]

Ujian sambungan atau capaian ke komputer jauh gagal.

  • Komputer jauh tidak hidup atau tidak beroperasi.
  • Periksa sama ada berlaku masalah pada rangkaian.



No such file or directory[sunting]

Anda akan dapat mesej ini jika arahan dilakukan kepada fail atau direktori yang tidak wujud.

  • Periksa dengan arahan ls untuk melihat sama ada fail atau direktori tersebut wujud.



No such process[sunting]

Biasanya berlaku bila anda cuba hapuskan proses yang tidak wujud menggunakan arahan kill.

  • Periksa sekali lagi menggunakan arahan ps sama ada ID proses adalah betul.



Permission denied[sunting]

Berlaku ketika cuba baca fail, masuk ke dalam direktori, melaksanakan arahan tertentu dan sebagainya.

  • Anda memang tidak diberikan kebenaran sama sekali untuk melakukan aktiviti tersebut.
  • Pemilik atau Pentadbir Sistem perlu ubah mod keizinan pada fail atau direktori berkenaan.



Unknown host[sunting]

Komputer yang anda cuba capai tidak dikenali oleh sistem.

  • Gunakan alamat IP sebagai ganti kepada nama komputer.
  • Tambah alamat IP dan nama komputer berkenaan ke dalam fail /etc/hosts.


Penafian dan Lesen[sunting]


Maklumat yang terkandung di dalam panduan ini adalah untuk tujuan pembelajaran dan tidak dapat dijamin ketepatan dan kesahihannya. Sebarang kerugian atau kerosakan yang timbul akibat daripada penggunaan panduan ini adalah di atas risiko pengguna sendiri. Di dalam apa jua keadaan, penulis tidak boleh dipertanggungjawabkan oleh pengguna sama ada secara langsung atau tidak.


Kandungan panduan disediakan dengan lesen Pengiktirafan-BukanKomersial-TiadaTerbitan