LFCS #1: Cara Menggunakan Perintah 'sed' untuk Manipulasi File di Linux


Linux Foundation mengumumkan sertifikasi LFCS (Linux Foundation Certified Sysadmin), sebuah program baru yang bertujuan membantu individu di seluruh dunia untuk mendapatkan sertifikasi dalam tugas-tugas administrasi sistem dasar hingga menengah untuk sistem Linux.

Hal ini termasuk mendukung sistem dan layanan yang berjalan, serta pemecahan masalah dan analisis langsung, serta pengambilan keputusan yang cerdas untuk meneruskan masalah ke tim teknis.

Sejak revisi terakhir pada 11 Agustus 2023, kami telah memperhitungkan domain dan kompetensi dengan cermat, selaras dengan tanggal efektif 11 Mei 2023, sebagaimana dinyatakan secara resmi oleh Yayasan Linux.

Seri ini akan diberi judul Persiapan untuk LFCS (Linux Foundation Certified Sysadmin) Bagian 1 hingga 33 dan mencakup topik berikut:

Part 1

Cara Menggunakan Perintah 'Sed' untuk Memanipulasi File di Linux

Part 2

Cara Menginstal dan Menggunakan Vi/Vim di Linux

Part 3

Cara Mengompresi File & Direktori dan Menemukan File di Linux

Part 4

Mempartisi Perangkat Penyimpanan, Memformat Sistem File, dan Mengonfigurasi Partisi Swap

Part 5

Pasang/Lepas Sistem File Lokal dan Jaringan (Samba & NFS) di Linux

Part 6

Merakit Partisi sebagai Perangkat RAID – Membuat & Mengelola Cadangan Sistem

Part 7

