Friday, October 13, 2023

Pengoperasian file dan struktur direktori pada Linux




POKOK BAHASAN:

Operasi File pada Sistem Operasi Linux

Struktur Direktory pada Sistem Operasi Linux


TUJUAN BELAJAR:

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:

  • Memahami organisasi file dan direktory pada sistem operasi Linux
  • Menciptakan dan manipulasi directory
  • Memahami konsep link dan symbolic link


DASAR TEORI

ORGANISASI FILE

Sistem file pada Linux menyerupai pepohonan (tree), yaitu dimulai dari root, kemudian direktori

dan sub dirrektori. Sistem file pada Linux diatur secara hirarkhikal, yaitu dimulai dari root dengan symbol

“/”.

User dapat menciptakan File dan Direktori mulai dari root ke bawah. Direktori adalah file khusus,

yang berisi nama file dan INODE (pointer yang menunjuk ke data / isi file tersebut). Secara logika,

Direktori dapat berisi File dan Direktori lagi (disebut juga Subdirektori).



DIREKTORI STANDAR

/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 dan /usr/bin : Berisi utilitas sistem dan program aplikasi level tinggi.

/usr/lib : Berisi program library yang diperlukan untuk kompilasi program (misalnya C). Berisi instruksi (command) misalnya untuk Print Spooler (lpadmin) dll.

/tmp : Berisi file sementara, yang pada saat Bootstrap akan dihapus (dapat digunakan oleh sembarang user).

/boot : Berisi file yang sangat penting untuk proses bootstrap. Kernel vmlinuz disimpan di direktori ini.

/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 : Berisi direktori untuk pemakai Linux (pada SCO diletakkan pada /usr)

/mnt : 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 (“addon”) seperti Netscape Navigator, kde, gnome, applix dll.

Direktori /etc

Berisi file yang berhubungan dengan administrasi system, maintenance script, konfigurasi, security dll. Hanya superuser yang boleh memodifikasi file yang berada di drektori ini. Subdirektori yang sering diakses pada direktori /etc antara lain :

  • httpd, apache web server.
  • ppp, point to point protocol untuk koneksi ke Internet.
  • rc.d atau init.d, inisialisasi (startup) dan terminasi (shutdown) proses di Linux dengan konsep runlevel.
  • cron.d, rincian proses yang dieksekusi dengan menggunakan jadwal(time dependent process)
  • FILES, file security dan konfigurasi meliputi : passwd, hosts, shadow, ftpaccess, inetd.conf, lilo.conf, motd, printcap, profile, resolv.conf, sendmail.cf, syslog.conf, dhcp.conf, smb.conf, fstab.
Direktori /dev

Konsep Unix dan Linux adalah memperlakukan peralatan hardware sama seperti penanganan file. Setiap alat mempunyai nama file yang disimpan pada direktori /dev.

Direktori /proc
Direktori /proc adalah direktori yang dibuat diatas RAM (Random Access Memory)
dengan system file yang diatur oleh kernel. /proc berisi nomor proses dari system dan nama
driver yang aktif di system. Semua direktori berukuran 0 (kosong) kecuali file kcore dan self.
Setiap nomor yang ada pada direktori tsb merepresentasikan PID (Process ID).

TIPE FILE
Pada Linux terdapat 6 buah tipe file yaitu :
  • Ordinary file
  • Direktori
  • Block Device (Peralatan I/O)
    Merupakan representasi dari peralatan hardware yang menggunakan transmisi data per block (misalnya 1 KB block), seperti disk, floppy, tape.
  • Character Device (Peralatan I/O)
    Merupakan representasi dari peralatan hardware yang menggunakan transmisi data karakter per karakter, seperti terminal, modem, plotter dll
  • Named Pipe (FIFO)
    File yang digunakan secara intern oleh system operasi untuk komunikasi antar proses
  • Link File
PROPERTI FILE
File mempunyai beberapa atribut, antara lain :
  • Tipe file : menentukan tipe dari file, yaitu:
  • Ijin akses : menentukan hak user terhadap file ini.
  • Jumlah link : jumlah link untuk file ini.
  • Pemilik (Owner) : menentukan siapa pemilik file ini
  • Group : menentukan group yang memiliki file ini
  • Jumlah karakter : menentukan ukuran file dalam byte
  • Waktu pembuatan : menentukan kapan file terakhir dimodifikasi
  • Nama file : menentukan nama file yang dimaksud.


