那些短小确经典的代码&命令----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 打开回显。
浙公网安备 33010602011771号