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.