Command Linux

Perintah Dasar Sistem Operasi

$ ls tanpa argumen

$ ls a option adalah a = all, tanpa argumen

$ ls /bin tanpa option, argumen adalah /bin

$ ls /bin /etc /usr ada 3 argumen

$ ls l /usr 1 option dan 1 argumen l = long list

$ ls la /bin /etc 2 option l dana dan 2 argumen

Q untuk keluar dari program man

> ke bawah, baris per baris

> ke bawah, per halaman

b kembali ke atas, 1 halaman

/teks mencari teks (string)

n meneruskan pencarian string sebelumnya

$ id = Melihat identitas diri (nomor id dan group id)

$ date = Melihat tanggal saat ini

$ cal 9 2002 = Melihat kalender

$ cal y = Melihat kalender satu tahun penuh

$ hostname = Melihat identitas mesin

$ uname

$ uname -a

Mengetahui siapa saja yang sedang aktif

$ w

$ who

$ whoami

$ chfn = Mengubah informasi finger

$ finger

$ finger = Melihat informasi finger

$ man ls

$ man man

$ man k file

$ man 5 passwd

$ clear = Menghapus layar

$ apropos date

$ apropos mail

$ apropos telnet = Mencari perintah yang deskripsinya mengandung kata kunci yang dicari

$ whatis date = Mencari perintah yang tepat sama dengan kunci yang dicari

Manipulasi berkas (file) dan direktori

$ ls = Menampilkan current working director y

$ ls l = Melihat semua file lengkap

$ ls a = Menampilkan semua file atau direktori yang tersembunyi

$ ls f = Menampilkan semua file atau direktori tanpa proses sorting

$ ls /usr = Menampilkan isi suatu direktori.

$ ls / = Menampilkan isi direktori root

$ ls F /etc = Menampilkan semua file atau direktori dengan menandai : tanda (/) untuk direktori, tanda asterisk (*) untuk file yang bersifat executable, tanda (@) untuk file symbolic link, tanda (=) untuk socket, tanda (%) untuk whiteout dan tanda (|) untuk FIFO.

$ ls l /etc = Menampilkan file atau direktori secara lengkap yaitu terdiri dari nama file, ukuran, tanggal dimodifikasi, pemilik, group dan mode atau atributnya.

$ ls R /usr = Menampilkan semua file dan isi direktori. Argumen ini akan menyebabkan proses berjalan agak lama, apabila proses akan dihentikan dapat menggunakan ^c

$ file

$ file *

$ file /bin/ls = Melihat tipe file

Mengkopi suatu file. Berikan opsi i untuk pertanyaan interaktif bila file sudah ada.

$ cp /etc/group f1

$ ls l

$ cp i f1 f2

$ cp i f1 f2

Mengkopi ke direktori

$ mkdir backup

$ cp f1 f3

$ cp f1 f2 f3 backup

$ ls backup

$ cd backup

$ ls

Melihat isi file Menggunakan instruksi cat = $ cat f1

Menampilkan file per satu layar penuh = $ more f1 $ pg f1

Mengubah nama file Menggunakan instruksi mv

$ mv f1 prog.txt

$ ls

Memindahkan file ke direktori lain.

$ mkdir mydir $ mv f1 f2 f3 mdir

Menghapus file

$ rm f1

$ cp mydir/f1 f1

$ cp mydir/f2 f2

$ rm f1

$ rm i f2

Mencari kata atau kalimat dalam file

$ grep root /etc/passwd

$ grep “:0: /etc/passwd

$ grep student /etc/passwd


Operasi Input Output

Linux berkomunikasi dengan file melalui file descriptor yang direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya.. Tiga buah file descriptor standar yang lalu diciptakan oleh proses adalah :

0 = keyboard (standar input)

1 = layar (standar output)

2 = layar (standar error)

PEMBELOKAN (REDIRECTION)

Pembelokan dilakukan untuk standard input, output dan error, yaitu untuk mengalihkan file descriptor dari 0, 1 dan 2. Simbol untuk pembelokan adalah :

PIPA (PIPELINE)

