成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

揭開Linux命令Bash history的神秘面紗

系統 Linux
本文將揭開Bash history的神秘面紗,使之成為一個更友好的系統管理工具。

 您可能知道如何使用上下箭頭鍵滾動瀏覽Bash歷史記錄,但是你是否知道Bash history不僅僅是重復命令,而且還有很多其他的功能,或者還有更多?history命令是一個晦澀難懂的命令,但至少它是強大且方便的。本文將揭開Bash history的神秘面紗,使之成為一個更友好的系統管理工具。

背景

在Bash中,命令歷史記錄存儲在主目錄的(.bash_history)文件中。前綴點(.)表示該文件是隱藏文件。要查看它,請發出ls-a命令。 

  1. linuxmi@linuxmi:~$ ls -a 

你現在可以像對待其他文本文件一樣對.bash_history文件進行操作。

你需要了解的三個相關環境變量是HISTFILE,HISTFILESIZE和HISTSIZE。

HISTFILE—/home/linuxmi/.bash_history

HISTFILESIZE—2000

HISTSIZE—1000

HISTFILE變量保存Bash歷史記錄文件的名稱和位置。HISTFILESIZE是.bash_history文件中可以存儲多少個命令。HISTSIZE是緩存的命令數。一旦達到1000條命令,最舊的命令將被丟棄,而新的命令將被保存。 

  1. linuxmi@linuxmi:~$ echo $HISTSIZE  
  2. 1000  
  3. linuxmi@linuxmi:~$ echo $HISTFILESIZE  
  4. 2000  
  5. linuxmi@linuxmi:~$ echo $HISTFILE  
  6. /home/linuxmi/.bash_history 

每個用戶(包括root用戶)都默認分配了這些變量和大小。如果要更改這些變量,請在主目錄中編輯.bashrc文件。例如,如果要將大小變量更改為800個命令,請編輯.bashrc文件并使用以下條目:

export HISTSIZE=800

export HISTFILESIZE=800

要使用新值而不用注銷及重新登錄,執行.bashrc文件命令即可。 

  1. linuxmi@linuxmi:~$ . ~/.bashrc 

現在,你的值現在對于當前shell和任何子shell都是激活的。

如果你不想讓你的歷史記錄保留重復的命令,你可以通過添加以下內容到你的.bashrc文件來指示你的歷史記錄忽略重復的條目:

一個問題

Bash history的問題在于,直到您注銷,它才被寫入.bash_history文件。這使得不可能使用history命令進行腳本編寫。例如,假設您正在班級教學Linux,并且想檢查學生是否已運行特定命令以將其文件復制到一個掛載的外部驅動器。如果學生保持登錄狀態,您將無法確定是否已執行復制,因為您的腳本使用其歷史文件(/home/linuxmi/.bash_history)來檢查命令是否已經運行。

解決方案

要變通解決此功能,請為history命令使用write選項。作為課堂教學的一部分,即使學生沒有注銷,您也要讓他們運行該命令以保存其歷史記錄。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ history -w 

現在開始所有當前會話命令歷史記錄都將寫入HISTFILE。現在,您的檢查腳本可以輕松找到命令是否已運行。您還必須相信學生會運行歷史記錄命令。

另一個問題

由于HISTSIZE和HISTFILESIZE相對較大(1000個命令或者2000個命令),因此學生有可能在之前運行過該命令。您可以將export HISTCONTROL=ignoredups條目添加到他們的.bashrc中,但是如果學生幾天前運行了類似的命令,這將沒有用,因為文件將只顯示一個命令。

這個問題的解決方案

要變通解決此問題,你應該在登錄后清除學生的歷史記錄。再次編輯.bashrc文件,并向其中添加以下命令。

history -c

此命令在每次登錄時清除其歷史記錄,并消除了選擇以前運行的命令的問題。您不必擔心會從以前的會話中拾取命令,因為如果您在/etc/profile中設置了空閑時間限制,則系統會在指定的時間段后注銷空閑用戶。編輯/etc/profile文件并添加以下條目。

TMOUT=180

TMOUT變量使用幾秒鐘的空閑時間。在這種情況下,180秒等于3分鐘。您可以將此值設置為任何秒數。該值將在所有用戶的下次登錄時生效。要設置單個超時值,請使用.bashrc,但要知道到用戶可以隨意更改此文件。

總結

Bash history是一個方便的工具,但是如果您不熟悉它的選項和怪癖,可能會令人沮喪。history中還有更多可用選項。你可以查看手冊頁以獲取更多信息。請記住,你輸入的每一個命令都是正在形成的歷史記錄。 

 

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2015-08-20 13:43:17

NFV網絡功能虛擬化

2010-05-26 19:12:41

SVN沖突

2010-05-17 09:13:35

2021-06-07 08:18:12

云計算云端阿里云

2014-03-12 11:11:39

Storage vMo虛擬機

2024-12-12 09:40:27

Strace命令監控

2009-06-01 09:04:44

Google WaveWeb

2018-03-01 09:33:05

軟件定義存儲

2009-09-15 15:34:33

Google Fast

2016-04-06 09:27:10

runtime解密學習

2023-11-02 09:55:40

2024-02-14 09:00:00

機器學習索引ChatGPT

2025-01-07 15:07:13

2016-11-16 09:06:59

2017-10-16 05:56:00

2021-08-11 09:01:48

智能指針Box

2011-08-02 08:59:53

2021-07-28 21:49:01

JVM對象內存

2010-06-17 10:53:25

桌面虛擬化

2021-09-17 15:54:41

深度學習機器學習人工智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美国产亚洲一区二区 | a级免费黄色片 | 成人黄色电影在线观看 | 看羞羞视频 | 中文字幕 国产精品 | 欧美一级一 | 婷婷久久综合 | 最新超碰 | 日韩欧美国产一区二区 | 欧美成人手机在线 | 欧美网站一区二区 | 久草久草久草 | 91一区二区三区 | 一级片在线观看 | 久久福利电影 | 91在线看片| a级免费观看视频 | 操视频网站 | 久久久91 | 一级做a| 亚洲区一区二 | 日韩伦理一区二区三区 | 国产日韩精品一区二区 | 婷婷综合久久 | 国产1区2区在线观看 | 久久成人久久 | 国产一级在线视频 | 欧美精品在线一区二区三区 | 91最新入口 | 久久精品视频亚洲 | 久久久中文 | 国产成都精品91一区二区三 | 中文字幕观看 | 91精品国产美女在线观看 | 欧美一区二区三区在线 | 国产精品久久久久影院色老大 | 精品国产一区探花在线观看 | 中文字幕 亚洲一区 | 国产午夜精品一区二区三区 | 亚洲播放一区 | 综合久久综合久久 |