Selasa, 27 Mei 2008

Berkenalan dengan perintah UNIX

Hmm.. saatnya bermigrasi... ;) Well, kali ini kita akan belajar mengenal perintah-perintah dasar UNIX. Adapun hal-hal yang perlu anda perhatikan sebelum memulai ialah:

-----------------------------------------------------------------------------------------------

- Linux/UNIX membedakan huruf besar dan huruf kecil (case sensitive).

- Semua perintah UNIX ditulis dengan huruf kecil.

- Jika nantinya anda membutuhkan penjelasan lebih lanjut dari suatu perintah, pergunakan "rumus sakti" berikut, ketik pada konsol anda:

$ man perintah

Misalnya:

$ man cd

man dapat diartikan sebagai manual. Perintah diatas berarti akan menampilkan manual untuk perintah cd. Untuk selanjutnya, anda bisa melakukan hal yang sama pada perintah-perintah lain.

-----------------------------------------------------------------------------------------------


--------
ls
--------

Perintah ini dipergunakan untuk menampilkan daftar file yang berada di dalam directory.

$ ls --help

Perintah diatas akan menampilkan bantuan untuk perintah ls
$ ls -l

Untuk menampilkan informasi tambahan (l = long)
$ ls -a

Perintah tersebut akan menampilkan hidden file. a disini mewakili kata atrribute
$ ls -la
Informasi tambahan yang ditampilkan oleh flag -l menyangkut user yang memiliki 'owns', file tanggal dan jam file itu dibuat, hak/permissions file, serta informasi-informasi lain. Contohnya :
rwxr-x--x
Catatan :
karakter 1-3: user/owner permissions
karakter 4-6: group permissions
karakter 7-8: other permissions
Penjelasan dari masing-masing karakter tersebut ialah:
r - read, permissions utk 'baca'
w - write, permission utk 'tulis'
x - (e)xecute, permission utk 'menjalankan'

Jadi, arti contoh diatas ialah:

*

user/owner dapat melakukan (hak) read/baca, write/tulis dan execute/jalankan file yang satu group dengan user/owner dapat read/baca, execute/jalankan file user lain dapat execute/menjalankan file tersebut.
*

Hal ini berarti permission tidak ada, jika ada d sebelum permission berarti itu adalah directory.

--------------
cat

--------------
Perintah cat atau concatenate dipakai untuk menampilkan dan menulis/membuat file. $ cat spyrozone.txt



- Menampilkan isi file spyrozone.txt
$ cat "Hello" > spyrozone.txt



Membuat file dengan nama spyrozone.txt yang berisi teks Hello. Untuk menambahkan isi file, ketik:

$ cat "Hello SPYRO" >> spyrozone.txt



Anda tinggal mengubah tanda > menjadi >>



$ cat -n tutorial.txt
Perintah diatas akan menampilkan isi tutorial.txt disertai dengan nomor baris. Berguna bila anda ingin melihat ini source code suatu program, misalnya C/C++



Anda bisa menggabungkan isi beberapa file menjadi satu file. Misalnya anda beberapa memiliki file dengan nama spyro1.txt & spyro2.txt. Anda ingin mengabungkan seluruh file tersebut pada sebuah file bernama spyrozone.txt, maka perintah yang digunakan ialah:

$ cat spyro1.txt spyro2.txt > spyrozone.txt


--------------

more
--------------
Menampilkan isi dari file secara perlayar.
$ more tutor.txt



Anda akan melihat deretan angka 1 sampai 23 dan di baris terbawah tertera angka tulisan "--More--(20%)". Untuk bernavigasi saat melihat tampilannya, gunakan dua tombol berikut ini.



» Spasi untuk maju satu layar penuh. Arti dari satu layar penuh adalah jumlah baris yang dimunculkan di layar console Anda. Biasanya, console Linux diatur pada resolusi 80 kolom dan 25 baris. Dengan demikian, penekanan spasi berarti menampilkan 23 atau 24 baris berikutnya.



» Tombol "b" untuk mundur satu layar penuh. Penjelasan mengenai arti satu layar penuh sama seperti di atas.