Proses1 | Proses2

FILTER

Filter adalah utilitas Linux yang dapat memproses standard input (dari keyboard) dan menampilkan hasilnya pada standard output (layar). Contoh filter adalah cat, sort, grep, pr, head, tail, paste dan lainnya.

Pada sebuah rangkaian pipa : P1 | P2 | P3 ……. | Pn-1 | Pn

Maka P2 sampai dengan P n-1 mutlak harus utilitas Linux yang berfungsi sebagai filter. P1 (awal) dan Pn (terakhir) boleh tidak filter. Utilitas yang bukan filter misalnya who, ls, ps, lp, lpr, mail dan lainnya.

Perintah grep = untuk menyaring masukannya da n menampilkan baris-baris yang hanya mengandung pola yang ditentukan. Pola ini disebut regular expression.

Perintah wc = Digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang diberikan kepadanya. Untuk mengetahui berapa baris gunakan option l, untuk mengetahui berapa kata, gunakan option w dan untuk mengetahui berapa karakter, gunakan option c. Jika salah satu option tidak digunakan, maka tampilannya adalah jumlah baris, jumlah kata dan jumlah karakter.

Perintah sort = Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari karakter.

Perintah cut = Digunakan untuk mengambil kolom tertentu dari baris-baris masukannya, yang ditentukan pada option c.

Perintah uniq = Digunakan untuk menghilangkan baris- baris berurutan yang mengalami duplikasi, biasanya digabungkan dalam pipeline dengan sort.

Output ke layar (standar output), input dari system (kernel) = $ ps

Output ke layar (standar output), input dari keyboard (standard input)

$ cat

hallo, apa khabar hallo, apa khabar exit dengan ^d exit dengan ^d [Ctrl-d]

Input dari keyboard dan output ke alamat internet

$ mail arna@eepis-its.edu contoh surat yang langsung dibuat pada standard input (keyboard)[Ctrl-d]

Input nama direktori, output tidak ada (membuat direktori baru), bila terjadi error maka tampilan error pada layar (standard error)

$ mkdir mydir $ mkdir mydir

Pembelokan standar output

$ cat 1> myfile.txt

Ini adalah teks yang saya simpan Ke file myfile.txt

Pembelokan standar input, yaitu input dibelokkan dari keyboard menjadi dari file

$ cat 0< myfile.txt $ cat myfile.txt

Pembelokan standar error untuk disimpan di file

$ mkdir mydir (Terdapat pesan error)

$ mkdir mydir 2> myerror.txt

$ cat myerror.txt

Notasi 2>&1 : pembelokan standar error (2>) adalah identik dengan file descriptor 1.

$ ls filebaru

$ ls filebaru 2> out.txt

$ cat out.txt

$ ls filebaru 2> out.txt 2>&1

$ cat out.txt

Notasi 1>&2 (atau >&2) : pembelokan standar output adalah sama dengan file descriptor 2 yaitu standar error

$ echo “mencoba menulis file 1> baru

$ cat filebaru 2> baru 1>&2

$ cat baru

Notasi >> (append)

$ echo “kata pertama > surat

$ echo “kata kedua >> surat

$ echo “kata ketiga >> surat

$ cat surat

$ echo “kata keempat > surat

$ cat surat

Notasi here document (<<++ …. ++) digunakan sebagai pembatas input dari keyboard. Perhatikan bahwa tanda pembatas dapat digantikan dengan tanda apa saja, namun harus sama dan tanda penutup harus diberikan pada awal baris

$ cat <<++

Hallo, apa kabar ?

Baik-baik saja ?

Ok!

++

$ cat <<%%%

Hallo, apa kabar ? Baik-baik saja ? Ok!

%%%

Notasi (input keyboard) adalah representan input dari keyboard. Artinya menampilkan file 1, kemudian menampilkan input dari keyboard dan menampilkan file 2. Perhatikan bahwa notasi - berarti menyelipkan input dari keyboard

$ cat myfile.txt surat

Untuk membelokkan standart output ke file, digunakan operator >

$ echo hello

