Telusuri

Praktikum 2 Operasi Input & Output

 

LAPORAN PRAKTIKUM 2
OPERASI INPUT DAN OUTPUT


SISTEM OPERASI

DOSEN PENGAMPU: MOHAMMAD FATHURAHMAN S.T., M.T.

Disusun Oleh:

Purbo Dwi Junianto (2203421016)

BM 5B

PROGRAM STUDI BROADBAND MULTIMEDIA

JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI JAKARTA 
DEPOK, 2024



Halo, para pembaca sekalian! Selamat datang di blog saya. Pada kesempatan kali ini, saya ingin berbagi mengenai salah satu tugas yang baru saja saya selesaikan. Tugas ini berhubungan dengan sistem operasi Linux, yang tentunya sudah tidak asing lagi bagi mereka yang berkecimpung di dunia teknologi informasi.

Linux adalah salah satu sistem operasi yang sangat populer di kalangan pengembang, sistem administrator, dan para penggiat open-source. Salah satu alasan utamanya adalah karena Linux menawarkan fleksibilitas dan kekuatan dalam hal pengelolaan sistem dan jaringan. Banyak dari kita yang mungkin sudah pernah menggunakan Linux, tetapi seringkali masih ada hal-hal mendasar yang perlu kita pahami lebih dalam.

Pada postingan ini, saya akan mengulas beberapa operasi input dan output (I/O) di Linux yang sangat penting untuk diketahui, terutama bagi mereka yang baru memulai atau sedang belajar lebih lanjut tentang sistem operasi ini. Operasi I/O ini mencakup interaksi dengan file dan direktori, penanganan data dari input standar (keyboard), serta output standar (layar). Memahami konsep I/O ini akan sangat membantu dalam mengelola sistem serta berinteraksi dengan beragam perangkat di lingkungan Linux.



A,  POKOK BAHASAN:

  • Pipeline
  • Redirection

B.  TUJUAN BELAJAR:

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:

  • Memahami konsep proses VO dan redirection
  • Memahami standar input, output dan error
  • v/ Menggunakan notasi output, append dan here document
  • Memahami konsep PIPE dan filte
C.  ABSTRAK

Linux merupakan sistem operasi yang banyak digunakan dalam berbagai lingkungan teknologi karena fleksibilitas dan kemampuannya dalam pengelolaan sistem serta jaringan. Salah satu aspek penting yang perlu dipahami dalam penggunaan Linux adalah operasi input-output (I/O), yang mencakup interaksi antara sistem dengan pengguna atau perangkat melalui proses pengambilan dan pengiriman data. Artikel ini mengulas beberapa operasi I/O dasar yang sering digunakan dalam sistem Linux, seperti pengelolaan file dan direktori, serta penggunaan input dan output standar. Pemahaman mendalam tentang operasi I/O di Linux akan membantu pengguna dalam mengoptimalkan pengelolaan sistem dan meningkatkan efisiensi kerja, terutama bagi mereka yang baru memulai atau sedang mendalami penggunaan Linux.

D.  DASAR TEORI

1. PROSES I/O
Sebuah proses memerlukan Input dan Output

Instruksi (command) yang diberikan pada Linux melalui Shell disebut sebagai eksekusi program yang sela njutnya 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 (misalnya Network)

2.  FILE DESCRIPTOR

Linux berkomunikasi dengan file melalui file descriptor yang direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya.
Tiga buah 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.

3.  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 >

4.  PIPA (PIPELINE)

Mekanisme pipa digunakan sebagai alat komunikasi antar proses.

Input  =>  Proses1  =>  Output  =>  Input  =>  Proses2  => Output

Proses 1 menghasilkan output yang selanjutnya digunakan sebagai input oleh Proses 2. Hubungan output input ini dinamakan pipa, yang menghubngkan Proses 1 dengan Proses 2 dan dinyatakan dengan symbol |

Proses1   |   Proses2

5.  FILTER
Filter adalah utilitas Linux yang dapat memproses standard input (dari keyboard) dan menampilkan hasilnya pada standard output (layar). Contoh filter adalah catsortgrepprheadtailpaste 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 wholspslplprmail 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 opsi -l, untuk mengetahui berapa kata, gunakan opsi -w dan untuk mengetahui berapa karakter, gunakan opsi -c. Jika salah satu opsi 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 opsi -c.

  • Perintah uniq

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


