1. 程式人生 > >Linux命令:clear的實現

Linux命令:clear的實現

這是一個實現起來相對來說很簡單但是卻不可或缺的一個命令,如果沒有clear,我們的終端上將會充斥著之前顯示過的垃圾資訊,讓人覺得很煩,而且會比較難找到我們所需要的內容。因此我們需要使用clear命令來清理螢幕。具體實現如下:

同學們會疑惑了,這函式裡面的這些東西字元到底是什麼意思呢?

其實這些都是VT100裡面的控制碼,所謂VT100,是一個終端型別的定義,比如我現在用的這個Linux系統的終端就是VT100型別的終端,因此可以使用這些控制碼來對終端進行操作,

"\x1b[2J"清除整個螢幕,行屬性變成單寬單高,游標位置不變

"\x1b[H"游標移動

還有其他的一些控制碼

\033[0m 關閉所有屬性

\033[1m 設定為高亮

\033[4m 下劃線

\033[5m 閃爍

\033[7m 反顯

\033[8m 消隱

\033[nA 游標上移 n 行

\033[nB 游標下移 n 行

\033[nC 游標右移 n 行

\033[nD 游標左移 n 行

\033[y;xH 設定游標位置

\033[2J 清屏

\033[K 清除從游標到行尾的內容

\033[s 儲存游標位置

\033[u 恢復游標位置

\033[?25l 隱藏游標

\033[?25h 顯示游標

\033[30m – \033[37m 設定前景色

30: 黑色   31: 紅色   32: 綠色   33: 黃色   34: 藍色   35: 紫色 36: 青色 37: 白色 \033[40m – \033[47m 設定背景色

40: 黑色 41: 紅色 42: 綠色 43: 黃色 44: 藍色 45: 紫色 46: 青色 47: 白色

在上面的程式碼截圖中,我們用的是“\x1b”,下面這些是“\033”,這兩種具體有什麼區別,還不是很清楚,不過後面的屬性在這兩種格式下都可以使用。