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 dan –a dan 2 argumen
Q untuk keluar dari program man
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
$ finger
$ 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
$ 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/
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 %
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
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.
0 komentar:
Posting Komentar