NAMA FILE
Nama file maksimal terdiri dari 255 karakter berupa alfanumerik dan beberapa karakter spesial yaitu garis bawah, titik, koma dan lainnya kecuali spasi dan karakter “&”, “;”, “|”, “?”, “`”, “””, “’”, “[“, “]”, “(“, “)”, “$”, “<”, “>”, “{“, “}”, “^”, “#”, “\”, “/”. Linux membedakan huruf kecil dengan huruf besar (case sensitive).

SIMBOLIC LINK
Link adalah sebuah teknik untuk memberikan lebih dari satu nama file dengan data yang sama.
Bila file asli dihapus, maka data yang baru juga terhapus.Format dari Link :
ln fileAsli fileDuplikat
fileDuplikat disebut hard link dimana kedua file akan muncul identik (link count = 2) Bila fileAsli atau fileDuplikat diubah perubahan akan terjadi pada file lainnya.
Symbolic Link diperlukan bila file tersebut di “link” dengan direktori /file yang berada pada partisi yang berbeda. Tipe file menjadi l (link) dan file tersebut menunjuk ke tempat asal.Format :
ln –s /FULLPATH/fileAsli /FULLPATH/fileDuplikat
Pilihan –s (shortcut) merupakan bentuk soft link dimana jumlah link count pada file asal tidak
akan berubah. Pada bentuk soft link, symbolic link dapat dilakukan pada file yang tidak ada,
sedangkan pada hard link tidak dimungkinkan. Perbedaan lain, symbolic link dapat dibentuk melalui
media disk atau partisi yang berbeda dengan soft link, tetapi pada hard link terbatas pada partisi disk
yang sama.

MELIHAT ISI FILE
Untuk melihat jenis file menggunakan format :
file filename(s)
Isi file akan dilaporkan dengan deskripsi level tinggi seperti contoh berikut :
$ file myprog.c letter.txt webpage.html
myprog.c: C program text letter.txt: ASCII
text webpage.html: HTML document text
Perintah ini dapat digunakan secara luas untuk file yang kadang membingungkan, misalnya antara kode C++ dan Java.

MENCARI FILE
Jika ingin melihat bagaimana pohon direktori dapat digunakan perintah :
  • find
    Format : find directory –name targetfile -print
    Akan melihat file yang bernama targetfile (bisa berupa karakter wildcard)
  • which
    Format : which command
    Untuk mengetahui letak system utility
  • locate
    Format : locate string
    Akan mencari file pada semua directori dengan lebih cepat dan ditampilkan dengan path yang penuh.
MENCARI TEXT PADA FILE
Untuk mencari text pada file digunakan perintah grep (General Regular Expression Print) dengan format perintah grep option pattern files
Grep akan mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan baris yang sesuai.

PENDAHULUAN

pwd : Perintah yang digunakan untuk melihat posisi di direktori mana user berada saat ini.
cd : Perintah yang digunakan untuk masuk ke dalam direktori, bisa juga digunakan untuk keluar dari direktori.
mkdir : Perintah yang digunakan untuk membuat direktori.
rmdir : Perintah yang digunakan untuk menghapus direktori.

cp : Perintah yang digunakan untuk mengcopy file.
Format : cp <nama_file> <direktori_tujuan>
mv : Perintah yang digunakan untuk memindahkan / cut file.
Format : mv <nama_file> <direktori_tujuan>
rm : Perintah yang digunakan untuk menghapus file.
Format : rm <nama_file>

Hard Link : Digunakan untuk membuat link pada sebuah file, dan hasil link dari file tersebut sama persis dengan yang aslinya. Dan bila file link/yang asli diubah/dihapus file lain yang terhubung juga akan berubah. Untuk linknya juga terbatas hanya dalam satu partisi.
Soft Link : Digunakan untuk membuat link namun dalam bentuk shortcut. Dan bila menggunakan soft link, Link Count file yang asli tidak akan berubah, berbeda dengan hard link. Untuk linknya bisa berbeda partisi.

file : Digunakan untuk melihat jenis file.
find : Digunakan untuk mencari file.
which : Digunakan untuk mengetahui letak direktori yang user inginkan.
locate : Digunakan untuk mencari file pada semua direktori dengan lebih cepat dan ditampilkan dengan path yang penuh.
grep : Digunakan untuk mencari text pada file

PERCOBAAN:
1. Login sebagai user.
2. Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini.
Perhatikan hasilnya.
3. Selesaikan soal-soal latihan

Percobaan 1 : Direktori

1. Melihat direktori HOME.


    $pwd → Digunakan untuk melihat direktori yang bekerja pada saat ini. Pada percobaan
    didapatkan hasil /home/rifai artinya saat ini user bekerja pada direktori damelia yang
    berada didalam direktori home.

    $ echo $HOME → Digunakan untuk melihat direktori HOME. Pada hasil percobaan
    didapatkan bahwa di dalam direktori home terdapat direktori rifai.


2. Melihat direktori aktual dan parent direktori.


    $ pwd → Digunakan untuk melihat direktori yang bekerja pada saat ini. Pada percobaan didapatkan hasil /home/damelia artinya saat ini user bekerja pada direktori /rifai yang berada didalam direktori /home.

    $ cd . → Perintah cd digunakan untuk berpindah ke direktori lain. Namun jika hanya diikuti dengan    tanda satu titik saja maka perintah ini tidak akan mengeksekusi apapun. Untuk membuktikannya mari lihat hasil perintah $ pwd.

    $ pwd → Didapatkan hasil /home/damelia seperti hasil sebelumnya artinya perintah $ cd. tidak memberikan eksekusi apapun.

    $ cd .. → Perintah cd digunakan untuk berpindah ke direktori lain. Ketika perintah ini diikuti tanda dua titik maka akan mengeksekusi perintah yaitu kembali ke direktori sebelumnya.

    $ pwd → Didapatkan hasil /home artinya user telah meninggalkan direktori /rifai dan menuju direktori sebelumnya yaitu /home.

    $ cd → Perintah cd digunakan untuk berpindah ke direktori lain. Pada hasil percobaan menunjukkan bahwa user telah pindah dari /home ke direktori awal tempat user bekerja yaitu /rifai.


3. Membuat satu direktori, lebih dari satu direktori atau sub direktori.


    $ pwd → Digunakan untuk melihat direktori yang bekerja pada saat ini. Pada percobaan didapatkan hasil /home/rifai artinya saat ini user bekerja pada direktori /damelia yang berada didalam direktori /home.

   $ mkdir A B C A/D A/E B/F A/D/A → Perintah mkdir digunakan untuk membuat direktori. Pada percobaan dibuat tiga direktori yaitu /A, /B, dan /C. Kemudian didalam direktori /A dibuat subdirektori /D dan subdirektori /E. Lalu, didalam direktori /B dibuat subdirektori /F. Terakhir direktori /A yang terdapat subdirektori /D dibuat subdirektori lagi yaitu /A.

    $ ls -l → Digunakan untuk menampilkan seluruh isi dari direktori /home. Dan terlihat bahwa tiga direktori yaitu /A, /B, dan /C sudah terdapat disana.

    $ ls -l A → Digunakan untuk melihat isi direktori /A, dan terlihat bahwa dua subdirektori yaitu /D dan /E sudah terdapat disana.

    $ ls -l A/D → Digunakan untuk menampilkan isi subdirektori /D pada direktori /A dan terlihat bahwa subdirektori /A sudah terdapat disana.


4. Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya.


    $ rmdir B (Terdapat pesan error, mengapa ?) → Perintah rmdir digunakan untuk menghapus direktori. rmdir B error karena direktori tidak kosong sehingga menyebabkan direktori tidak dapat dihapus.

    $ ls -l B → Digunakan untuk melihat isi direktori /B, dan terlihat bahwa direktori /F sudah terdapat disana.

    $ rmdir B/F B → Digunakan untuk menghapus direktori B dan subdirektori F.

    $ ls -l B (Terdapat pesan error, mengapa ?) → Terdapat pesan error karena direktori B sudah dihapus pada perintah sebelumnya.


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


    $ pwd → Digunakan untuk melihat direktori yang bekerja pada saat ini. Pada percobaan didapatkan hasil /home/rifai artinya saat ini user bekerja pada direktori /rifai yang berada didalam direktori /home.

    $ ls -l → Digunakan untuk menampilkan seluruh isi dari direktori /home. Dan terlihat bahwa dua direktori yaitu /A dan /C masih terdapat disana, sedangkan direktori /B sudah dihapus.

    $ cd A → Digunakan digunakan untuk berpindah kedirektori /A.

    $ pwd → Digunakan untuk melihat direktori yang bekerja pada saat ini. Pada percobaan didapatkan hasil /home/rifai/A artinya saat ini user bekerja pada subdirektori /A yang berada didalam subdirektori /rifai yang berada didalam direktori /home.

    $ cd .. → Perintah cd digunakan untuk berpindah ke direktori lain. Ketika perintah ini diikuti tanda dua titik maka akan mengeksekusi perintah yaitu kembali ke direktori sebelumnya.

    $ pwd → Digunakan untuk melihat direktori yang bekerja pada saat ini. Pada percobaan didapatkan hasil /home/damelia artinya saat ini user bekerja pada direktori /rifai yang berada didalam direktori /home.

    $ cd /home/<user>/C → Digunakan digunakan untuk berpindah ke subdirektori /C yang berada didalam subdirektori /damelia yang berada didalam direktori /home.

    $ pwd → Digunakan untuk melihat direktori yang bekerja pada saat ini. Pada percobaan didapatkan hasil /home/rifai/C artinya saat ini user bekerja pada subdirektori /C yang berada didalam subdirektori /damelia yang berada didalam direktori /home.

   $ cd /<user/C (Terdapat pesan error, mengapa ?) → Terjadi error karena pada tidak ada nama atau direktori /rifai/C tempat user akan pindah.

    $ pwd → Digunakan untuk melihat direktori yang bekerja pada saat ini. Pada percobaan didapatkan hasil /home/rifai/C artinya saat ini user bekerja pada subdirektori /C yang berada didalam subdirektori /rifai yang berada didalam direktori /home.

Percobaan 2 : Manipulasi file

1. Perintah cp untuk mengkopi file atau seluruh direktori.


    $ cat > contoh Membuat sebuah file[Ctrl-d] → Digunakan untuk menunjukkan output dari file contoh yang isinya inputnya dulu oleh user. Isi dari file contoh yaitu kalimat “Membuat sebuah file”.

    $ cp contoh contoh1 → Digunakan untuk menyalin isi dari contoh ke contoh1.

    $ ls -l → Digunakan untuk menampilkan seluruh isi dari direktori /home. Dan terlihat bahwa dua file yaitu contoh dan contoh1 sudah terdapat disana.

    $ cp contoh A → Digunakan untuk menyalin file contoh ke direktori /A.

    $ ls –l A → Digunakan untuk menampilkan seluruh isi dari direktori /A. Dan terlihat bahwa file yaitu contoh sudah terdapat disana.

    $ cp contoh contoh1 A/D → Digunakan untuk menyalin dua file yaitu contoh dan contoh1 ke subdirektori /D pada direktori /A.

    $ ls –l A/D → Digunakan untuk menampilkan seluruh isi dari direktori A/D. Dan terlihat bahwa dua file yaitu contoh dan contoh1 sudah terdapat disana.


2. Perintah mv untuk memindah file.


$ mv contoh contoh2 → Digunakan untuk memindahkan file contoh ke file contoh2

$ ls -l → Digunakan untuk menampilkan seluruh isi dari direktori /home. Dan terlihat bahwa file yaitu contoh sudah berubah menjadi contoh2.

$ mv contoh1 contoh2 A/D → Digunakan untuk memindahkan file contoh1 dan contoh2 dari subdirektori /D di direktori /A.

$ ls –l A/D → Digunakan untuk menampilkan seluruh isi dari direktori A/D. Dan terlihat bahwa dua file yaitu contoh1 dan contoh2 sudah terdapat disana.

$ mv contoh contoh1 C → Terdapat pesan error karena tidak ada file apapun pada direktori /C.

$ ls –l C → Digunakan untuk menampilkan seluruh isi dari direktori /C. Dan terlihat bahwa “total 0” artinya tidak ada file disana.


3. Perintah rm untuk menghapus file


$ rm contoh2 → Terdapat pesan error karena file contoh2 tidak terdapat di direktori /home, hal ini disebabkan file contoh2 telah dipindahkan ke direktori A/D.

$ ls -l → Digunakan untuk menampilkan seluruh isi dari direktori /home. Dan terlihat bahwa tidak ada file contoh2.

$ rm –i contoh → Terdapat pesan error karena file contoh tidak terdapat di direktori /home, hal ini disebabkan file contoh telah diubah namanya menjadi contoh2 dan dipindahkan ke direktori A/D.

$ rm –rf A C → Digunakan untuk menghapus direktori /A dan /C.

$ ls -l → Digunakan untuk menampilkan seluruh isi dari direktori /home. Dan terlihat bahwa tidak ada direktori /A dan /C.

Percobaan 3 : Symbolic Link

Membuat shortcut (file link)



$ echo "Hallo apa kabar" > halo.txt → Digunakan untuk membuat kalimat “Hallo apa kabar” yang akan dimasukan ke dalam file halo.txt

$ ls -l → Digunakan untuk menampilkan seluruh isi dari direktori /home. Dan terlihat bahwa file halo.txt sudah terdapat disana.

$ ln halo.txt z → Digunakan untuk membuat link pada direktori home yang berfungsi untuk memberikan dari satu nama file dengan data yang sama. Dimana file isi halo.txt akan sama file z.

$ ls -l → Digunakan untuk menampilkan seluruh isi dari direktori /home. Dan terlihat bahwa file z sudah terdapat disana.

$ cat z → Digunakan untuk melihat isi file z

$ mkdir mydir → Perintah mkdir digunakan untuk membuat direktori. Pada percobaan dibuat direktori yaitu mydir.

$ ln z mydir/halo.juga → Digunakan untuk membuat link pada direktori home. Dimana isi file z akan sama dengan file halo.juga, kemudian file halo.juga akan disimpan ke dalam direktori /mydir.

$ cat mydir/halo.juga → Digunakan untuk melihat isi file halo.juga yang terdapat dalam direktori /mydir.

$ ln -s z bye.txt → Digunakan untuk membuat link pada direktori home yang berfungsi untuk memberikan dari satu nama file dengan data yang sama. Dimana file isi bye.txt akan sama file z.

$ ls -l bye.txt → Digunakan untuk menampilkan seluruh isi dari file bye.txt

$ cat bye.txt → Digunakan untuk melihat isi file bye.txt


Percobaan 4 : Melihat isi file


$ ls –l → Digunakan untuk menampilkan seluruh isi dari direktori /home.
$ file halo.txt → Digunakan untuk melihat informasi file halo.txt berupa ASCII text.
$ file bye.txt → Digunakan untuk melihat informasi bye.txt yang merupakan symbolic link to z.


Percobaan 5 : Mencari file



$ find /home –name “*.txt” –print > myerror.txt → Digunakan untuk mencari letak file sesuai dengan ektensi file. Perintah tersebut akan mencari letak file dengan ektensi “*.txt” yang terdapat pada direktori /home kemudian hasil pencarian tersebut akan dimasukan ke dalam file bernama “myerror.txt”.

$ cat myerror.txt → Digunakan untuk melihat isi file myerror.txt.

$ find . –name “*.txt” –exec wc –l ‘{}’ ‘;’ → Digunakan untuk mencari letak file sesuai dengan ektensi file.

$ which ls → Digunakan untuk mencari direktori mana yang terdapat ls.

$ locate “*.txt” → Digunakan untuk mencari file pada semua direktori yang memiliki ekstensi .txt


Percobaan 6 : Mencari text pada file


$ grep Hallo *.txt → Digunakan untuk melihat file .txt yang memiliki isi “Hallo”.



KESIMPULAN

Kesimpulan percobaan “Operasi File dan Struktur Direktory” adalah 

  • Sistem file pada Linux menyerupai tree (pohon) yang dimulai dari root kemudian direktori dan ada subdirektori.
  • Pada sistem operasi Linux ini, user dapat mengatur atau memanipulasi struktur file dan direktori yang ada pada sistem sesuai dengan kebutuhan. Terdapat perintah-perintah yang digunakan untuk memindahkan, menghapus atau mengcopy file dari satu direktori ke direktori lain.
  • User tidak dapat menghapus suatu direktori apabila dalam direktori tersebut terdapat isi.
  • Terdapat dua sistem symbolic link atau membuat shortcut (file link) yaitu hardlink dan softlink. Hardlink digunakan untuk membuat link pada sebuah file, dan hasil link dari file tersebut sama persis dengan yang aslinya, sedangkan Softlink digunakan untuk membuat link namun dalam bentuk shortcut.

Pengoperasian Input dan Output pada Linux

Pengoperasian Input dan Output pada Linux


Pokok Bahasan

  • Pipeline
  • Redirection


Tujuan Belajar

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:

  • Memahami konsep proses I/O dan redirection
  • Memahami standar input, output dan error
  • Menggunakan notasi output, append dan here document
  • Memahami konsep PIPE dan filter

Dasar Teori

Proses I/O

Sebuah proses memerlukan Input dan Output.

Instruksi (command) yang diberikan pada Linux melalui Shell disebut sebagai eksekusi program yang selanjutnya disebut proses. Setiap kali instruksi diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Process Identity). Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu Output.
Dalam konteks Linux input/output adalah:
  • Keyboard (input)
  • Layar (output)
  • Files
  • Struktur data kernel
  • Peralatan I/O lainnya

File Descriptor

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)
Linux tidak membedakan antara peralatan hardware dan file, Linux memanipulasi peralatan 
hardware sama dengan file.

Pembelokan (Redirection)

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

Pipa (Pipeline)

Mekanisme pipa digunakan sebagai alat komunikasi antar proses.

    Input > Proses 1 > Output = Input > Proses 2 > Output

Proses 1 menghasilkan output yang selanjutnya digunakan sebagai input oleh Proses 2. 
Hubungan output input ini dinamakan pipa, yang menghubungkan Proses 1 dengan Proses2 
dan dinyatakan dengan symbol “|”.
    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 Pn-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.

Beberapa perintah Linux yang digunakan untuk proses penyaringan antara lain :
  • Perintah grep
    Digunakan untuk menyaring masukannya dan 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.

Pendahuluan

Redirection adalah pembelokan yang dilakukan untuk standar input, output, dan error dan untuk mengalihkan file descriptor dari 0, 1, dan 2.

Pipeline adalah suatu mekanisme pipa yang digunakan sebagai alat komunikasi antar proses.

Berikut saya tampilkan beberapa command beserta fungsinya.
echo : untuk menampilkan output ke layar.
cat : untuk menghasilkan output ke layar dan merupakan berasal dari input sebuah keyboard.
more : untuk mem-paging halaman.
sort : untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari karakter.
grep : untuk menyaring masukannya dan menampilkan baris-baris yang hanya mengandung pola yang ditentukan.
wc : untuk menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang diberikan kepadanya.
cut : untuk mengambil kolom tertentu dari baris-baris masukannya, yang ditentukan pada option –c.
uniq : untuk menghilangkan baris-baris berurutan yang mengalami duplikasi, biasanya digabungkan dalam pipeline dengan sort.

Percobaan

File descriptor

$ps
Perintah untuk menampilkan proses yang sedang berjalan pada sistem (kernel) diperlihatkan pada layar atau proses status.

$cat
Perintah untuk menghasilkan output ke layar dan merupakan berasal dari input sebuah keyboard

$mail rifai656.ar@gmail.com
Perintah untuk menulis email dari keyboard pada terminal dan mengrimnya kealamat yang ditentukan.

$mkdir dirmail
Perintah untuk membuat direktori/ folder dari consule terminal dengan nama direktori mydir. Pada percobaan diatas dirktori mydir tidak dapat dibuat karena file exists yang berarti file tersebut sudah dibuat sebelumnya dengan nama yang sama.



Pembelokan (Redirection)


$cat 1> myfile.txt
Digunakan untuk membelokkan standar input kedalam satu file bernama myfile.txt.

$cat 0< myfile.txt
$cat myfile.txt
Digunakan untuk membelokkan standar input, dari keyboard menjadi file.

$mkdir dirmail
$mkdir dirmail 2> myerror.txt$cat myerror.txt
Perintah pembelokan standar output error yang disimpan dalam file. Dan jika membuat sebuah direktori baru dengan nama yang sama maka akan tampil pesan error, dan kemudian akan menyimpan file myerror.txt. $ cat myerror.txt perintah untuk melihat isi dari file myerror.txt


$ls filebaru
$ls filebaru 2> out.txt
$cat out.txt
$ls filebaru 2> out.txt 2>&1
$cat out.txt
Notasi 2>&1 adalah Pembelokan standar error (2>) adalah identik dengan file descriptor 1.


$echo "mencoba menulus file" 1> baru
$cat filebaru 2> baru 1>&2
$cat baru
Pembelokan standar out adalah sama dengan file deskriptor 2 yaitu standar error .$ echo “mencoba menulis file” 1> baru : perintah untuk menginput teks “mencoba menulis file”   yang disimpan dalam file baru

$echo "kata pertama" > surat
$echo "kata kedua" >> surat
$echo "kata ketiga" >> surat
$cat surat
$echo "kata keempat" > surat
$cat surat
notasi >>(append) merupakan penambahan isi dari file tanpa menghapus yang sudah didalamnya.

$cat <<++
$cat <<%%%
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 myfile.txt - surat
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.

$echo hello
$echo hello > output
$cat output
Untuk membelokkan standart output ke file, digunakan operator > 

$echo bye >> output
$cat output
Untuk menambahkan output ke file digunakan operator >>

$cat < output
Untuk membelokkan standart input digunakan operator < 


$cat < output > out
$cat out
$cat < output >> out
$cat out
$cat < output > output
$cat output
$cat < out >> out
$cat out
$cat < out >> out

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


Pipa (Pipeline)

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

$who
perintah untuk mengetahui daftar pemakai yang sedang aktif (login). 

$who | sort
perintah yang fungsinya untuk mengurutkan aplikasi yang aktif secara ascending dari yang terkecil ke yang terbesar. 

$who | sort -r
perintah operator pipa yang berfungsi untuk mengurutkan aplikasi yang aktif secara descending dari yang terbesar ke yang terkecil. 

$who > tmp

$sort tmp
$rm tmp
perintah yang digunakan untuk menampilkan isi dari file tmp dan diurut berdasarkan abjad.

$ls -l /etc | more
perintah yang digunakan untuk menampilkan nama direktori etc secara lengkap yang terdiri dari nama file, atau menampilkan isi direktori dengan list yang panjang. 

$ls -l /etc | sort | more
perintah untuk menampilkan nama direktori etc secara lengkap yang terdiri dari nama file, atau menampilkan isi direktori dengan secara berurut dari yang terkecil ke yang terbesar (ascending) dengan list yang panjang.


Filter

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

$w -h | grep rifai(user)
$grep rifai(user) /etc/passwd
$ls /etc | wc
$ls /etc | wc -l
$cat > kelas1.txt
$cat > kelas2.txt
$cat kelas1.txt kelas2.txt | sort
$cat kelas1.txt kelas2.txt > kelas.txt
$cat kelas.txt | sort | uniq



Kesimpulan

Sistem file pada Linux menyerupai tree (pohon) yang dimulai dari root kemudian
direktori dan ada sub direktori.
Pada sistem operasi Linux ini, user dapat mengatur atau memanipulasi struktur file dan direktori yang ada pada sistem sesuai dengan kebutuhan. Terdapat perintah - perintah yang digunakan untuk memindahkan, menghapus atau mengcopy file dari satu direktori ke direktori lain.
User tidak dapat menghapus suatu direktori apabila dalam direktori tersebut terdapat isi.
Terdapat dua sistem symbolic link atau membuat shortcut (file link) yaitu hardlink dan softlink. Hardlink digunakan untuk membuat link pada sebuah file, dan hasil link dari file tersebut sama persis dengan yang aslinya, sedangkan Softlink digunakan untuk membuat link namun dalam bentuk shortcut.

Friday, October 6, 2023

Perintah dasar Linux

 


Setelah sebelumnya kalian telah menginstall os ubuntu desktop, kali ini saya akan membagikan beberapa perintah dasar yang ada pada distro linux. Perintah-perintah ini dapat dijalankan pada seluruh distro linux. Sebelumnya saya telah membuat perintah-perintah dasar linux, jika kalian ingin melihatnya dapat klik link berikut https://ahmadrifai-tkj.blogspot.com/2019/07/macam-macam-perintah-dasar-pada-linux.html. Jika kalian belum menginstall os ubuntu, kalian bisa klik disini.

Berikut ini beberapa perintah dasar linux

Perintah yang berfungsi untuk melihat identitas diri (nomor id dan group id).
id


Perintah untuk melihat tanggal dan kalender.

cal -y
Perintah ini berfungsi untuk menampilkan kalender selama 1 tahun.

perintah cal ini juga dapat memanggil kalender sesuai yang kita inginkan.
cal (urutan bulan) (tahun)


Jika kalian tidak dapat menjalankan perintah cal dengan keterangan berikut

Kalian harus menginstall library cal dengan mengetik perintah sudo apt install ncal.

Perintah untuk melihat identitas mesin.


Perintah untuk melihat siapa saja yang sedang aktif.

w
Perintah ini berfungsi untuk melihat user yang sedang aktif dan sudah berapa lama user itu login.

who
Sama seperti perintah sebelumnya, melihat user yang sedang login dan pada pukul berapa user tersebut login.

whoami
Melihat user yang sedang aktif/login.


Perintah untuk mengubah informasi finger.

chfn (user)
Perintah ini berfungsi mengedit informasi user, Kalian dapat menambahkan nomor telepon kalian.

Perintah untuk melihat informasi finger.

finger
Melihat beberapa finger yang login dengan informasi waktu login, serta nama user.

finger (user)
Melihat informasi finger yang lebih detail dari perintah sebelumnya.

Perintah manual (man).

sebuah perintah yang akan menampilkan halaman manual berisi instruksi atau deskripsi mengenai command tertentu.

man ls

man man

man -k file

man 5 passwd

Perintah untuk membersihkan layar terminal.

clear

Perintah untuk mencari sesuatu dengan keyword.

apropos
Perintah apropos membantu pengguna menemukan perintah apa pun dengan menggunakan halaman man.

Perintah untuk mencari sesuatu sesuai dengan namanya.

whatis
Perintah ini menampilkan informasi singkat mengenai suatu perintah.

Perintah untuk menampilkan file dan direktori.

ls
perintah yang digunakan untuk melihat direktori pada linux. Perintah ini digunakan untuk melihat atau menampilkan/list isi dari folder/direktori di linux. Jika diketikan langsung maka akan menampilkan isi dari direktori Anda berada saat ini.

ls -l
Perintah yang akan menampilkan nama file dan informasi dari file yang ditampilkan.

ls-a
Perintah yang akan untuk menampilkan semua file, termasuk yang tersembunyi, dalam direktori suatu direktori.


ls -f

ls /usr
Perintah ini digunakan untuk melihat file atau direktori yang berada di folder /usr.

ls /
Perintah ini digunakan untuk melihat seluruh direktori.


Perintah untuk melihat tipe file.

file
Perintah ini digunakan untuk menentukan jenis atau format file.

file *
Perintah ini digunakan untuk melihat jenis file.

file /bin/ls
Perintah ini digunakan untuk melihat informasi file /bin/ls.


Perintah untuk menyalin file.

cp
Perintah ini digunakan untuk menyalin suatu file.

Berikut merupakan contoh ketika menyalin file kedalam suatu direktori.

Perintah untuk melihat isi file.

cat


more (nama file)


Perintah untuk mengubah nama file.

mv
Perintah ini berfungsi untuk mengubah nama suatu file.

Perintah ini juga dapat memindahkan suatu file ke direktori lain yang dituju.

Perintah untuk menghapus file.

rm


Perintah untuk mencari kata/kalimat dalam file.

grep