GNU/Linux >> Belajar Linux >  >> Linux

15 Contoh Untuk Menguasai Sejarah Baris Perintah Linux

Bila Anda sering menggunakan baris perintah Linux, menggunakan riwayat secara efektif dapat menjadi peningkatan produktivitas yang besar. Faktanya, setelah Anda menguasai 15 contoh yang saya berikan di sini, Anda akan menemukan penggunaan baris perintah lebih menyenangkan dan menyenangkan.

1. Tampilkan stempel waktu menggunakan HISTTIMEFORMAT

Biasanya ketika Anda mengetik riwayat dari baris perintah, ini akan menampilkan perintah# dan perintah. Untuk tujuan audit, mungkin bermanfaat untuk menampilkan cap waktu bersama dengan perintah seperti yang ditunjukkan di bawah ini.

# export HISTTIMEFORMAT='%F %T '
# history | more
1  2008-08-05 19:02:39 service network restart
2  2008-08-05 19:02:39 exit
3  2008-08-05 19:02:39 id
4  2008-08-05 19:02:39 cat /etc/redhat-release

2. Cari riwayat menggunakan Control+R

Saya sangat percaya, ini mungkin fitur sejarah Anda yang paling sering digunakan. Ketika Anda sudah menjalankan perintah yang sangat panjang, Anda cukup mencari riwayat menggunakan kata kunci dan menjalankan kembali perintah yang sama tanpa harus mengetiknya sepenuhnya. Tekan Control+R dan ketik kata kunci . Dalam contoh berikut, saya menelusuri merah , yang menampilkan perintah sebelumnya “cat /etc/redhat-release ” dalam sejarah yang mengandung kata merah.

# [Press Ctrl+R from the command prompt,
which will display the reverse-i-search prompt]
(reverse-i-search)`red': cat /etc/redhat-release
[Note: Press enter when you see your command,
which will execute the command from the history]
# cat /etc/redhat-release
Fedora release 9 (Sulphur)

Terkadang Anda ingin mengedit perintah dari riwayat sebelum menjalankannya. Untuk misalnya Anda dapat menelusuri httpd , yang akan menampilkan layanan httpd stop dari riwayat perintah, pilih perintah ini dan ubah berhenti menjadi mulai dan jalankan kembali seperti yang ditunjukkan di bawah ini.

# [Press Ctrl+R from the command prompt,
which will display the reverse-i-search prompt]
(reverse-i-search)`httpd': service httpd stop
[Note: Press either left arrow or right arrow key when you see your
command, which will display the command for you to edit, before executing it]
# service httpd start

3. Ulangi perintah sebelumnya dengan cepat menggunakan 4 metode berbeda

Terkadang Anda mungkin mengulangi perintah sebelumnya karena berbagai alasan. Berikut ini adalah 4 cara berbeda untuk mengulang perintah yang terakhir dieksekusi.

  1. Gunakan panah atas untuk melihat perintah sebelumnya dan tekan enter untuk menjalankannya.
  2. Ketik !! dan tekan enter dari baris perintah
  3. Ketik !-1 dan tekan enter dari baris perintah.
  4. Tekan Kontrol+P akan menampilkan perintah sebelumnya, tekan enter untuk menjalankannya

4. Jalankan perintah tertentu dari riwayat

Pada contoh berikut, Jika Anda ingin mengulang perintah #4, Anda dapat melakukan !4 seperti yang ditunjukkan di bawah ini.

# history | more
1  service network restart
2  exit
3  id
4  cat /etc/redhat-release

# !4
cat /etc/redhat-release
Fedora release 9 (Sulphur)

5. Jalankan perintah sebelumnya yang dimulai dengan kata tertentu

Jenis ! diikuti dengan beberapa huruf awal dari perintah yang ingin Anda jalankan kembali. Pada contoh berikut, ketikan !ps dan enter, jalankan perintah sebelumnya yang dimulai dengan ps, yaitu ‘ps aux | grep yp’.

# !ps
ps aux | grep yp
root     16947  0.0  0.1  36516  1264 ?        Sl   13:10   0:00 ypbind
root     17503  0.0  0.0   4124   740 pts/0    S+   19:19   0:00 grep yp

6. Kontrol jumlah total baris dalam riwayat menggunakan HISTSIZE