E.  TUGAS PENDAHULUAN

1.  Apa yang dimaksud redirection?

Redirection adalah proses pengalihan input atau output dari suatu perintah. Secara default, input berasal dari keyboard (standard input) dan output ditampilkan di layar (standard output). Dengan redirection, kita bisa mengarahkan input dari file atau mengarahkan output ke file atau perangkat lain. Contoh penggunaannya adalah dengan menggunakan simbol > untuk mengalihkan output ke file dan simbol < untuk mengambil input dari file.

2.  Apa yang dimaksud pipeline?

Pipeline adalah mekanisme di Linux yang memungkinkan output dari satu perintah digunakan sebagai input untuk perintah berikutnya, tanpa perlu menyimpan output tersebut ke dalam file sementara. Ini dilakukan menggunakan simbol |. Dengan pipeline, kita bisa menggabungkan beberapa perintah untuk memproses data secara berurutan.

3.  Apa yang dimaksud perintah di bawah ini:

  • echo: Digunakan untuk menampilkan pesan atau string ke layar. Misalnya, echo "Hello, World!" akan mencetak teks "Hello, World!" di layar.
  • cat: Digunakan untuk menampilkan isi dari satu atau beberapa file ke layar atau menggabungkan file.
  • more: Digunakan untuk menampilkan isi file secara halaman per halaman di layar.
  • sort: Digunakan untuk mengurutkan baris-baris dalam file berdasarkan urutan abjad atau nomor ASCII.
  • grep: Digunakan untuk mencari baris yang cocok dengan pola tertentu di dalam file.
  • wc: Digunakan untuk menghitung jumlah baris, kata, dan karakter dalam file.
  • cut: Digunakan untuk memotong kolom atau bagian tertentu dari setiap baris masukan.
  • uniq: Digunakan untuk menghapus baris yang berulang dari input, sering digunakan setelah sort untuk mengidentifikasi baris duplikat.

F.  PERCOBAAN

PERCOBAAN 1 : FILE DESCRIPTOR
1.  Output ke layar (standar output), input dari system (kernel)

Pada gambar yang diberikan, terlihat keluaran dari perintah ps pada terminal Linux. Perintah ini digunakan untuk menampilkan informasi tentang proses yang sedang berjalan di sistem. Dalam output tersebut, terdapat beberapa kolom penting.

Kolom PID menunjukkan identifikasi unik untuk setiap proses yang berjalan, di mana terlihat proses dengan ID 3803 (bash shell) dan 3874 (perintah ps itu sendiri) sedang aktif. Kolom TTY menunjukkan terminal yang terkait dengan proses tersebut, yaitu pts/0, yang menandakan bahwa kedua proses tersebut berjalan pada sesi terminal yang sama. Kolom TIME menunjukkan berapa lama proses tersebut telah menggunakan CPU, dan pada gambar terlihat bahwa kedua proses belum menggunakan waktu CPU secara signifikan (ditampilkan sebagai 00:00:00). Terakhir, kolom CMD menunjukkan perintah yang menjalankan proses, yaitu bash untuk shell dan ps untuk perintah yang digunakan.

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

Pada gambar ini, terlihat perintah cat yang dijalankan pada terminal Linux. Perintah cat digunakan untuk menampilkan isi dari suatu file atau input teks langsung ke terminal.

Di sini, teks yang muncul adalah "haii saya ipin" yang ditampilkan dua kali. Hal ini kemungkinan terjadi karena teks tersebut diketik secara manual di terminal atau berasal dari sebuah file yang berisi teks yang sama pada dua baris.

3.  Input dari keyboard dan output ke alamat internet
  • Perintah ini mengindikasikan bahwa email akan dikirim ke alamat pasdonk021@gmail.com.
  • Cc: Pengguna menambahkan alamat email wilvan60@gmail.com di bagian "Cc" (carbon copy), yang berarti salinan email akan dikirim ke alamat ini juga.
  • Subject: Subjek email ditetapkan sebagai "ini ipin".