$ echo hello > output

$ cat output

Untuk menambahkan output ke file digunakan operator >>

$ echo bye >> output

$ cat output

Untuk membelokkan standart input digunakan operator <

$ cat < output

Pembelokan standart input dan standart output dapat dikombinasikan tetapi tidak boleh menggunakan nama file yang sama sebagai standart input dan output.

$ cat < output > out

$ cat out

$ cat < output >> out

$ cat out

$ cat < output > output

$ cat output

$ cat < out >> out

[Ctrl-c]

$ cat out

Operator pipa (|) digunakan untuk membuat eksekusi proses dengan melewati data langsung ke data lainnya.

$ who

$ who | sort

$ who | sort r

$ who > tmp

$ sort tmp

$ rm tmp

$ ls l /etc | more

$ ls l /etc | sort | more

Filter = Pipa juga digunakan untuk mengkombinasikan utilitas sistem untuk membentuk fungsi yang lebih kompleks

$ w h | grep

$ grep > /etc/passwd

$ ls /etc | wc

$ ls /etc | wc l

$ cat > kelas1.txt

Badu

Zulkifli Yulizir Yudi

Ade

[Ctrl-d]

$ cat > kelas2.txt

Budi

Gama Asep Muchlis [Ctrl-d]

$ cat kelas1.txt kelas2.txt | sort

$ cat kelas1.txt kelas2.txt > kelas.txt

$ cat kelas.txt | sort | uniq


Pertemuan 4

/etc = Berisi file administrative (konfigrasi dll) dan file executable

atau script yang berguna untuk administrasi system

/dev = Berisi file khusus yang merepresentasikan peralatan hardware seperti memori, disk, printer, tape, floppy, jaringan dll

/bin = Berisi utilitas sistem level rendah (binary) .

/sbin = Berisi utilitas sistem untuk superuser (untuk membentuk

administrasi sistem).

/usr/sbin

/usr/bin = Berisi utilitas sistem dan program aplikasi level tinggi.

/usr/lib = Berisi program library yang diperlukan untuk kompilasi

/tmp = Berisi file yang sangat penting untuk proses bootstrap. Kernel

vmlinuz disimpan di direktori ini.

/boot =

/proc = Berisi informasi tentang kernel Linux, proses dan virtual system

file.

/var = Direktori variable, artinya tempan penyimpanan LOG (catatan

hasil output program), file ini dapat membengkak dan perlu dimonitor perkembangannya

/home =

/mnt = Berisi direktori untuk pemakai Linux (pada SCO diletakkan

pada /usr)

Direktori untuk mounting system file

/root = Home direktori untuk superuser (root)

/usr/bin/X11 = Symbolic link ke /usr/X11R6/bin, program untuk X -Window

/usr/src = Source code untuk Linux

/opt = Option, direktori ini biasanya berisi aplikasi tambahan (“add- on”) seperti Netscape Navigator, kde, gnome, applix dll.

Melihat direktori HOME

$ pwd

$ echo $HOME

Melihat direktori aktual dan parent direktori

$ pwd

$ cd .

$ pwd

$ cd ..

$ pwd

$ cd

Membuat satu direktori, lebih dari satu direktori atau sub direktori

$ pwd

$ mkdir A B C A/D A/E B/F A/D/A

$ ls -l

$ ls -l A

$ ls -l A/D

Menghap us satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya

$ rmdir B

$ ls -l B

$ rmdir B/F B

$ ls -l B

Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lain.

$ pwd $ ls l $ cd A$ pwd $ cd $ pwd

$ cd /home/>/C $ pwd $ cd /C $ pwd

perintah cp untuk mengkopi file atau seluruh direktori

$ cat > contoh Membuat sebuah file [Ctrl-d]

$ cp contoh contoh1

$ ls -l

$ cp contoh A

$ ls l A

$ cp contoh contoh1 A/D

$ ls l A/D

Perintah mv untuk memindah file

$ mv contoh contoh2

$ ls -l

$ mv contoh1 contoh2 A/D

$ ls l A/D