Mengelola Proses dan Layanan Startup Sistem (SysVinit, Systemd, dan Upstart

Part 8

Cara Mengelola Pengguna & Grup, Izin File dan Akses Sudo

Part 9

Manajemen Paket Linux dengan Yum, RPM, Apt, Dpkg, Aptitude, dan Zypper

Part 10

Mempelajari Skrip Shell Dasar dan Pemecahan Masalah Sistem File

Part 11

Cara Mengelola dan Membuat LVM Menggunakan Perintah vgcreate, lvcreate, dan lvextend

Part 12

Cara Menjelajah Linux dengan Dokumentasi dan Alat Bantuan yang Terinstal

Part 13

Cara Mengonfigurasi dan Memecahkan Masalah Grand Unified Bootloader (GRUB)

Part 14

Pantau Penggunaan Sumber Daya Proses Linux dan Tetapkan Batas Proses Berdasarkan Per Pengguna

Part 15

Cara Mengatur atau Memodifikasi Parameter Runtime Kernel di Sistem Linux

Part 16

Menerapkan Kontrol Akses Wajib dengan SELinux atau AppArmor di Linux

Part 17

Cara Mengatur Access Control List (ACL) dan Kuota Disk untuk Pengguna dan Grup

Part 18

Menginstal Layanan Jaringan dan Mengonfigurasi Startup Otomatis saat Boot

Part 19

Panduan Utama untuk Menyiapkan Server FTP untuk Mengizinkan Login Anonim

Part 20

Siapkan Server DNS Caching Rekursif Dasar dan Konfigurasikan Zona untuk Domain

Part 21

Cara Memasang, Mengamankan, dan Menyetel Kinerja Server Database MariaDB

Part 22

Cara Menginstal dan Mengonfigurasi Server NFS untuk Berbagi Sistem File

Part 23

Cara Setup Apache dengan Virtual Hosting Berbasis Nama dengan Sertifikat SSL

Part 24

Cara Mengatur Firewall Iptables untuk Mengaktifkan Akses Jarak Jauh ke Layanan di Linux

Part 25

Cara Mengubah Linux menjadi Router untuk Menangani Lalu Lintas Secara Statis dan Dinamis

Part 26

Cara Mengatur Sistem File Terenkripsi dan Menukar Menggunakan Alat Cryptsetup

Part 27

Cara Memantau Penggunaan Sistem, Pemadaman, dan Memecahkan Masalah Server Linux

Part 28

Cara Mengatur Repositori Jaringan untuk Menginstal atau Memperbarui Paket

Part 29

Cara Mengaudit Kinerja Jaringan, Keamanan, dan Pemecahan Masalah

Part 30

Cara Memasang dan Mengelola Mesin dan Kontainer Virtual

Part 31

Pelajari Dasar-dasar Git untuk Mengelola Proyek Secara Efisien

Part 32

Panduan Pemula untuk Mengonfigurasi Alamat IPv4 dan IPv6 di Linux

Part 33

Panduan Pemula untuk Membuat Ikatan dan Menjembatani Jaringan di Ubuntu

Postingan ini adalah Bagian 1 dari seri 33 tutorial, yang akan mencakup domain dan kompetensi yang diperlukan untuk ujian sertifikasi LFCS. Karena itu, jalankan terminal Anda, dan mari kita mulai.

Memproses Aliran Teks di Linux

Linux memperlakukan masukan dan keluaran dari program sebagai aliran (atau rangkaian) karakter. Untuk mulai memahami pengalihan dan pipa, pertama-tama kita harus memahami tiga jenis aliran I/O (Input dan Output) yang paling penting, yang sebenarnya merupakan file khusus (menurut konvensi di UNIX dan Linux, aliran data dan periferal, atau file perangkat, juga diperlakukan sebagai file biasa).

Perbedaan antara > (operator pengalihan) dan | (operator saluran pipa) adalah yang pertama menghubungkan perintah dengan file, sedangkan yang terakhir menghubungkan output dari suatu perintah dengan yang lain. memerintah.

command > file
command1 | command2

Karena operator pengalihan membuat atau menimpa file secara diam-diam, kita harus menggunakannya dengan sangat hati-hati, dan jangan pernah salah mengartikannya dengan pipeline.

Salah satu keuntungan dari pipa pada sistem Linux dan UNIX adalah tidak ada file perantara yang terlibat dengan pipa – stdout dari perintah pertama tidak ditulis ke file dan kemudian dibaca oleh perintah kedua.

Untuk latihan latihan berikut ini, kita akan menggunakan puisi “Anak yang bahagia ” (penulis anonim).

Menggunakan Perintah sed

Nama sed adalah kependekan dari editor aliran. Bagi mereka yang tidak terbiasa dengan istilah ini, editor aliran digunakan untuk melakukan transformasi teks dasar pada aliran masukan (file atau masukan dari saluran).

Ubah Huruf Kecil menjadi Huruf Besar di File

Penggunaan sed yang paling dasar (dan populer) adalah penggantian karakter. Kita akan mulai dengan mengubah setiap kemunculan huruf kecil y menjadi HURUF BESAR Y dan mengalihkan keluarannya ke ahappychild2.txt.

Bendera g menunjukkan bahwa sed harus melakukan substitusi untuk semua contoh term pada setiap baris file. Jika tanda ini dihilangkan, sed hanya akan menggantikan kemunculan pertama istilah tersebut pada setiap baris.

Sintaks Dasar Sed:
sed ‘s/term/replacement/flag’ file
Contoh Kami:
sed ‘s/y/Y/g’ ahappychild.txt > ahappychild2.txt

Cari dan Ganti Kata dalam File

Jika Anda ingin mencari atau mengganti karakter khusus (seperti /, \, &), Anda harus menghindarinya, dalam istilah atau string pengganti, dengan garis miring ke belakang.

Misalnya, kita akan mengganti kata dan dengan ampersand. Pada saat yang sama, kita akan mengganti kata I dengan You ketika kata pertama ditemukan di awal baris.

sed 's/and/\&/g;s/^I/You/g' ahappychild.txt

Pada perintah di atas, ^ (tanda sisipan) adalah ekspresi reguler terkenal yang digunakan untuk mewakili awal sebuah baris.

Seperti yang Anda lihat, kita dapat menggabungkan dua atau lebih perintah substitusi (dan menggunakan ekspresi reguler di dalamnya) dengan memisahkannya dengan titik koma dan mengapit himpunan di dalam tanda kutip tunggal.

Cetak Baris yang Dipilih dari File

Penggunaan lain dari sed adalah menampilkan (atau menghapus) bagian file yang dipilih. Dalam contoh berikut, kami akan menampilkan 5 baris pertama /var/log/messages dari 8 Juni.

sed -n '/^Jun  8/ p' /var/log/messages | sed -n 1,5p

Perhatikan bahwa secara default, sed mencetak setiap baris. Kita dapat mengganti perilaku ini dengan opsi -n dan kemudian memerintahkan sed untuk mencetak (ditunjukkan dengan p) hanya bagian file (atau pipa) yang cocok dengan polanya (8 Juni di awal baris dalam kasus pertama dan baris 1 sampai 5 inklusif dalam kasus kedua).

Terakhir, akan berguna saat memeriksa skrip atau file konfigurasi untuk memeriksa kode itu sendiri dan meninggalkan komentar. Sed satu baris berikut menghapus (d) baris kosong atau baris yang dimulai dengan # (karakter | menunjukkan boolean OR< antara dua ekspresi reguler).

sed '/^#\|^$/d' apache2.conf

Perintah unik

Perintah uniq memungkinkan kita melaporkan atau menghapus baris duplikat dalam sebuah file, menulis ke stdout secara default. Kita harus mencatat bahwa uniq tidak mendeteksi garis berulang kecuali garis tersebut berdekatan.

Jadi, uniq biasanya digunakan bersama dengan sort sebelumnya (yang digunakan untuk mengurutkan baris file teks). Secara default, sort mengambil kolom pertama (dipisahkan dengan spasi) sebagai kolom kunci. Untuk menentukan field kunci yang berbeda, kita perlu menggunakan opsi -k.

Contoh Perintah Unik

Perintah du -sch /path/to/directory/* mengembalikan penggunaan ruang disk per subdirektori dan file dalam direktori tertentu dalam format yang dapat dibaca manusia (juga menunjukkan total per direktori), dan tidak mengurutkan output berdasarkan ukuran, tetapi berdasarkan subdirektori dan nama file.

Kita dapat menggunakan perintah berikut untuk mengurutkan berdasarkan ukuran.

du -sch /var/* | sort –h

Anda dapat menghitung jumlah kejadian dalam log berdasarkan tanggal dengan memberi tahu uniq untuk melakukan perbandingan menggunakan 6 karakter pertama (-w 6) dari setiap baris (di mana tanggalnya ditentukan), dan mengawali setiap baris keluaran dengan jumlah kemunculan (-c) dengan perintah berikut.

cat /var/log/mail.log | uniq -c -w 6

Terakhir, Anda dapat menggabungkan sort dan uniq (seperti biasanya). Perhatikan file berikut dengan daftar donatur, tanggal donasi, dan jumlah. Misalkan kita ingin mengetahui berapa banyak donor unik yang ada.

Kami akan menggunakan perintah cat berikut untuk memotong bidang pertama (bidang dibatasi oleh titik dua), mengurutkan berdasarkan nama, dan menghapus baris duplikat.

cat sortuniq.txt | cut -d: -f1 | sort | uniq

perintah grep

Perintah grep mencari file teks atau (output perintah) untuk kemunculan ekspresi reguler tertentu dan mengeluarkan baris apa pun yang berisi kecocokan dengan output standar.

Contoh Perintah Grep

Tampilkan informasi dari /etc/passwd untuk pengguna gacanepa, abaikan huruf besar/kecil.

grep -i gacanepa /etc/passwd

Menampilkan seluruh isi /etc yang namanya diawali dengan rc diikuti dengan angka apa saja.

ls -l /etc | grep rc[0-9]

tr Penggunaan Perintah

Perintah tr dapat digunakan untuk menerjemahkan (mengubah) atau menghapus karakter dari stdin, dan menulis hasilnya ke stdout.

Ubah semua huruf kecil menjadi huruf besar di file sortuniq.txt.

cat sortuniq.txt | tr [:lower:] [:upper:]

Peras pembatas pada keluaran ls –l menjadi satu spasi saja.

ls -l | tr -s ' '

Potong Penggunaan Perintah

Perintah cut mengekstrak bagian dari baris input (dari stdin atau file) dan menampilkan hasilnya pada output standar, berdasarkan jumlah byte (opsi -b), karakter (-c), atau bidang (-f).

Dalam kasus terakhir ini (berdasarkan kolom), pemisah kolom default adalah tab, namun pembatas yang berbeda dapat ditentukan dengan menggunakan opsi -d.

Contoh Perintah Potong

Ekstrak akun pengguna dan shell default yang ditetapkan padanya dari /etc/passwd (opsi –d memungkinkan kita menentukan pembatas bidang dan –f switch menunjukkan bidang mana yang akan diekstraksi.

cat /etc/passwd | cut -d: -f1,7

Kesimpulannya, kita akan membuat aliran teks yang terdiri dari file tidak kosong pertama dan ketiga dari keluaran perintah terakhir. Kita akan menggunakan grep sebagai filter pertama untuk memeriksa sesi pengguna gacanepa, lalu menekan pembatas menjadi satu spasi saja (tr -s ' ' ).

Selanjutnya, kita akan mengekstrak kolom pertama dan ketiga dengan potong, dan terakhir mengurutkan berdasarkan kolom kedua (dalam hal ini alamat IP) yang menunjukkan unik.

last | grep gacanepa | tr -s ' ' | cut -d' ' -f1,3 | sort -k2 | uniq

Perintah di atas menunjukkan bagaimana beberapa perintah dan pipa dapat digabungkan sehingga memperoleh data yang disaring sesuai keinginan kita. Jangan ragu untuk menjalankannya per bagian, untuk membantu Anda melihat output yang disalurkan dari satu perintah ke perintah berikutnya (omong-omong, ini bisa menjadi pengalaman belajar yang luar biasa!).

Ringkasan

Meskipun contoh ini (bersama dengan contoh lainnya dalam tutorial saat ini) mungkin tampak tidak terlalu berguna pada pandangan pertama, contoh ini adalah titik awal yang bagus untuk mulai bereksperimen dengan perintah yang digunakan untuk membuat, mengedit, dan memanipulasi file dari Linux. garis komando.

Jangan ragu untuk meninggalkan pertanyaan dan komentar Anda di bawah – itu akan sangat dihargai!

eBuku LFCS kini tersedia untuk dibeli. Pesan salinan Anda hari ini dan mulailah perjalanan Anda menjadi administrator sistem Linux bersertifikat!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Yang terakhir, namun tidak kalah pentingnya, harap pertimbangkan untuk membeli voucher ujian Anda menggunakan tautan berikut untuk memberi kami komisi kecil, yang akan membantu kami terus memperbarui buku ini.