Jika anda seorang pengguna baris arahan Linux, kadangkala anda mungkin tidak mahu arahan tertentu direkodkan dalam sejarah baris arahan anda. Mungkin terdapat banyak sebab, contohnya, anda memegang jawatan tertentu dalam syarikat dan anda mempunyai keistimewaan tertentu yang anda tidak mahu orang lain menyalahgunakan. Atau mungkin terdapat beberapa arahan yang sangat penting yang anda tidak mahu laksanakan secara tidak sengaja semasa menyemak imbas senarai sejarah.
Walau bagaimanapun, adakah terdapat cara untuk mengawal arahan mana yang masuk ke dalam senarai sejarah dan yang tidak? Atau dengan kata lain, bolehkah kita mendayakan mod inkognito seperti penyemak imbas dalam terminal Linux? Jawapannya ya, dan bergantung pada matlamat khusus yang anda inginkan, terdapat banyak cara untuk mencapainya. Dalam artikel ini, kami akan membincangkan beberapa kaedah yang terbukti.
Nota: Semua arahan yang muncul dalam artikel ini telah diuji di bawah Ubuntu.
Dua kaedah pertama telah diterangkan dalam artikel sebelum ini. Jika anda sudah tahu ini, anda boleh melangkau bahagian ini. Walau bagaimanapun, jika anda tidak memahaminya, adalah disyorkan untuk membacanya dengan teliti.
Ya, anda membacanya dengan betul. Dengan memasukkan ruang sebelum arahan, arahan itu akan diabaikan oleh shell, yang bermaksud ia tidak akan muncul dalam sejarah. Tetapi kaedah ini mempunyai prasyarat Ia hanya akan berfungsi jika pembolehubah persekitaran anda HISTCONTROL ditetapkan kepada "ignorespace" atau "ignoreboth". Dalam kebanyakan kes, ini ialah nilai lalai.
Jadi, seperti arahan berikut (di sini [ruang] bermaksud memasuki ruang):
[space]echo "this is a top secret"
Jika anda sebelum ini telah melaksanakan perintah berikut untuk menetapkan pembolehubah persekitaran, arahan di atas tidak akan muncul dalam sejarah.
export HISTCONTROL = ignorespace
Tangkapan skrin di bawah ialah contoh pendekatan ini.
Arahan "gema" keempat tidak direkodkan dalam sejarah kerana terdapat ruang di hadapannya.
Jika anda ingin melumpuhkan semua sejarah untuk sesi, anda boleh mengosongkan nilai pembolehubah persekitaran HISTSIZE sebelum memulakan kerja baris arahan. Jalankan arahan berikut untuk mengosongkan nilainya:
export HISTSIZE=0
HISTSIZE mewakili bilangan arahan (bilangan baris) yang boleh disimpan dalam senarai sejarah sesi bash. Secara lalai ia ditetapkan kepada nilai bukan sifar, contohnya pada komputer saya ia adalah 1000.
Jadi arahan yang disebutkan di atas menetapkan nilainya kepada 0, dengan keputusan tiada apa yang akan disimpan dalam sejarah sehingga anda menutup terminal. Ingat bahawa anda juga tidak dapat melihat arahan yang dilaksanakan sebelum ini dengan menekan kekunci anak panah atas atau menjalankan arahan sejarah.
Ini boleh dilihat sebagai satu lagi pelaksanaan penyelesaian yang dicadangkan di bahagian sebelumnya. Satu-satunya perbezaan adalah untuk melaksanakan arahan ini selepas anda menyelesaikan semua kerja anda. Berikut ialah arahan yang baru disebut:
history -cw
Seperti yang dinyatakan tadi, ini mempunyai kesan yang sama seperti kaedah HISTSIZE.
Walaupun kaedah yang diterangkan sebelum ini (2 dan 3) akan memenuhi tujuannya, kaedah tersebut boleh mengosongkan keseluruhan sejarah, dan dalam banyak kes, sesetengahnya mungkin tidak seperti yang kita harapkan. Kadangkala anda mungkin mahu menyimpan sejarah sehingga anda mula bekerja pada baris arahan. Untuk keperluan sedemikian, anda mula melaksanakan arahan berikut sebelum bekerja:
[space]set +o history
Nota: [ruang] bermaksud ruang. Dan kerana ruang, arahan itu sendiri tidak dilog sama ada.
Arahan di atas akan melumpuhkan fungsi sejarah buat sementara waktu, yang bermaksud bahawa semua operasi yang anda lakukan selepas arahan ini tidak akan direkodkan dalam sejarah, tetapi semua sebelum arahan ini akan direkodkan dalam senarai sejarah sebagaimana adanya.
Untuk mendayakan semula fungsi sejarah, laksanakan arahan berikut:
[Space]set -o history
Ia akan memulihkan persekitaran kepada keadaan asalnya, iaitu, anda telah menyelesaikan kerja anda, dan arahan selepas melaksanakan arahan di atas akan muncul dalam sejarah.
现在假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办?很简单。直接动手删除它们。通过下面的命令来删除:
history | grep "part of command you want to remove"
上面的命令会输出历史记录中匹配的命令,每一条前面会有个数字。
一旦你找到你想删除的命令,执行下面的命令,从历史记录中删除那个指定的项:
history -d [num]
下面是这个例子的截图。
第二个 ‘echo’命令被成功的删除了。
(如果你不希望上述命令本身也被记录进历史中,你可以在上述命令前加个空格)
同样的,你可以使用向上的箭头一直往回翻看历史记录。当你发现你感兴趣的命令出现在终端上时,按下 “Ctrl + U”清除整行,也会从历史记录中删除它。
有多种不同的方法可以操作 Linux 命令行历史来满足你的需求。然而请记住,从历史中隐藏或者删除命令通常不是一个好习惯,尽管本质上这并没有错。但是你必须知道你在做什么,以及可能产生的后果。
Atas ialah kandungan terperinci Bagaimana untuk menyembunyikan sejarah baris arahan Linux anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!