$ mv contoh contoh1 C

$ ls l C

Perintah rm untuk menghapus file

$ rm contoh2

$ ls -l

$ rm i contoh

$ rm rf A C

$ ls -l

Symbolic Link

Membuat shortcut (file link)

$ echo "Hallo apa khabar" > halo.txt

$ ls -l

$ ln halo.txt z

$ ls -l

$ cat z

$ mkdir mydir

$ ln z mydir/halo.juga

$ cat mydir/halo.juga

$ ln -s z bye.txt

$ ls -l bye.txt

$ cat bye.txt

Melihat Isi File

$ ls l

$ file halo.txt

$ file bye.txt

Mencari file

Perintah find

$ find /home name “*.txt print > myerror.txt

$ cat myerror.txt

$ find . name “*.txt exec wc l ‘{} ‘;’

Perintah which

$ which ls

Perintah locate

$ locate “*.txt”

Mencari text pada file

$ grep Hallo *.txt


Proses Manajeman Proses

Status Proses

Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2

dan login ke terminal sebagai user.

Instruksi ps (process sta tus) digunakan untuk melihat kondisi proses yang ada. PID adalah Nomor Identitas Proses, TTY adalah nama terminal dimana proses tersebut aktif, STAT berisi S (Sleepin g) dan R (Running), COMMAND merupakan instruksi yang digunakan.

$ ps

Untuk melihat fak tor/elemen lainnya, gunakan option u (user). %CPU adalah presentasi CPU time yang digunakan oleh proses tersebut, %MEM adalah presentasi system memori yang digunakan proses, SIZE adalah jumlah memori yang digunakan, RSS (Real System Storage) adalah jumlah memori yang digunakan, START adalah kapan proses tersebut diaktifkan

$ ps -u

Mencari proses yang spesifik pemakai. Proses diatas hanya terbatas pada proses milik pemakai, dimana pemakai teresbut melakukan login

$ ps u

Mencari proses lainnya gunakan op si a (all) dan au (all user)

$ ps a

$ ps –au

Logout dan tekan Alt+F7 untuk kembali ke mode grafis

Menampilkan Hubungan Proses Parent dan Child

Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke terminal sebagai user.

Ketik ps eH dan tekan Enter. Opsi e memilih semua proses dan opsi H menghasilkan tampilan proses secara hierarki. Proses child muncul dibawah proses parent. Proses child ditandai dengan awalan beberapa spasi.

$ ps -eH

Ketik ps e f dan tekan Enter. Tampilan serupa dengan langkah 2. Opsi

f akan menampilkan status proses dengan karakter grafis (\ dan _)

$ ps e f

Ketik pstree dan tekan Enter. Akan ditampilkan semua proses pada sistem dalam bentuk hirarki parent/child. Proses parent di sebelah kiri proses child. Sebagai contoh proses init sebagai parent (ancestor) dari semua proses pada sistem. Beberapa child dari init mempunyai child. Proses login mempunya i proses bash sebagai child. Proses bash mempunyai proses child startx. Proses startx mempunyai child xinit dan seterusnya.

$ pstree

Ketik pstree | grep mingetty dan tekan Enter. Akan menampilkan semua proses mingetty yang berjalan pada system yang berupa console virtual. Selain menampikan semua proses, proses dikelompokkan dalam satu baris dengan suatu angka sebagai jumlah proses yang berjalan.

$ pstree | grep mingetty

Untuk melihat semua PID untuk proses gunakan opsi p.

$ pstree p

Untuk menampilk an proses dan ancestor yang tercetak tebal gunakan opsi

h.

$ pstree h

Menampilkan Status Proses dengan Berbagai Format

Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke terminal sebagai user.

Ketik ps e | more dan tekan Enter. Opsi -e menampilkan semua proses dalam bentuk 4 kolom : PID, TTY, TIME dan CMD.

$ ps e | more

Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan q untuk kembali ke prompt perintah.