4.  Input nama direktori, output tidak ada (membuat direktori baru), bila terjadi error maka tampilan error pada layar (standard error)
Pada perintah ini untuk membuat directory dengan nama mydir, lalu karna kita menulis ulang perintah untuk membuat directory dengan nama yang sama, sistem erro karan nama directory dengan nama mydir suda tersedia.

PERCOBAAN 2 : PEMBELOKAN (redirection)
1.  Pembelokan standar output
Pada gambar tersebut, perintah Linux cat > myfile.txt digunakan untuk menyimpan input teks ke dalam file bernama myfile.txt. Setelah perintah dijalankan, pengguna mengetikkan teks "saya menyimpan text ini", yang kemudian akan disimpan ke dalam file tersebut. Perintah ini memungkinkan pengguna untuk membuat file baru atau menimpa file yang sudah ada dengan teks yang dimasukkan, dan proses input dihentikan dengan menekan Ctrl+D.

2.  Pembelokan standar input, yaitu input dibelokkan dari keyboard menjadi dari file  
Pada gambar tersebut, dua perintah Linux digunakan untuk membaca dan menulis file. Perintah pertama, cat > myfile.txt, mengarahkan teks "saya menyimpan text ini" ke dalam file myfile.txt, yang membuat atau menimpa isi file dengan teks tersebut. Setelah itu, perintah kedua, cat myfile.txt, digunakan untuk membaca isi file myfile.txt dan menampilkan teks "saya menyimpan text ini" ke layar. Perintah pertama digunakan untuk menyimpan teks, sementara perintah kedua untuk menampilkan isi file yang telah dibuat.

3.  Pembelokan standar error untuk disimpan di file

Percobaan ini melibatkan penggunaan perintah mkdir untuk membuat direktori baru bernama mydir. Pada percobaan pertama, ketika pengguna mencoba menjalankan perintah mkdir mydir, sistem menampilkan pesan kesalahan "cannot create directory 'mydir': File exists", yang menunjukkan bahwa direktori dengan nama tersebut sudah ada.

Selanjutnya, pengguna menjalankan perintah mkdir mydir 2> myerror.txt. Perintah ini menggunakan redirection untuk mengarahkan pesan kesalahan (standard error) ke dalam file myerror.txt alih-alih menampilkannya di layar. Akhirnya, perintah cat myerror.txt digunakan untuk membaca isi file myerror.txt, yang menampilkan pesan kesalahan yang sama: "cannot create directory 'mydir': File exists". Dengan ini, kesalahan disimpan dalam file dan tidak langsung ditampilkan ke layar.


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

Berdasarkan percobaan yang dilakukan di terminal Linux, pengguna mencoba menjalankan perintah untuk melihat isi dari direktori atau file yang bernama filebaru menggunakan perintah ls filebaru. Namun, sistem memberikan pesan kesalahan yang menunjukkan bahwa file atau direktori tersebut tidak ditemukan, dengan pesan "No such file or directory".

Pada percobaan selanjutnya, pengguna mencoba mengalihkan pesan kesalahan tersebut ke sebuah file dengan menggunakan perintah ls filebaru 2> out.txt, di mana 2> digunakan untuk mengarahkan output error (stderr) ke file out.txt. Setelah itu, saat memeriksa isi file out.txt menggunakan perintah cat out.txt, hasilnya menunjukkan pesan kesalahan yang sama, yakni "No such file or directory", menegaskan bahwa file atau direktori yang dicari memang tidak ada.

5.  Notasi 1> & 2 (atau >&2) : pembelokan standar output adalah sama dengan file descriptor 2 yaitu standar error
Pada percobaan ini, pengguna menggunakan beberapa perintah di terminal Linux. Pertama, perintah echo "mencoba menulis file" > baru digunakan untuk menuliskan teks "mencoba menulis file" ke dalam file bernama baru. Jika file baru belum ada, perintah ini akan membuatnya; jika sudah ada, isinya akan ditimpa dengan teks baru tersebut. Selanjutnya, pengguna menjalankan perintah cat filebaru > baru 1>&2 untuk mencoba membaca isi dari file bernama filebaru dan mengalihkan output standarnya (stdout) ke output error (stderr). Namun, karena file filebaru tidak ada, sistem menampilkan pesan kesalahan "No such file or directory", dan tidak ada perubahan pada file baru. Terakhir, pengguna menampilkan isi dari file baru dengan perintah cat baru, yang seharusnya masih berisi teks dari perintah echo sebelumnya, karena percobaan dengan cat filebaru tidak berhasil menambahkan atau mengubah isinya.