Apabila Anda terus menekan tombol spasi sampai akhir file, secara otomatis program more akan berhenti dan prompt akan kembali ke shell. Sama halnya jika Anda menekan tombol [Ctrl]+[C] sewaktu-waktu. Tombol [Ctrl]+[C] sendiri adalah kombinasi tombol universal di console Linux untuk mengakhiri suatu eksekusi program dan semata-mata bukan untuk more saja. Cara lain untuk mengakhiri program more adalah dengan menekan tombol "q".


--------------
grep
--------------
Menampilkan semua baris yang mengandung pola yang diinginkan:

$ grep spyrozone tutor.txt


--------------
echo
--------------

Echo dipakai untuk menampilkan apa yang kita ketik di layar. Perintah ini sama seperti perintah ECHO di DOS.
echo "The NEWBIE HACKERS spirit station!!"


The NEWBIE HACKERS spirit station!!


Anda juga bisa membuat file dengan perintah ini:
echo "The NEWBIE HACKERS spirit station!!" > spyrokid.txt


Perintah diatas akan membuat file spyrokid.txt di directory aktif. File tersebut akan berisi teks "The NEWBIE HACKERS spirit station!!" (tanpa tanda petik). Untuk menambah isi file, ganti > dengan >>



Berikut adalah contoh menarik lain penggunaan echo :
$ echo -e "\thehehe\b\b\b\b\b\bspyrozone\n " > spyro.txt



Lihatlah isi file spyro.txt dengan perintah cat, anda akan melihat tampilan isi file tersebut:



spyrozone



Lho, kemana yang lain?? kenapa yang ada hanya spyrozone?? Berikut penjelasannya:



» \t pada echo menunjukkan pemakaian tabulasi. Pada console Linux, tabulasi memberikan jarak sebesar 8 karakter. Tanpa option -A, cat menerjemahkan \t menjadi karakter tabulasi sehingga rangkaian karakter "spyrozone" diindentasi. Dengan -A, \t ditampilkan sebagai string ^I, yaitu control character untuk tabulasi.

» \b pada echo berarti backspace alias menghapus satu karakter di sebelah kiri. Oleh karena \b diketik tiga kali, maka ini sama artinya dengan menghapus frase "hehehe" seperti yang terlihat dalam tampilan cat. Dengan option -A, karakter backspace ditampilkan sebagai ^H dan frase "hehehe" tetap terlihat.

» \n pada echo berarti memberikan satu baris kosong. Sekalipun dengan option -A, tetap diberikan satu baris kosong di bawah tulisan "spyrozone". Hanya saja, sekarang ada 2 karakter $. Satu untuk menandakan akhir baris (end of line) pada baris kalimat "spyrozone" dan satunya lagi untuk menandai baris di bawahnya. Perhatikan adanya spasi kosong antara tanda tanya dan karakter $.



--------------
cd
--------------
Mewakili kata change directory. Perintah ini dipakai untuk berpindah directory.

$ cd /root


*****************************************************************
Di Linux yang digunakan adalah / (slash) bukan \ (backslash)

*****************************************************************


--------------
cp
--------------
Perintah copy dipakai untuk mengcopy file.
$ cp tutor.txt tutor.txt.bak
$ cp tutor.txt ~spyro/backup-data/tutor.txt.backup

--------------
mv
--------------
Mewakili kata move. Perintah ini dipergunakan untuk mengganti nama file atau directory.
$ mv tutor.txt tutor-backup.txt
$ mv backup bak

--------------
rm
--------------
Perintah remove dipergunakan untuk menghapus file.


$ rm tutor.txt

Perintah diatas akan menghapus file tutor.txt


rm *

Perintah diatas akan menghapus SELURUH FILE yang berada di directory aktif.


--------------
mkdir
--------------
Make directory, dipergunakan untuk membuat directory.
$ mkdir kamarku

--------------
rmdir
--------------
Remove Directory, hapus directory. Perintah ini dibutuhkan untuk menghapus directory. Namun perlu anda ingat bahwa file-file yang berada di dalam directory harus dihapus terlebih dahulu sebelum anda menghapus suatu directory.
$ rmdir backup



--------------

who
--------------
who digunakan untuk menampilkan user yang login ke system. Output perintahnya kira-kira seperti berikut :

$ who
root tty1 Nov 20 17:47
spyrokid tty2 Nov 20 17:48
spyrokid tty3 Nov 20 17:48
spyrokid ttyp0 Nov 20 18:43 (localhost)