Ketik ps ax | more dan tekan Enter. Opsi a akan menampilkan semua proses yang dihasilkan terminal (TTY). Opsi x menampilkan semua proses yang tidak dihasilkan terminal. Secara logika opsi ini sama dengan opsi e . Terdapa 5 kolom : PID, TTY, STAT, TIME dan COMMAND.

$ ps ax | more

Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan q untuk kembali ke prompt perintah.

Ketik ps e f | more dan tekan Enter. Opsi e f akan menampilkan semua proses dalam format daftar penuh.

$ ps ef | more

Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan q untuk kembali ke prompt perintah.

Ketik ps eo pid, cmd | more dan tekan Enter. Opsi eo akan menampilkan semua proses dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD.

$ ps eo pid,cmd | more Jika halaman penuh tet rlihat prompt --More-- di bagian bawah screen

tekan q untuk kembali ke prompt perintah.

Ketik ps eo pid,ppid,%mem,cmd | more dan tekan Enter. Akan menampilkan kolom PID, PPID dan %MEM. PPID adalah proses ID dari proses parent. %MEM menampilkan persentasi memory system yang digunakan proses. Jika proses hanya menggunakan sedikit memory system akan dita mpilkan 0.

$ ps eo pid,ppid,%mem,cmd | more

Logout dan tekan Alt+F7 untuk kembali ke mode grafis

Mengontrol proses pada shell

Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke terminal sebagai user.

Gunakan perintah yes yang mengirim output y yang tidak pernah berhenti

$ yes

Untuk menghentikannya gunakan Ctrl-C.

Belokkan standart output ke /dev/null

$ yes > /dev/null

Untuk menghentikannya gunakan Ctrl-C.

Salah satu cara agar perintah yes tetap dijalankan tetapi shell tetap digunakan untuk hal yang lain dengan meletakkan proses pada background dengan

menambahkan karakter & pada akhir perintah.

$ yes > /dev/null &

Angka dalam [ ] merupakan job number diikuti PID.

Untuk melihat status proses gunakan perintah jobs.

$ jobs

Untuk menghentikan job, gunakan perintah kill diikuti job number atau

PID proses. Untuk identifikasi job number, diikuti prefix dengan karakter

”%”.

$ kill %r job> contoh : kill %1

Lihat status job setelah diterminasi

$ jobs


Menghentikan dan memulai kembali job

Cara lain meletakkan job pada background dengan memulai job secara normal (pada foreground), stop job dan memulai lagi pada background

$ yes > /dev/null

Hentikan sementara job (suspend ), bukan menghentikannya (terminate ),tetapi menghentikan sementara job sampai di restart. Untuk menghentikan sementara job gunakan Ctrl- Z.

Untuk restart job pada foreground , gunakan perintah fg. $ fg

Shell akan menampilkan nama perintah yang diletakkan di foreground . Stop job lagi dengan Ctrl-Z. Kemudian gunakan perintah bg untuk meletakkan job pada background $ bg

Job tidak bisa dihentikan dengan Ctrl- Z karena job berada pada background . Untuk menghentikannya, letakkan job pada foreground dengan fg dan kemudian hentikan sementara dengan Ctrl- Z. $ fg

Job pada background dapat digunakan untuk menampilkan teks pada terminal, dimana dapat diabaikan jika mencoba mengerjakan job lain. $ yes &

Untuk menghentikannya tidak dapat menggunakan Ctrl-C. Job harus dipindah ke foreground, baru dihentikan dengan cara tekan fg dan tekan Enter, kemudian dilanjutkan dengan Ctrl-Z untuk menghentikan sementara.

Apabila ingin menjalankan banyak job dalam satu waktu, letakkan job pada foreground atau background dengan memberikan job I

$ fg %2 atau $ %2

$ bg %2

tekan fg dan tekan Enter, kemudian dilanjutkan dengan Ctrl -Z untuk menghentikan sementara.

Lihat job dengan perintah ps - fae dan tekan Enter. Kemudian hentikan proses dengan perintah kill.

$ ps -fae

$ kill -9

Logout dan tekan Alt+F7 untuk kembali ke mode grafis

Percobaan dengan Penjadwalan Prioritas

1. Login sebagai root.