6.  Notasi >> (append)
Pada percobaan ini, saya menggunakan perintah echo untuk menulis dan menambahkan teks ke dalam file bernama surat. Pertama, saya menulis "kata pertama" ke dalam file surat dengan perintah echo "kata pertama" > surat, yang menimpa isi file jika sudah ada, atau membuat file baru jika belum ada. Selanjutnya, saya menambahkan "kata kedua" dan "kata ketiga" ke file yang sama menggunakan echo dengan operator >>, yang menambahkan teks tanpa menghapus isi sebelumnya. Setelah itu, saya menggunakan perintah cat surat untuk menampilkan isi file, dan hasilnya menunjukkan "kata pertama", "kata kedua", dan "kata ketiga". Terakhir, saya menulis "kata keempat" ke dalam file surat dengan perintah echo "kata keempat" > surat, yang menggantikan seluruh isi file sehingga hanya "kata keempat" yang tersisa.

7. 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.
Pada percobaan ini, saya mencoba menggunakan perintah cat dengan simbol-simbol khusus seperti cat <<<+ dan cat <<<%%. Simbol <<< adalah bentuk here string di Bash, yang mengarahkan teks langsung sebagai input standar ke perintah. Saya memasukkan teks seperti "halo, apa kabar?" dan "baik baik, saja?" secara langsung sebagai input ke cat, yang kemudian menampilkan kembali teks tersebut. Setiap blok teks dimasukkan dengan tanda + atau %% dan ditampilkan ulang oleh perintah cat.

8.  Notasi - (input keyboard) adalah representasi input dari keyboard. Artinya menampilkan file 1, kemudian menampilkan input dari keyboard dan menampilkan file 2. Perhatikan bahwa notas "-" berarti menyelipkan input dari keyboard
Perintah cat myfile.txt menampilkan isi dari file bernama myfile.txt. Isi file tersebut berupa teks dalam Bahasa Indonesia, yaitu “surat saya menyimpan text ini” dan “kata keempat”. Ini menunjukkan penggunaan perintah cat untuk melihat isi dari file teks secara langsung di terminal.

9.  Untuk membelokan standar output ke file , digunakan operator >
Perintah echo hello mencetak kata "hello" langsung ke terminal. Kemudian, perintah echo hello > output mengarahkan (redirect) kata "hello" ke dalam file baru bernama output. Simbol > berfungsi untuk membuat atau menimpa file jika sudah ada. Perintah cat output selanjutnya menampilkan isi file output, yang berisi kata "hello".

10.  Untuk menambahkan output ke file digunakan operartor >>
Pada langkah ini, perintah echo bye >> output menambahkan (append) kata "bye" ke file output yang sudah ada. Simbol >> memastikan bahwa konten baru ditambahkan tanpa menghapus isi file yang sudah ada. Namun, hasil dari cat output menunjukkan bahwa file hanya berisi kata "bye", yang menunjukkan bahwa konten sebelumnya tertimpa alih-alih ditambahkan.

11.  Untuk membelokan standar input, digunakan operator <
Pada percobaan terakhir, perintah echo bye >> output dijalankan lagi, dan kali ini teks "bye" berhasil ditambahkan ke dalam file output, yang sudah berisi "hello". Setelah menjalankan cat output, file tersebut kini berisi "hello" dan "bye", yang menunjukkan bahwa teks berhasil ditambahkan tanpa menghapus isi sebelumnya.

12.  Pembelokan standar input dan standar output dapat dikombinasikan tetapi tidak boleh menggunakan nama file yang sama sebagai standar input dan output
Pada gambar tersebut, terdapat satu percobaan. Perintah pertama cat < output > out digunakan untuk menyalin isi file output ke file baru bernama out. Setelah perintah ini dijalankan, cat out digunakan untuk menampilkan isi file out, yang menunjukkan bahwa file tersebut kini berisi "hello" dan "bye", salinan dari file output. Selanjutnya, ketika perintah cat < output >> out dijalankan, isi file output ditambahkan (bukan ditimpa) ke file out, yang menyebabkan isi file out kini berisi dua set data "hello" dan "bye". Setelah itu, percobaan lain dilakukan dengan perintah cat < output > output, di mana terjadi error karena file input dan output yang digunakan sama, sehingga terminal menampilkan pesan error "input file is output file". Kesalahan ini menunjukkan bahwa dalam Linux, file input dan output tidak boleh sama dalam operasi yang melibatkan redirection secara langsung, karena akan menimbulkan konflik saat data diproses.

