Linux Pengguna Akhir
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:-
- Tugasan yang dilakukan dengan menaip selalunya lebih cepat jika dibandingkan dengan klik beberapa menu dan butang.
- Tugasan yang perlu dilaksana berulang kali boleh dilakukan secara automatik.
- Tugasan boleh dibuat mengikut citarasa sendiri tanpa terikat dengan program yang dihasilkan oleh orang lain.
- 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 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