GNU/Linux >> Belajar Linux >  >> Linux

Penggunaan lanjutan dari penampil file teks yang lebih sedikit di Linux

Saya baru-baru ini membaca artikel Scott Nesbitt "Menggunakan lebih sedikit untuk melihat file teks di baris perintah Linux" dan terinspirasi untuk membagikan tip dan trik tambahan yang saya gunakan dengan less .

KURANG env var

Jika Anda memiliki variabel lingkungan LESS didefinisikan (mis., di .bashrc . Anda ), less memperlakukannya sebagai daftar opsi, seolah-olah diteruskan pada baris perintah.

Saya menggunakan ini:

LESS='-C -M -I -j 10 -# 4'

Ini berarti:

  • -C – Buat cetak ulang layar penuh lebih cepat dengan tidak menggulir dari bawah.
  • -M – Tampilkan lebih banyak informasi dari baris (status) terakhir. Anda dapat menyesuaikan informasi yang ditampilkan dengan -PM , tapi saya biasanya tidak repot.
  • -I – Abaikan huruf besar/kecil (atas/bawah) dalam pencarian.
  • -j 10 – Tampilkan hasil pencarian di baris 10 terminal, bukan baris pertama. Dengan cara ini Anda memiliki 10 baris konteks setiap kali Anda menekan n (atau N ) untuk melompat ke pertandingan berikutnya (atau sebelumnya).
  • -# 4 – Lompat empat karakter ke kanan atau kiri saat menekan tombol panah Kanan atau Kiri. Standarnya adalah melompati setengah layar, yang biasanya menurut saya terlalu berlebihan. Secara umum, less tampaknya (setidaknya sebagian) dioptimalkan untuk lingkungan tempat pertama kali dikembangkan, dengan modem lambat dan koneksi internet bandwidth rendah, ketika masuk akal untuk melompat setengah layar.

PAGER env var

Banyak program menampilkan informasi menggunakan perintah yang diatur dalam PAGER variabel lingkungan (jika disetel). Jadi, Anda dapat mengatur PAGER=less di .bashrc . Anda dan jalankan program Anda less . Periksa halaman manual environ(7) (man 7 environ ) untuk variabel lain seperti itu.

-S

Pemrograman dan pengembangan

  • Blog Pengembang Topi Merah
  • Pemrograman lembar contekan
  • Coba gratis:Langganan Pembelajaran Red Hat
  • eBook:Pengantar pemrograman dengan Bash
  • Lembar Curang Skrip Bash Shell
  • eBook:Modernisasi Enterprise Java

Opsi baris perintah -S memberi tahu less untuk memotong garis panjang alih-alih membungkusnya. Saya jarang menemukan kebutuhan untuk ini kecuali (dan sampai) saya mulai melihat file. Untungnya, Anda dapat mengetik semua opsi baris perintah di dalam less seolah-olah itu adalah perintah keyboard. Jadi, jika saya ingin memotong antrean panjang saat saya sudah dalam file, saya cukup mengetik -S .

Berikut ini contoh yang sering saya gunakan:

    su - postgres
    export PAGER=less  # Because I didn't bother editing postgres' .bashrc on all the machines I use it on
    psql

Terkadang ketika saya nanti melihat output dari SELECT perintah dengan output yang sangat lebar, saya ketik -S sehingga akan diformat dengan baik. Jika melompat terlalu jauh ketika saya menekan panah Kanan untuk melihat lebih banyak (karena saya tidak mengatur -# ), saya bisa mengetik -#8 , maka setiap penekanan panah Kanan akan memindahkan delapan karakter ke kanan.

Terkadang setelah mengetik -S terlalu sering, saya keluar dari psql dan menjalankannya lagi setelah memasukkan:

export LESS=-S

F

Perintah F membuat less bekerja seperti tail -f —menunggu hingga lebih banyak data ditambahkan ke file sebelum menampilkannya. Satu keuntungan yang dimiliki lebih dari tail -f adalah bahwa menyorot kecocokan pencarian masih berfungsi. Jadi Anda dapat memasukkan less /var/log/logfile , cari sesuatu—yang akan menyorot semua kemunculannya (kecuali jika Anda menggunakan -g )—lalu tekan F . Saat lebih banyak data ditulis ke log, less akan menunjukkannya dan menyorot kecocokan baru.

Setelah Anda menekan F , Anda dapat menekan Ctrl+C untuk menghentikannya mencari data baru (ini tidak akan mematikannya); kembali ke file untuk melihat hal-hal lama, mencari hal-hal lain, dll.; lalu tekan F lagi untuk melihat lebih banyak data baru.

Mencari

Pencarian menggunakan perpustakaan regexp sistem, dan ini biasanya berarti Anda dapat menggunakan ekspresi reguler yang diperluas. Secara khusus, menelusuri one|two|three akan menemukan dan menyorot semua kemunculan satu, dua, atau tiga.

Pola lain yang sering saya gunakan, terutama dengan garis log lebar (mis., yang menjangkau lebih dari satu baris terminal), adalah .*something.* , yang menyoroti seluruh baris. Pola ini membuatnya lebih mudah untuk melihat di mana garis dimulai dan diakhiri. Saya juga menggabungkan ini, seperti:.*one thing.*|.*another thing.* , atau key: .*|.*marker.* untuk melihat isi key (mis., dalam file log dengan dump beberapa kamus/hash) dan sorot garis penanda yang relevan (jadi saya memiliki konteks), atau bahkan, jika saya tahu nilainya dikelilingi oleh tanda kutip:

key: '[^']*'|.*marker.*