PERCOBAAN 3 : PIPA (pipeline)

1.  Operator pipa (|) digunakan untuk membuat eksekusi proses dengan melewati data langsung ke data lainnya
Pada gambar tersebut terdapat beberapa perintah terminal Linux yang digunakan untuk memeriksa pengguna yang sedang login, melakukan pengurutan teks, serta menampilkan isi direktori. Perintah pertama, who, menampilkan daftar pengguna yang sedang login beserta terminal yang digunakan dan waktu login. Pengguna wilvan terlihat login di beberapa terminal (seat0, tty2, tty1). Kemudian, perintah who | sort mengurutkan hasil dari perintah who secara alfabetis, sedangkan perintah who | sort -r mengurutkannya secara terbalik. Perintah rm tmp digunakan untuk menghapus file bernama tmp, tetapi tidak ada output karena perintah ini tidak menampilkan pesan jika berhasil. Selanjutnya, perintah ls -l /etc | more menampilkan daftar file dan direktori di folder /etc dengan detail, yang kemudian diurutkan menggunakan sort untuk melihatnya lebih terstruktur.

PERCOBAAN 4 : FILTER
1.   pipa juga digunakan unutk mengkombinasikan utilitas sistem untuk membentuk fungsi yang lebih kompleks

Pertama, saya mencoba menggunakan perintah w -h | grep <user>, namun muncul kesalahan sintaksis "error near unexpected token 'newline'", menunjukkan bahwa ada kesalahan dalam penulisan perintah. Lalu, saya mencoba menggunakan grep <user> /etc/passwd untuk mencari informasi pengguna, tetapi hasilnya menunjukkan bahwa pengguna yang dicari tidak ditemukan di direktori tersebut, dengan pesan "No such file or directory".

Selanjutnya, saya menggunakan perintah ls | wc -l untuk menghitung jumlah file di direktori saat ini, dan hasilnya menunjukkan ada 235 file. Saya kemudian menjalankan perintah ls /etc | wc -l untuk menghitung jumlah file di direktori /etc, yang juga menghasilkan angka yang sama, 235 file.

Langkah berikutnya, saya menampilkan isi dari dua file teks, kelas1.txt dan kelas2.txt, yang berisi nama-nama, dengan menggunakan perintah cat. Setelah itu, saya menggabungkan kedua file tersebut menggunakan cat kelas1.txt kelas2.txt | sort, yang berfungsi untuk mengurutkan nama-nama dari kedua file tersebut secara alfabetis.

Untuk menggabungkan kedua file secara permanen, saya menggunakan cat kelas1.txt kelas2.txt > kelas.txt, yang menulis hasil penggabungan ke dalam file baru bernama kelas.txt. Lalu, saya menerapkan perintah sort lagi pada file tersebut untuk memastikan bahwa daftar nama tersusun rapi. Terakhir, saya menggunakan cat kelas.txt | sort | uniq, yang mengurutkan sekaligus menghilangkan duplikasi nama, menghasilkan daftar nama unik.


G.  LATIHAN

1.   Lihat daftar secara lengkap pada direktori aktif, belokkan tampilan standard output ke file baru.

2.  Lihat daftar secara lengkap pada direktori /etc/passwd, belokkan tampilan standard output ke file baru tanpa menghapus file baru sebelumnya.
                                        

3. Urutkan file baru dengan cara membelokkan standard input.

4. Urutkan file baru dengan cara membelokkan standard input dan standard output ke file baru.urut.

5. Buatlah direktori latihan2 sebanyak 2 kali dan belokkan standard error ke file rmdirerror.txt

6. Urutkan kalimat berikut dengan menggunakan notasi here document:

Jakarta
Bandung
Surabaya
Padang
Palembang
Lampung