Kolom pertama menunjukkan nama user yang login, kolom kedua menunjukkan
terminal line yang digunakan, kolom ketiga menunjukkan waktu login dan
kolom keempat menunjukkan domain atau IP asal mereka koneksi, jika kosong
berarti mereka main langsung dari console.

--------------
whoami
--------------
Lupa siapa anda??
$ whoami
spyrokid


Perintah lain:
$ who am i
spyrozone!spyrokid tty3 Nov 20 17:48

--------------
pwd

--------------
Tampilkan directory aktif, pwd = print working directory, perintah yang dipakai kalo saat jalan2, sudah gak tau mo pulang lewat mana :)

$ pwd
/home/spyrokid

--------------
ps

--------------
Menampilkan proses yang aktif
$ ps
PID TTY STAT TIME COMMAND
87 2 S 0:00 -bash
88 3 S 0:00 -bash
1440 2 S 0:00 pico jilid2.txt
1443 3 R 0:00 ps

--------------
ping
--------------
Mengecek host apakah 'up' utk istilah teknisnya silakan 'man ping'
$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.1 ms

--- localhost ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.2 ms
spyrozone:~$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.1 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.1 ms

--- 127.0.0.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.2 ms
spyrozone:~$

Perhatikan bahwa localhost dan 127.0.0.1 adalah sama :)
127.0.0.1 adalah local loopback yang disediakan untuk testing.

--------------
finger
--------------
Mencari informasi user
$ finger
Login Name Tty Idle Login Time Office Office Phone
spyrokid Spyrokid 2 Nov 22 01:10
spyrokid Spyrokid 3 Nov 22 01:10
root 1 1:37 Nov 22 01:10
$ finger @spyrozone.net
[spyrozone.net]

Welcome to Linux version 2.0.34 at spyrozone.net !

3:46am up 2:37, 3 users, load average: 0.00, 0.00, 0.00

Login Name Tty Idle Login Time Office Office Phone
spyrokid Spyrokid 2 Nov 22 01:10
spyrokid Spyrokid 3 Nov 22 01:10
root 1 1:39 Nov 22 01:10

spyrozone:~$ finger @localhost
[localhost]

Welcome to Linux version 2.0.34 at spyrozone.net !

3:47am up 2:38, 3 users, load average: 0.00, 0.00, 0.00

Login Name Tty Idle Login Time Office Office Phone
spyrokid Spyrokid 2 Nov 22 01:10
spyrokid Spyrokid 3 Nov 22 01:10
root 1 1:40 Nov 22 01:10

spyrozone:~$ finger spyrokid
Login: spyrokid Name: Spyrokid
Directory: /home/spyrokid Shell: /bin/bash
On since Tue Nov 22 01:10 (PHT) on tty2 8 seconds idle
On since Tue Nov 22 01:10 (PHT) on tty3
Last login Tue Nov 22 01:13 (PHT) on tty4
Mail forwarded to "|IFS=' '&&exec /usr/bin/procmail -f-||exit 75
#spyrokid"
No mail.
No Plan.

spyrozone:~$ finger root
Login: root Name:
Directory: /root Shell: /bin/bash
On since Tue Nov 22 01:10 (PHT) on tty1 1 hour 42 minutes idle
Mail last read Tue Nov 15 09:19 2004 (PHT)
No Plan.

--------------
ftp
--------------
Menggunakan file tranfer program.
spyrozone:~$ ftp localhost
Connected to localhost.
220 spyrozone.net FTP server (Version wu-2.4.2-academ[BETA-15](1) Wed
May 20 13:45:04 CDT 2004) ready.
Name (localhost:spyrokid): ftp
331 Guest login ok, send your complete e-mail address as password.
Password: spyrokid@spyrozone.net
230-Welcome, archive user! ...

.............

...........................
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

ftp juga bisa dilakukan dengan melakukan telnet ke port 21

spyrozone:~$ telnet localhost 21
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 spyrozone.net FTP server (Version wu-2.4.2-academ[BETA-15](1) Wed
May 20 13:45:04 CDT 2004) ready.

--------------
talk
--------------
Berbicara dengan user lain, misalnya spyrokid request melakukan talk ke root:

talk root
atau
talk root@spyrozone.net