less menyimpan riwayat item pencarian Anda dan menyimpannya ke disk untuk permintaan di masa mendatang. Saat Anda menekan / (atau ? ), Anda dapat menelusuri riwayat ini dengan panah Atas atau Bawah (serta melakukan pengeditan baris dasar).

Saya menemukan apa yang tampaknya menjadi fitur yang sangat berguna saat membaca less halaman manual saat menulis artikel ini:melewatkan baris yang tidak menarik dengan &!pattern . Misalnya, saat mencari sesuatu di /var/log/messages , saya biasa mengulangi daftar perintah ini:

    cat /var/log/messages | egrep -v 'systemd: Started Session' | less
    cat /var/log/messages | egrep -v 'systemd: Started Session|systemd: Starting Session' | less
    cat /var/log/messages | egrep -v 'systemd: Started Session|systemd: Starting Session|User Slice' | less
    cat /var/log/messages | egrep -v 'systemd: Started Session|systemd: Starting Session|User Slice|dbus' | less
    cat /var/log/messages | egrep -v 'systemd: Started Session|systemd: Starting Session|User Slice|dbus|PackageKit Daemon' | less

Tapi sekarang saya tahu bagaimana melakukan hal yang sama dalam less . Misalnya, saya dapat mengetik &!systemd: Started Session , lalu putuskan saya ingin menyingkirkan systemd: Starting Session , jadi saya menambahkannya dengan mengetik &! dan gunakan panah Atas untuk mendapatkan penelusuran sebelumnya dari riwayat. Lalu saya ketik |systemd: Starting Session dan tekan Enter , terus menambahkan lebih banyak item dengan cara yang sama sampai saya cukup menyaring untuk melihat item yang lebih menarik.

=

Perintah = menampilkan lebih banyak informasi tentang file dan lokasi, bahkan lebih dari -M . Jika file sangat panjang, dan menghitung = terlalu lama, Anda dapat menekan Ctrl+C dan itu akan berhenti mencoba.

Jika konten yang Anda lihat berasal dari pipa dan bukan file, = (dan -M ) tidak akan menunjukkan apa yang tidak diketahuinya, termasuk jumlah baris dan byte dalam file. Untuk melihat data tersebut, jika Anda mengetahui command akan selesai dengan cepat, Anda dapat melompat ke akhir dengan G , lalu less akan mulai menampilkan informasi tersebut.

Jika Anda menekan G dan penulisan perintah ke pipa membutuhkan waktu lebih lama dari yang diharapkan, Anda dapat menekan Ctrl+C , dan perintah akan dibunuh. Menekan Ctrl+C akan membunuhnya bahkan jika Anda tidak menekan G , jadi berhati-hatilah untuk tidak menekan Ctrl+C secara tidak sengaja jika Anda tidak berniat untuk membunuhnya. Untuk alasan ini, jika perintah melakukan sesuatu (yaitu, tidak hanya menampilkan informasi), biasanya lebih aman untuk menulis outputnya ke file dan melihat file di terminal terpisah, daripada menggunakan pipa.

Mengapa Anda membutuhkan lebih sedikit

less adalah program yang sangat kuat, dan bertentangan dengan pesaing baru di bidang ini, seperti most dan moar , Anda mungkin menemukannya di hampir semua sistem yang Anda gunakan, seperti vi . Jadi, bahkan jika Anda menggunakan penampil atau editor GUI, ada baiknya meluangkan waktu untuk membaca less halaman manual, setidaknya untuk merasakan apa yang tersedia. Dengan cara ini, ketika Anda perlu melakukan sesuatu yang mungkin tercakup oleh fungsionalitas yang ada, Anda akan tahu untuk mencari di halaman manual atau internet untuk menemukan apa yang Anda butuhkan.

Untuk informasi lebih lanjut, kunjungi halaman beranda less. Situs ini memiliki FAQ yang bagus dengan lebih banyak tips dan trik.


Linux
  1. 6 metakarakter Linux yang saya suka gunakan di baris perintah

  2. Belajar menggunakan editor teks Sed

  3. Cara Menggunakan Perintah Tar di Linux

  1. Buat file dengan menggunakan baris perintah di Linux

  2. Bisakah lebih sedikit menunjukkan proporsi file teks yang dilihat?

  3. less (linux) get/go-to X offset dalam file

  1. Menggunakan lebih sedikit untuk melihat file teks di baris perintah Linux

  2. Cara Menggunakan Lebih Sedikit Perintah di Linux dengan Contoh

  3. Cara Menggunakan Perintah md5sum di Linux