GNU/Linux >> Belajar Linux >  >> Linux

Peretasan baris perintah riwayat Linux favorit sysadmin

Seperti banyak orang yang bekerja dengan mesin Linux, saya lebih suka menggunakan antarmuka baris perintah jika memungkinkan dan jika masuk akal. Dalam beberapa kasus, lebih mudah untuk menemukan, memeriksa, dan memodifikasi beberapa konfigurasi menggunakan jari Anda karena mereka hanya "tahu" perintah yang perlu Anda ketik, dan lebih cepat daripada membuka GUI dan mencari urutan menu yang Anda perlukan. klik.

Tentu, ada beberapa kasus ketika menggunakan GUI lebih cepat, dan Anda hanya melakukan tugas itu sekali atau dua kali, jadi siapa yang peduli, bukan? Tetapi jika itu adalah sesuatu yang harus Anda lakukan berkali-kali, mungkin dengan beberapa variasi, otak sysadmin Anda berpikir, "Dapatkah saya mengotomatiskan ini?" Dalam banyak kasus, jawabannya adalah, ya, tetapi upaya untuk mengotomatisasi tugas tidak sepadan dalam situasi lain.

[ Anda mungkin juga menyukai: Trik terminal Linux:Meretas perintah cd untuk mengingat tempat yang pernah Anda kunjungi]

Jika saya bisa menggunakan kembali perintah terbaru yang saya ketik.

Sejarah

Opsi paling sederhana untuk memulihkan perintah terakhir yang Anda ketik di konsol Linux adalah dengan menggunakan history . Dalam contoh ini, Anda bekerja dengan server HTTP, dan Anda berulang kali menghentikan layanan, mengedit httpd.conf file, dan kemudian memulai ulang httpd untuk memeriksa hasil di browser.

Perintah berikut akan menunjukkan kepada Anda 10 perintah terakhir yang digunakan:

❯ history | tail -10
10057  systemctl stopt httpd.service
10058  systemctl stop httpd.service
10059  sudo systemctl stop httpd.service
10060  sudo systemctl start httpd.service
10061  systemctl status httpd.service
10062  history
10063  systemctl status httpd.service
10064  ps -ef|grep httpd
10065  man httpd.conf
10066  view /etc/httpd/conf/httpd.conf

Dari sana, Anda dapat menyalin dan menempelkan baris (jika Anda perlu mengedit perintah atau menggunakannya di terminal lain) atau mengetikkan tanda seru diikuti dengan urutan perintah dalam riwayat:

> !10061

Baris ini mengingat perintah systemctl status httpd.service dari histori, lalu Anda tinggal menekan tombol ENTER key (atau edit perintah sebelum mengeksekusi ulang).

Ini tidak buruk, tetapi Anda masih perlu mengetik urutannya atau salin+tempel dengan mouse. Bukan besar kesepakatan, tetapi Anda ingin fokus pada tugas utama Anda.

Beberapa alternatif bagus

Anda dapat mengingat kembali perintah sebelumnya dari riwayat menggunakan NAIK tanda panah. Navigasikan daftar dengan menggunakan NAIK dan BAWAH kunci.

Pendekatan ini boleh saja, tetapi bagaimana jika Anda ingin memulihkan sesuatu yang Anda tahu telah Anda gunakan 15 menit yang lalu? Itu pasti akan ada dalam daftar riwayat, tetapi Anda mungkin perlu melakukan penambangan.

Misalnya, Anda dapat menggunakan history , kirim hasilnya ke grep , dan daftar hanya perintah-perintah yang sesuai dengan kebutuhan Anda. Dalam contoh ini, saya menampilkan semua perintah di history yang menyertakan http string:

> history | grep http
10544* systemctl status httpd.service
10545* systemctl stopt httpd.service
10546* systemctl stop httpd.service
10547* sudo systemctl stop httpd.service
10548* sudo systemctl start httpd.service
10549* systemctl status httpd.service
10551* systemctl status httpd.service
10552* ps -ef|grep httpd
10553* man httpd.conf
10554* view /etc/httpd/conf/httpd.conf
10561* systemctl status httpd.service

Jadi dari sini, Anda bisa menggunakan tanda seru dan nomor urut lagi. Misalnya:!10546

Tetapi Anda mungkin berpikir, "Tidak apa-apa, tetapi koneksi otak-ke-jari saya sangat cepat sehingga saya tidak ingin terganggu. Saya tahu tepat perintah yang saya cari."

Baiklah, ada solusi untuk itu juga.

Saat otak dan jari Anda tahu apa yang mereka cari

Melanjutkan contoh ini, Anda ingin memanggil kembali perintah yang terkait dengan httpd dengan cepat.

Opsi untuk Anda adalah menggunakan CTRL+R , yang akan meminta Anda memasukkan substring. Gunakan itu untuk mengingat terakhir perintah yang Anda ketik yang berisi string itu.

Saat Anda mengetik string dari perintah Anda, perintah terakhir yang menggunakan string itu akan ditampilkan. Jika perintah yang Anda cari, tekan ENTER , dan itu akan dieksekusi.

Jika pada titik ini Anda terus menekan CTRL+R , kedua terakhir perintah yang berisi string pencarian itu akan ditampilkan, yang dalam contoh ini adalah view /etc/httpd/conf/httpd.conf perintah.

Anda dapat menavigasi mundur (CTRL+R ) dan teruskan (CTRL+S ).

[ Ingin menguji kemampuan sysadmin Anda? Ikuti penilaian keterampilan hari ini. ] 

Menutup

Saat Anda mengetahui bagian dari perintah yang Anda jalankan baru-baru ini, Anda dapat menggunakan pintasan yang dibahas di sini untuk mengingatnya dengan cepat. Ini bisa sangat berguna jika Anda menggunakan perintah itu sejak lama dan itu masih ada dalam riwayat shell, tetapi jari-jari Anda "mengingatnya".

Jelas, ada cara yang lebih efisien untuk melakukan tugas sehari-hari Anda daripada mengetik:Membuat alias untuk perintah yang sering Anda gunakan, membuat skrip, mengotomatisasi, dll. Namun saat mengetik diperlukan, lebih baik melakukannya secara efisien.


Linux
  1. Perintah sejarah Linux

  2. Contoh Perintah httpd di Linux

  3. Contoh Perintah systemctl di Linux

  1. Cara Menghapus Riwayat Baris Perintah BASH di Linux

  2. Perintah Sejarah di Linux Dijelaskan Secara Mendalam

  3. 5 alat sysadmin Linux favorit saya

  1. 15 Contoh Untuk Menguasai Sejarah Baris Perintah Linux

  2. Layanan OS Linux 'httpd'

  3. Contoh Perintah layanan di Linux