7. Hitung jumlah baris, kata, dan karakter dari file baru.urut dengan menggunakan filter dan tambahkan data tersebut ke file baru.

8. Gunakan perintah di bawah ini dan perhatikan hasilnya:
cat > hello.txt
dog cat
cat duck
dog chicken
chicken duck
chicken cat
dog duck
[Ctrl-d]
cat hello.txt | sort | uniq
cat hello.txt | grep “dog” | grep –v “cat

H.  LATIHAN RESMI

1. Analisis hasil percobaan 1 sampai dengan 4, untuk setiap perintah jelaskan tampilannya 

Percobaan

Perintah informasi user

Analisa

1

$ ps

Menampilkan informasi tentang proses-proses yang sedang berjalan di sistem. Perintah ini mengambil data dari kernel, yang bertanggung jawab mengelola proses, dan menampilkan hasilnya ke layar (standard output).

$ cat

Perintah cat ini digunakan untuk membaca input dari keyboard dan mencetaknya langsung ke layar (standard output). Pengguna mengetikkan pesan (seperti "hallo, apa khabar") dan menggunakan kombinasi Ctrl+D untuk menandakan akhir dari input.

$ mail

Perintah mail digunakan untuk mengirim email dari sistem Unix/Linux. Pengguna akan mengetikkan isi email langsung pada terminal. Pesan akan dikirim ke alamat email yang diberikan setelah input selesai (ditandai dengan Ctrl+D).

$ mkdir/

mydir

Perintah mkdir akan mencoba membuat direktori baru. Jika direktori tersebut sudah ada, maka sistem akan menampilkan pesan error ke layar (standard error). Jika tidak ada error, maka direktori akan berhasil dibuat tanpa ada output.

2

$ cat 1> myfile.txt

Semua teks yang diketikkan setelah perintah ini tidak akan ditampilkan di layar, melainkan disimpan di file yang disebutkan.

$ cat 0< myfile.txt

Alih-alih mengetikkan teks dari keyboard, perintah ini membaca isi dari file myfile.txt dan menampilkannya di layar.

$ mkdir mydir 2> myerror.txt

Standard error (descriptor 2) digunakan untuk mengalihkan pesan kesalahan, dan perintah ini memastikan pesan error tidak muncul di layar, melainkan disimpan di dalam file.

$ ls filebaru 2>&1

Notasi 2>&1 menunjukkan bahwa standard error dialihkan ke file descriptor yang sama dengan standard output (descriptor 1). Jadi, baik pesan error maupun hasil yang sukses ditulis ke file yang sama.

$ echo "mencoba menulis file" 1>&2

Semua output akan dialihkan ke file descriptor yang digunakan untuk pesan error (descriptor 2).

$ echo "kata pertama" >> surat

Simbol >> digunakan untuk menambahkan konten ke file yang sudah ada, tanpa menimpa isi file sebelumnya.

$ cat <<++

Tanda Here Document (<<) digunakan untuk memberi batasan input dari keyboard hingga simbol tertentu yang diatur pengguna. Dalam contoh ini, teks dimasukkan sampai tanda ++ muncul.

$ cat myfile.txt – surat

Notasi - digunakan sebagai representasi input dari keyboard setelah file myfile.txt dibaca. Teks yang diketikkan dari keyboard akan diikuti setelah file tersebut ditampilkan.


$ echo hello

$ echo hello > output 

$ cat output

echo hello: Menampilkan string "hello" di layar (output standar).

echo hello > output: Mengarahkan output dari perintah echo ke file output. Jika file output belum ada, maka akan dibuat; jika sudah ada, isinya akan ditimpa.

cat output: Menampilkan isi file output, yang dalam hal ini berisi "hello".

$ echo bye >> output 

$ cat output

echo bye >> output: Menambahkan string "bye" ke akhir file output tanpa menghapus isi sebelumnya.

cat output: Menampilkan isi file output, yang sekarang berisi "hello" dan "bye".

$ cat < output

cat < output: Membaca isi file output sebagai input dan menampilkannya di layar. Sama seperti cat output, tetapi perintah ini menggunakan input redirection (<).

$ cat < output > out

$ cat out


cat < output > out: Mengambil isi dari file output sebagai input, dan menuliskan hasilnya ke file out.

