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 打開回顯。