2. Buka 3 terminal, tampilkan pada screen yang sama.

3. Pada setiap terminal, ketik PS1 = \w: diikuti Enter. \w menampilkan path pada direktori home.

4. Karena login sebagai root, maka akan ditampilkan ~: pada setiap terminal.

Untuk setiap terminal ketik pwd dan tekan Enter untuk melihat bahwa Anda sedang berada pada direktori /root.

5. Buka terminal lagi (keempat), atur posisi sehingga keempat terminal terlihat

pada screen.

6. Pada terminal keempat, ketik top dan tekan Enter. Maka program top akan muncul. Ketik i. Top akan menampilkan proses yang aktif. Ketik lmt. Top tidak lagi menampilkan informasi pada bagian atas dari screen. Pada percobaan ini, terminal ke empat sebagai je ndela Top.

7. Pada terminal 1, bukalah program executable C++ dengan mengetik program

yes dan tekan Enter.

8. Ulangi langkah 7 untuk terminal 2.

9. Jendela Top akan menampilkan dua program yes sebagai proses yang berjalan. Nilai %CPU sama pada keduanya. Hal ini berarti kedua proses mengkonsumsi waktu proses yang sama dan berjalan sama cepat. PID dari kedua proses akan berbeda, misalnya 3148 dan 3149. Kemudian gunakan terminal 3 (yang tidak menjalankan primes maupun Jendela Top) dan ketik renice 19 D terimnal 1> (contoh : renice 19 3148) dan diikuti Enter. Hal ini berarti mengganti penjadwalan prioritas dari proses ke 19.

10. Tunggu beberapa saat sampai program top berubah dan terlihat pada jendela

Top. Pada kolom STAT memperlihatkan N untuk proses 3148. Hal in i berarti bahwa penjadwalan prioritas untuk proses 3148 lebih besar (lebih lambat) dari 0. Proses 3149 berjalan lebih cepat.

11. Program top juga mempunyai fungsi yang sama dengan program renice.

Pilih Jendela Top dan tekan r. Program top terdapat prompt P ID to renice: tekan 3148 (ingat bahwa Anda harus mengganti 3148 dengan PID Anda sendiri) dan tekan Enter. Program top memberikan prompt Renice

PID 3148 to value: tekan -19 dan tekan Enter.

12. Tunggu beberapa saat sampai top berubah dan lihat nilai %CPU pada kedua proses. Sekarang proses 3148 lebih cepat dari proses 3149. Kolom status menunjukkan < pada proses 3148 yang menunjukkan penjadwalan

prioritas lebih rendah (lebih cepat) dari nilai 0.

13. Pilih terminal 3 (yang sedang tidak menjalankan yes atau program top) dan ketik nice n -10 yes dan tekan Enter. Tunggu beberapa saat agar program top berubah dan akan terlihat proses primes ketiga. Misalnya

PID nya 4107. Opsi -10 berada pada kolom NI (penjadwalan prioritas).

14. Jangan menggunakan mouse dan keyboard selama 10 detik. Program top menampilkan proses yang aktif selain program yes. Maka akan terlihat proses top terdaftar tetapi %CPU kecil (dibawah 1.0) dan konsisten. Juga terlihat proses berhubungan dengan dekstop grafis seperti X, panel dll.

15. Pindahkan mouse sehingga kursor berubah pada screen dan lihat apa yang terjadi dengan tampilan top. Proses tambahan akan muncul dan nilai

%CPU berubah sebagai bagian grafis yang bekerja. Satu alasan adalah bahwa proses 4107 berjalan pada penjadwalan prioritas tinggi. Pilih jendela To p, ketik r. PID to renice : muncul prompt. Ketik 4107 (ubahlah 4107 dengan PID Anda) dan tekan Enter. Renice PID 4107 to value: muncul prompt. Ketik 0 dan tekan Enter. Sekarang pindahkan mouse ke sekeliling screen. Lihat perubahannya.

16. Tutup semua terminal window.

17. Logout dan login kembali sebagai user.

Share this:

CONVERSATION

0 komentar:

Posting Komentar