cat out: Menampilkan isi file out, yang sama dengan isi dari file output.

$ cat < output > output


Perintah ini mencoba menggunakan file output sebagai input dan output secara bersamaan, yang menyebabkan kesalahan. Ini menyebabkan proses tidak berhenti sampai dihentikan secara manual dengan Ctrl+C.

3

$ who

$ who | sort


who: Menampilkan daftar pengguna yang sedang login.

who | sort: Mengurutkan daftar pengguna yang sedang login secara alfabetis dengan sort.

$ who | sort -r


who | sort -r: Menampilkan daftar pengguna yang sedang login, lalu mengurutkannya secara terbalik (reverse order) menggunakan sort -r.

$ ls /tmp | sort

$ ls -l /etc | more


ls /tmp | sort: Menampilkan isi direktori /tmp dan mengurutkannya.

ls -l /etc | more: Menampilkan isi direktori /etc dalam format yang lebih detail (-l), dan menampilkan hasilnya per halaman menggunakan more.

4

$ w -h | grep <user>

$ grep <user> /etc/passwd


w -h | grep <user>: Menampilkan informasi pengguna yang sedang login tanpa header (-h), dan memfilter hasilnya untuk hanya menampilkan baris yang berisi <user>.

grep <user> /etc/passwd: Mencari dan menampilkan informasi tentang pengguna <user> dalam file /etc/passwd.

$ ls /etc | wc

$ ls /etc | wc -l


ls /etc | wc: Menampilkan daftar file dalam direktori /etc dan menghitung jumlah baris, kata, dan karakter menggunakan wc (word count).

ls /etc | wc -l: Menghitung jumlah file dalam direktori /etc (menghitung jumlah baris).

$ cat kelas1.txt

$ cat kelas1.txt kelas2.txt | sort

$ cat kelas.txt | sort | uniq


cat kelas1.txt: Menampilkan isi file kelas1.txt.

cat kelas1.txt kelas2.txt | sort: Menggabungkan isi dari file kelas1.txt dan kelas2.txt, lalu mengurutkannya secara alfabetis dengan sort.

cat kelas.txt | sort | uniq: Mengurutkan isi dari file kelas.txt, lalu menghapus baris yang duplikat menggunakan uniq


2. Kesimpulan

Dalam praktikum ini, beberapa konsep penting terkait operasi input dan output di sistem operasi berbasis Unix atau Linux dipelajari. Berikut adalah ringkasan dari setiap konsep dan perintah yang dibahas:

  1. Redirection (Pembelokan) Input dan Output:

    • Output Redirection (>): Mengarahkan output standar dari suatu perintah ke file. Jika file tidak ada, akan dibuat; jika ada, isinya ditimpa.
    • Appending Output (>>): Menambahkan output ke file yang sudah ada tanpa menghapus isinya.
    • Input Redirection (<): Mengambil input dari file, bukan dari input standar (keyboard).
  2. Kombinasi Input dan Output Redirection:

    • Input dan output dapat dikombinasikan dalam satu perintah, namun perlu diperhatikan bahwa file input dan output harus berbeda. Jika menggunakan file yang sama sebagai input dan output, proses akan gagal dan tidak berhenti secara otomatis, sehingga membutuhkan intervensi manual (Ctrl+C).
  3. Pipeline (Pipa |):

    • Operator pipa (|) digunakan untuk menghubungkan output dari satu perintah menjadi input bagi perintah lain, memungkinkan pembentukan alur data yang lebih kompleks. Dengan pipa, kita dapat menghubungkan beberapa perintah secara berurutan untuk menghasilkan hasil yang lebih bermanfaat. Misalnya, menggunakan who | sort untuk mengurutkan daftar pengguna yang sedang login, atau menggunakan ls | wc -l untuk menghitung jumlah file dalam direktori.
  4. Filter:

    • Pipa dapat digunakan bersama dengan utilitas seperti grepsortuniqwc, dan lainnya untuk memfilter dan memproses data dengan lebih efektif. Dengan kombinasi perintah ini, data dapat diolah lebih lanjut, seperti mencari pengguna spesifik dalam sistem, menghitung file dalam direktori, atau menggabungkan dan mengurutkan isi beberapa file.

Posting Komentar

0 Komentar