那些短小確經典的代碼&命令----linux

1.忽略額外的換行符數組

do{函數

    c=getchar();ui

}while(c == ‘\n’);spa

用處:Linux會暫存用戶輸入的內容,知道用戶按下回車鍵,而後將用戶輸入字符及緊隨其後的回車符一塊兒傳給程序,因此\n也會被getchar()獲取,形成程序產生不想見的輸出。進程

忽略的原理即當c經過getchar函數得到一個字符,若是該字符爲換行符時,在從新獲取一次。字符串

getchar()函數至關於get(STDINN),但它每次只取一個字符,不管你輸入多少。當輸入n字符時,經過n次調用getchar()來所有得到。terminal

 

2.格式化顯示環境變量get

 

#include<stdio.h>it

 

#include<stdlib.h>io

 

extern char **environ;

 

 

 

int main(){

 

char **env=environ;

 

 

 

while(*env){

 

printf(「%s\n」,*env);

 

env++;

 

}

 

exit(0);

 

}

 

環境變量是由一組格式爲「名字=值」的字符串組成,程序能夠經過environ變量來直接訪問該數組。

 

還有另外一種方法基於腳本的實現:

 

Eg: cat   /proc/12501/environ  |  tr  ‘\0’  ‘\n’

 

3.指向數組尾部

 

char  *ptr;

 

char  str[]=abcd;

 

ptr = str + strlen(str) - 1;

 

4.%*d

 

自定義變量,設置域寬。

 

char  str=bin」;

 

print(「%s\n」,str);

 

printf(「%*d」,strlen(str),strlen(str));

 

輸出結果即:

 

bin

 

  3

 

4.數據輸出格式

 

float  c=2.6;

 

int    a=2;

 

printf(「%.2f  and  %d」,c/a,(int)(c/a));

 

%.2f表示小數點後兩位小數,強制類型轉換類型要括起來。

 

5.kill -HUP  `pgrep  service_name` 
pid 是進程標識。若是想要更改配置而不需中止並從新啓動服務,請使用該命令。在對配置文件做必要的更改後,發出該命令以動態更新服務配置。

 

PS:

 

HUP(1)是讓進程掛起,睡眠;

 

kill (9)六親不認的殺掉

 

term(15)正常的退出進程

 

` command `==$(comand )  優先執行~

 

6.stty

 

stty  -a  查看所有終端設置。

 

stty  size  打印終端行數和列數

 

stty命令還能夠更改終端行的設置,格式以下:

 

stty SETTING CHAR

 

其中,SETTING能夠是以下

 

    eof : 輸入結束,文件結束,默認爲Ctrl+D。好比:用cat >file來建立文件時,按Ctrl+D來結束輸入。
    erase : 向後刪除字符,擦除最後一個輸入字符,默認爲Ctrl+?。注意默認狀況下退格鍵Backspace不是刪除字符。
    intr : 中斷當前程序,默認爲Ctrl+C
    kill : 刪除整條命令,刪除整行,默認爲Ctrl+U
    quit :退出當前程序,默認爲Ctrl+\Ctrl+|
    start : 啓動屏幕輸出,默認爲Ctrl+Q
    stop :中止屏幕輸出,默認爲Ctrl+S
    susp : terminal stop當前程序,默認爲Ctrl+Z。這樣當前進程就會變成後臺進程了。

 

    werase:刪除最後一個單詞,默認爲Ctrl+W

 

stty命令還有一些其餘用法,如:

 

    stty -echo 關閉回顯。好比在腳本中用於輸入密碼時。

 

    stty echo 打開回顯

相關文章
相關標籤/搜索