[Waiting for your party to respond]

[Ringing your party again]

Di terminal root akan muncul pesan :

Message from Talk_Daemon@spyrozone at 4:00 ...
talk: connection requested by spyrokid@localhost.
talk: respond with: talk spyrokid@localhost

root harus mengetik talk spyrokid@localhost jika ingin menjawab request

talk spyrokid@localhost

[Connection established]

Tekan Ctrl+C untuk terminate connection.


--------------
telnet

--------------
Melakukan komunikasi dengan host lain melalui telnet protocol.
spyrozone:~$ telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Welcome to Linux 2.0.34.

spyrozone login: spyrokid
Password: www.spyrozone.net
Linux 2.0.34.
Last login: Tue Nov 22 01:13:52 on tty4.
No mail.


spyrozone:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 spyrozone.net ESMTP Sendmail 8.9.0/8.9.0; Tue, 22 Nov 2004
03:52:51 +0800
helo darling
250 spyrozone.net Hello spyrokid@localhost [127.0.0.1], pleased to
meet you
mail from: guest@spyrozone.net
250 guest@spyrozone.net... Sender ok
rcpt to: untukmu@seorang.jauh.disana
250 untukmu@seorang.jauh.disana... Recipient ok (will queue)
data
354 Enter mail, end with "." on a line by itself
Kukirim lagu dan salam rinduku
.
250 EAA01615 Message accepted for delivery
quit

spyrozone:~$ telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK spyrozone POP3 Server (Version 1.005l) ready at
user root
+OK please send PASS command
pass www.spyrozone.net
+OK 2 messages ready for root in /usr/spool/mail/root
stat
+OK 2 7227
retr 1
quit



Okay, sekian dulu perkenalannya, untuk selanjutnya anda bisa menjelajah sendiri dengan perintah man.

/* ------------------------------|EOF|------------------------------ */

sumber : spyro kid

Kamis, 01 Mei 2008

perintah dasar linux



cd x atau cd /x == masuk ke direktori x

cd .. atau cd ../ atau cd/.. == pindah ke direktori satu level di bawah

x lalu [tab] [tab] == berguna untuk mengetahui perintah apa saja yang tersedia yang berawalan huruf x

adduser == untuk menambahkan user baru

ls atau dir == untuk melihat isi suatu direktori

cat == untuk melihat isi dari suatu file text

mv x y == untuk memindahkan atau merename file x ke file y

cp x y == untuk mengkopi file x ke file y

rm x == untuk menghapus file x

mkdir x == untuk membuat direktori x

rmdir x == untuk menghapus direktori x

rm -r x == untuk menghapus direktori x beserta seluruh isinya

rm p == untuk menghapus paket tertentu

df atau df x == untuk mengetahui space kosong dalam device x

top == untuk mengetahui status memori (tekan q untuk quit)

man x == untuk mengetahui keterangan manual dari suatu perintah

less x == untuk melihat isi dari suatu file text
echo x == untuk mencetak isi dari suatu file x ke screen

mc == untuk menghidupkan Norton Commander dalam Linux (sangat berguna dan memudahkan bagi newbie)

mount == untuk menghidupkan suatu device spt cdrom

halt == untuk shutdown

reboot atau [ctl + alt + del] == untuk reboot


chmod == untuk mengubah permission suatu file

ls -l x == untuk melihat isi suatu direktori secara rinci

ln -s x y == untuk membuat link dari suatu file x ke file y

find x -name y -print == untuk menemukan file y, dengan mencari mulai dari direktori x dan tampilkan hasilnya pada layar

ps == untuk melihat seluruh proses yang sedang berjalan

kill x == untuk mematikan proses x (x adalah PID di dalam ps)

[alt] + F1 - F7 == untuk berpindah dari terminal 1 - 7 (ciri khas Linux)

lilo == untuk membuat boot disk


startx == untuk menjalankan X-Windows

[ctl] + [alt] + [backspace] == untuk keluar dari X-Windows jika terjadi trouble

[ctl] + [alt] + F1 - F6 == untuk pindah dari satu terminal ke terminal lain dalam X-Windows

xf86Config == untuk mengeset X (primitif) dalam text mode

Xconfigurator == sama seperti di atas


sumber : budhy.multiply.com