Tambahkan dua baris berikut ke .bash_profile dan masuk kembali ke bash shell lagi untuk melihat perubahannya. Dalam contoh ini, hanya 450 perintah yang akan disimpan dalam riwayat bash.

# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450

7. Ubah nama file riwayat menggunakan HISTFILE

Secara default, riwayat disimpan di ~/.bash_history mengajukan. Tambahkan baris berikut ke .bash_profile dan login kembali ke bash shell, untuk menyimpan perintah history di file .commandline_warrior alih-alih file .bash_history. Saya belum menemukan penggunaan praktis untuk ini. Saya dapat melihat ini digunakan ketika Anda ingin melacak perintah yang dijalankan dari terminal yang berbeda menggunakan nama file riwayat yang berbeda.

# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior

Jika Anda memiliki alasan yang baik untuk mengubah nama file riwayat, silakan bagikan dengan saya, karena saya tertarik untuk mengetahui bagaimana Anda menggunakan fitur ini.

8. Hilangkan entri berulang yang terus-menerus dari riwayat menggunakan HISTCONTROL

Dalam contoh berikut pwd diketik tiga kali, ketika Anda melakukan histori, Anda dapat melihat semua 3 kemunculannya yang berkelanjutan. Untuk menghilangkan duplikat, setel HISTCONTROL ke abaikan seperti yang ditunjukkan di bawah ini.

# pwd
# pwd
# pwd
# history | tail -4
44  pwd
45  pwd
46  pwd [Note that there are three pwd commands in history, after
executing pwd 3 times as shown above]
47  history | tail -4

# export HISTCONTROL=ignoredups
# pwd
# pwd
# pwd
# history | tail -3
56  export HISTCONTROL=ignoredups
57  pwd [Note that there is only one pwd command in the history, even after
executing pwd 3 times as shown above]
58  history | tail -4

9. Hapus duplikat di seluruh riwayat menggunakan HISTCONTROL

Abaikan yang ditunjukkan di atas menghapus duplikat hanya jika itu adalah perintah berurutan. Untuk menghilangkan duplikat di seluruh riwayat, setel HISTCONTROL ke erasedups seperti yang ditunjukkan di bawah ini.

# export HISTCONTROL=erasedups
# pwd
# service httpd stop
# history | tail -3
38  pwd
39  service httpd stop
40  history | tail -3

# ls -ltr
# service httpd stop
# history | tail -6
35  export HISTCONTROL=erasedups
36  pwd
37  history | tail -3
38  ls -ltr
39  service httpd stop
[Note that the previous service httpd stop after pwd got erased]
40  history | tail -6

10. Paksa riwayat untuk tidak mengingat perintah tertentu menggunakan HISTCONTROL

Saat Anda menjalankan perintah, Anda dapat menginstruksikan riwayat untuk mengabaikan perintah dengan mengatur HISTCONTROL ke abaikan spasi DAN mengetik spasi di depan perintah seperti yang ditunjukkan di bawah ini. Saya dapat melihat banyak sysadmin junior bersemangat tentang ini, karena mereka dapat menyembunyikan perintah dari riwayat. Adalah baik untuk memahami cara kerja abaikan ruang. Namun, sebagai praktik terbaik, jangan menyembunyikan apa pun dari sejarah dengan sengaja.

# export HISTCONTROL=ignorespace
# ls -ltr
# pwd
#  service httpd stop [Note that there is a space at the beginning of service,
to ignore this command from history]
# history | tail -3
67  ls -ltr
68  pwd
69  history | tail -3

11. Hapus semua riwayat sebelumnya menggunakan opsi -c

Terkadang Anda mungkin ingin menghapus semua riwayat sebelumnya, tetapi ingin membuat riwayat tetap berjalan.

# history -c

12. Ganti kata dari perintah history

Saat menelusuri riwayat, Anda mungkin ingin menjalankan perintah yang berbeda tetapi menggunakan parameter yang sama dari perintah yang baru saja Anda telusuri.

Pada contoh di bawah, !!:$ di sebelah perintah vi mendapatkan argumen dari perintah sebelumnya ke perintah saat ini.

# ls anaconda-ks.cfg
anaconda-ks.cfg
# vi !!:$
vi anaconda-ks.cfg

Pada contoh di bawah, !^ di sebelah perintah vi mendapatkan argumen pertama dari perintah sebelumnya (yaitu perintah cp) ke perintah saat ini (yaitu perintah vi).

