那些短小确经典的代码&命令----linux

1.忽略额外的换行符

do{

    c=getchar();

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

用处:Linux会暂存用户输入的内容,知道用户按下回车键,然后将用户输入字符及紧随其后的回车符一起传给程序,所以\n也会被getchar()获取,造成程序产生不想见的输出。

忽略的原理即当c通过getchar函数获得一个字符,如果该字符为换行符时,在重新获取一次。

getchar()函数相当于get(STDINN),但它每次只取一个字符,无论你输入多少。当输入n字符时,通过n次调用getchar()来全部获得。

 

2.格式化显示环境变量

 

#include<stdio.h>

 

#include<stdlib.h>

 

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 打开回显

 

 

 

    

posted on 2014-06-22 09:20  萌娜丽莎  阅读(315)  评论(0)    收藏  举报

导航