LFCS Cara menggunakan perintah GNU 'sed' untuk membuat, mengedit, dan memanipulasi file di Linux - Bagian 1

LFCS Cara menggunakan perintah GNU 'sed' untuk membuat, mengedit, dan memanipulasi file di Linux - Bagian 1

Linux Foundation mengumumkan LFCS (Linux Foundation Certified Sysadmin) Sertifikasi, program baru yang bertujuan membantu individu di seluruh dunia untuk mendapatkan sertifikasi dalam tugas administrasi sistem dasar hingga menengah untuk sistem Linux. Ini termasuk mendukung sistem dan layanan yang sedang berjalan, bersama dengan pemecahan masalah dan analisis langsung, dan pengambilan keputusan yang cerdas untuk meningkatkan masalah ke tim teknik.

Linux Foundation Certified Sysadmin - Bagian 1

Silakan tonton video berikut yang menunjukkan tentang program sertifikasi Linux Foundation.

Serial ini akan berjudul persiapan untuk LFCS (Linux Foundation Certified Sysadmin) Bagian 1 melalui 10 dan membahas topik -topik berikut untuk Ubuntu, Centos, dan OpenSuse:

Bagian 1: Cara menggunakan perintah GNU 'sed' untuk membuat, mengedit, dan memanipulasi file di Linux Bagian 2: Cara Menginstal dan Menggunakan Vi/M Sebagai Editor Teks Lengkap Bagian 3: Mengarsipkan file/direktori dan menemukan file pada sistem file Bagian 4: Partisi perangkat penyimpanan, memformat sistem file dan mengkonfigurasi partisi swap Bagian 5: Mount/unmount Local and Network (SAMBA & NFS) FileStems di Linux Bagian 6: Merakit partisi sebagai perangkat RAID - Membuat & Mengelola Cadangan Sistem Bagian 7: Mengelola proses dan layanan startup sistem (Sysvinit, SystemD dan Upstart Bagian 8: Mengelola pengguna & grup, izin file & atribut dan memungkinkan akses sudo di akun Bagian 9: Manajemen paket Linux dengan yum, rpm, apt, dpkg, aptitude dan zypper Bagian 10: Mempelajari skrip shell dasar dan pemecahan masalah sistem file

Penting: Karena perubahan dalam persyaratan sertifikasi LFCS efektif Feb. 2, 2016, Kami memasukkan topik yang diperlukan berikut untuk seri LFCS yang diterbitkan di sini. Untuk mempersiapkan ujian ini, Anda juga sangat dianjurkan untuk menggunakan seri LFCE.

Bagian 11: Cara Mengelola dan Membuat LVM Menggunakan Perintah VGCreate, LVCreate dan LVEXTEND Bagian 12: Cara menjelajahi Linux dengan dokumentasi dan alat yang diinstal Bagian 13: Cara Mengkonfigurasi dan Memecahkan Masalah Grand Unified Bootloader (Grub) Bagian 14: Monitor Linux Proses Penggunaan Sumber Daya dan Tetapkan Batas Proses berdasarkan Per-Pengguna Bagian 15: Cara mengatur atau memodifikasi parameter runtime kernel dalam sistem Linux Bagian 16: Cara mengatur daftar kontrol akses (ACL) dan kuota disk untuk pengguna dan grup Bagian 17: Cara Menginstal Cygwin, Lingkungan Garis Perintah Linux untuk Windows Bagian 18: Panduan utama untuk menyiapkan server FTP untuk mengizinkan login anonim Bagian 19: Mengatur server DNS caching rekursif dasar dan mengkonfigurasi zona untuk domain Bagian 20: Menerapkan kontrol akses wajib dengan Selinux atau Apparmor di Linux

Posting ini adalah bagian 1 dari a Seri 20-Tutorial, yang akan mencakup domain dan kompetensi yang diperlukan yang diperlukan untuk LFCS Ujian Sertifikasi. Yang sedang dikatakan, nyalakan terminal Anda, dan mari kita mulai.

Memproses aliran teks di linux

Linux memperlakukan input ke dan output dari program sebagai stream (atau urutan) karakter. Untuk mulai memahami pengalihan dan pipa, pertama -tama kita harus memahami tiga jenis paling penting dari aliran I/O (input dan output), yang sebenarnya adalah file khusus (berdasarkan konvensi di UNIX dan Linux, aliran data dan periferal, atau file perangkat, juga diperlakukan sebagai file biasa).

Perbedaan antara > (operator pengalihan) dan | (operator pipa) adalah bahwa sementara yang pertama menghubungkan perintah dengan file, yang terakhir menghubungkan output perintah dengan perintah lain.

# Perintah> File # Command1 | Komando2 

Karena operator pengalihan membuat atau menimpa file secara diam -diam, kita harus menggunakannya dengan sangat hati -hati, dan tidak pernah salah dengan pipa dengan pipa. Salah satu keuntungan dari pipa pada sistem Linux dan UNIX adalah bahwa tidak ada file perantara yang terlibat dengan pipa - stdout dari perintah pertama tidak ditulis ke file dan kemudian dibaca dengan perintah kedua.

Untuk latihan berikut, kami akan menggunakan puisi itu "Anak yang bahagia”(Penulis Anonim).

Contoh perintah kucing

Menggunakan sed

Nama sed kependekan dari editor stream. Bagi mereka yang tidak terbiasa dengan istilah tersebut, editor aliran digunakan untuk melakukan transformasi teks dasar pada aliran input (file atau input dari pipa).

Penggunaan SED paling mendasar (dan populer) adalah substitusi karakter. Kita akan mulai dengan mengubah setiap terjadinya huruf kecil y untuk huruf besar Y dan mengarahkan output ke Ahappychild2.txt. Itu G Bendera menunjukkan bahwa SED harus melakukan substitusi untuk semua contoh istilah pada setiap baris file. Jika bendera ini dihilangkan, SED hanya akan menggantikan kejadian pertama istilah pada setiap baris.

Sintaks Dasar:
file # sed 's/istilah/penggantian/bendera' 
Contoh kami:
# sed 'S/Y/Y/G' AhappyChild.txt> ahappychild2.txt 
Contoh perintah sed

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

Misalnya, kami akan mengganti kata dan dengan ampersand. Pada saat yang sama, kami akan mengganti kata tersebut SAYA dengan Anda Saat yang pertama ditemukan di awal garis.

# sed 's/dan/\ &/g; s/^i/you/g' ahappychild.txt 
SED REPLACE STRING

Dalam perintah di atas, a ^ (tanda caret) adalah ekspresi reguler terkenal yang digunakan untuk mewakili awal garis.

Seperti yang Anda lihat, kami dapat menggabungkan dua atau lebih perintah substitusi (dan menggunakan ekspresi reguler di dalamnya) dengan memisahkannya dengan titik koma dan melampirkan set di dalam satu kutipan.

Penggunaan Sed lainnya menunjukkan (atau menghapus) bagian yang dipilih dari sebuah file. Dalam contoh berikut, kami akan menampilkan 5 baris pertama /var/log/pesan dari 8 Juni.

# sed -n '/^Jun 8/p'/var/log/pesan | SED -N 1,5p 

Perhatikan bahwa secara default, sed mencetak setiap baris. Kita dapat mengesampingkan perilaku ini dengan -N opsi dan kemudian beri tahu Sed untuk mencetak (ditunjukkan oleh P) Hanya bagian dari file (atau pipa) yang cocok dengan pola (8 Juni di awal baris dalam kasus pertama dan baris 1 hingga 5 inklusif dalam kasus kedua).

Akhirnya, ini bisa berguna saat memeriksa skrip atau file konfigurasi untuk memeriksa kode itu sendiri dan meninggalkan komentar. Sed One-Liner Hapus (D) garis kosong atau yang dimulai dengan # (itu | Karakter menunjukkan boolean atau di antara dua ekspresi reguler).

# sed '/^# \ |^$/d' Apache2.conf 
Sed Match String

perintah uniq

Itu uniq Perintah memungkinkan kami untuk melaporkan atau menghapus baris duplikat dalam file, menulis ke stdout secara default. Kita harus mencatat itu uniq tidak mendeteksi garis berulang kecuali mereka berdekatan. Dengan demikian, uniq biasanya digunakan bersama dengan sebelumnya menyortir (yang digunakan untuk mengurutkan baris file teks). Secara default, menyortir mengambil bidang pertama (dipisahkan oleh spasi) sebagai bidang kunci. Untuk menentukan bidang kunci yang berbeda, kita perlu menggunakan -k pilihan.

Contoh

Itu du -sch/path/to/directory/* Perintah Mengembalikan penggunaan ruang disk per subdirektori dan file dalam direktori yang ditentukan dalam format yang dapat dibaca manusia (juga menunjukkan total per direktori), dan tidak memesan output berdasarkan ukuran, tetapi dengan nama subdirektori dan file. Kita dapat menggunakan perintah berikut untuk mengurutkan berdasarkan ukuran.

# du -sch /var /* | Sort -H 
Urutkan Contoh Perintah

Anda dapat menghitung jumlah acara dalam log berdasarkan tanggal dengan memberi tahu uniq Untuk melakukan perbandingan menggunakan 6 karakter pertama (-W 6) dari setiap baris (di mana tanggal ditentukan), dan diawali setiap baris output dengan jumlah kejadian (-C) dengan perintah berikut.

# kucing/var/log/mail.log | uniq -c -w 6 
Hitung nomor dalam file

Akhirnya, Anda bisa menggabungkan menyortir Dan uniq (seperti biasanya). Pertimbangkan file berikut dengan daftar donor, tanggal donasi, dan jumlah. Misalkan kita ingin tahu berapa banyak donor unik yang ada. Kami akan menggunakan perintah berikut untuk memotong bidang pertama (bidang dibatasi oleh usus besar), mengurutkan nama, dan menghapus garis duplikat.

# Cat sortuniq.txt | cut -d: -f1 | urutkan | uniq 
Temukan catatan unik dalam file

Baca juga: 13 Contoh Perintah "Cat"

perintah grep

grep Mencari file teks atau (output perintah) untuk terjadinya ekspresi reguler yang ditentukan dan output setiap baris yang berisi kecocokan dengan output standar.

Contoh

Tampilkan informasi dari /etc/passwd Untuk pengguna gacanepa, mengabaikan kasus.

# grep -i gacanepa /etc /passwd 
Contoh perintah grep

Tunjukkan semua isi /dll Namanya yang dimulai dengan RC diikuti oleh nomor tunggal.

# ls -l /dll | Grep RC [0-9] 
Daftar konten menggunakan grep

Baca juga: 12 Contoh Perintah "GREP"

Penggunaan Perintah TR

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

Contoh

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

# Cat sortuniq.txt | tr [: lebih rendah:] [: atas:] 
Urutkan string dalam file

Peras pembatas dalam output ls -l hanya satu ruang.

# ls -l | tr -s "
Peras pembatas

Potong Penggunaan Perintah

Itu memotong Perintah mengekstrak bagian dari baris input (dari stdin atau file) dan menampilkan hasilnya pada output standar, berdasarkan jumlah byte (-B opsi), karakter (-C), atau bidang (-F). Dalam kasus terakhir ini (berdasarkan bidang), pemisah bidang default adalah tab, tetapi pembatas yang berbeda dapat ditentukan dengan menggunakan -D pilihan.

Contoh

Ekstrak akun pengguna dan shell default yang ditetapkan untuk mereka /etc/passwd (itu -D opsi memungkinkan kami untuk menentukan pembatas bidang, dan -F sakelar menunjukkan bidang mana yang akan diekstraksi.

# Cat /etc /passwd | cut -d: -f1,7 
Ekstrak akun pengguna

Menyimpulkan, kami akan membuat aliran teks yang terdiri dari file non-blank pertama dan ketiga dari output dari terakhir memerintah. Kami akan menggunakan grep Sebagai filter pertama untuk memeriksa sesi pengguna Gacanepa, Kemudian peras pembatas hanya ke satu ruang (TR -S"). Selanjutnya, kami akan mengekstrak bidang pertama dan ketiga dengan memotong, dan akhirnya mengurutkan berdasarkan bidang kedua (alamat IP dalam kasus ini) yang menunjukkan unik.

# terakhir | Grep Gacanepa | tr -s "| cut -d" -f1,3 | urutkan -k2 | uniq 
Contoh perintah terakhir

Perintah di atas menunjukkan bagaimana beberapa perintah dan pipa dapat digabungkan untuk mendapatkan data yang difilter sesuai dengan keinginan kami. Jangan ragu untuk menjalankannya dengan bagian -bagian, untuk membantu Anda melihat output yang disalurkan dari satu perintah ke perintah berikutnya (ini bisa menjadi pengalaman belajar yang hebat, ngomong -ngomong!).

Ringkasan

Meskipun contoh ini (bersama dengan sisa contoh dalam tutorial saat ini) mungkin tidak tampak sangat berguna pada pandangan pertama, mereka 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 ini - mereka akan sangat dihargai!

Tautan referensi
  1. Tentang LFC
  2. Mengapa mendapatkan sertifikasi Linux Foundation?
  3. Daftar untuk ujian LFCS
Menjadi Administrator Sistem Bersertifikat Linux