# cp anaconda-ks.cfg anaconda-ks.cfg.bak
anaconda-ks.cfg
# vi  !^
vi anaconda-ks.cfg

13. Ganti argumen tertentu untuk perintah tertentu.

Pada contoh di bawah, !cp:2 mencari perintah sebelumnya dalam sejarah yang dimulai dengan cp dan mengambil argumen kedua dari cp dan menggantikannya dengan perintah ls -l seperti yang ditunjukkan di bawah ini.

# cp ~/longname.txt /really/a/very/long/path/long-filename.txt
# ls -l !cp:2
ls -l /really/a/very/long/path/long-filename.txt

Pada contoh di bawah, !cp:$ mencari perintah sebelumnya dalam sejarah yang dimulai dengan cp dan mengambil argumen terakhir (dalam hal ini, yang juga merupakan argumen kedua seperti yang ditunjukkan di atas) dari cp dan menggantikannya dengan perintah ls -l seperti yang ditunjukkan di bawah ini.

# ls -l !cp:$
ls -l /really/a/very/long/path/long-filename.txt

14. Nonaktifkan penggunaan riwayat menggunakan HISTSIZE

Jika Anda ingin menonaktifkan semua riwayat dan tidak ingin bash shell mengingat perintah yang Anda ketik, setel HISTSIZE ke 0 seperti yang ditunjukkan di bawah ini.

# export HISTSIZE=0
# history
# [Note that history did not display anything]

15. Abaikan perintah tertentu dari riwayat menggunakan HISTIGNORE

Terkadang Anda mungkin tidak ingin mengacaukan riwayat Anda dengan perintah dasar seperti pwd dan ls. Gunakan HISTIGNORE untuk menentukan semua perintah yang ingin Anda abaikan dari riwayat. Harap dicatat bahwa menambahkan ls ke HISTIGNORE hanya mengabaikan ls dan bukan ls -l. Jadi, Anda harus memberikan perintah yang tepat yang ingin Anda abaikan dari riwayat.

# export HISTIGNORE="pwd:ls:ls -ltr:"
# pwd
# ls
# ls -ltr
# service httpd stop

# history | tail -3
79  export HISTIGNORE="pwd:ls:ls -ltr:"
80  service httpd stop
81  history
[Note that history did not record pwd, ls and ls -ltr]

Bacaan yang Disarankan

Bash 101 Hacks, oleh Ramesh Natarajan . Saya menghabiskan sebagian besar waktu saya di lingkungan Linux. Jadi, tentu saja saya penggemar berat baris perintah Bash dan skrip shell. 15 tahun yang lalu, ketika saya mengerjakan berbagai rasa *nix, saya biasa menulis banyak kode pada shell C dan shell Korn. Bertahun-tahun kemudian, ketika saya mulai bekerja di Linux sebagai administrator sistem, saya cukup banyak mengotomatisasi setiap tugas yang mungkin menggunakan skrip Bash shell. Berdasarkan pengalaman Bash saya, saya telah menulis eBook Bash 101 Hacks yang berisi 101 contoh praktis pada baris perintah Bash dan skrip shell. Jika Anda berpikir untuk menguasai Bash, bantulah diri Anda sendiri dan bacalah buku ini, yang akan membantu Anda mengendalikan baris perintah Bash dan skrip shell.

Artikel Linux yang Luar Biasa

Berikut adalah beberapa 15 contoh yang mengagumkan artikel yang mungkin bermanfaat bagi Anda.

  • Perintah Unix LS:15 Contoh Praktis
  • Dapatkan Pegangan di Grep! – 15 Contoh Perintah Grep Praktis
  • Linux Crontab:15 Contoh Pekerjaan Cron yang Luar Biasa
  • Bu, aku menemukannya! — 15 Contoh Perintah Temukan Linux yang Praktis

Linux
  1. Cara Menghapus Riwayat Baris Perintah BASH di Linux

  2. 8 Contoh Perintah Linux TR

  3. Contoh Perintah rm di Linux

  1. Perintah sejarah Linux

  2. Contoh Perintah ps di Linux

  3. ctrl + r di baris perintah terminal linux / ubuntu

  1. 7 Contoh Perintah Linux df

  2. sa Contoh Perintah di Linux

  3. w Contoh Perintah di Linux