Linux终端打印命令使⽤介绍
常⽤linux打印命令
⽇常使⽤中或shell脚本中linux终端打印命令有echo和printf。
echo命令
功能说明:显⽰⽂字。
语 法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输⼊的字符串送往标准输出。输出的字符串间以空⽩字符隔开, 并在最后加上换⾏号。
参  数:-n 不要在最后⾃动换⾏
-e 若字符串中出现以下字符,则特别加以处理,⽽不会将它当成⼀般
⽂字输出:
\a 发出警告声;
\b 删除前⼀个字符;
\c 最后不加上换⾏符号;linux终端下载软件
\f 换⾏但光标仍旧停留在原来的位置;
\n 换⾏且光标移⾄⾏⾸;
\r 光标移⾄⾏⾸,但不换⾏;
\t 插⼊tab;
\v 与\f相同;
\\ 插⼊\字符;
\nnn 插⼊nnn(⼋进制)所代表的ASCII字符;
–help 显⽰帮助
–version 显⽰版本信息
echo命令的功能是在显⽰器上显⽰⼀段⽂字,⼀般起到⼀个提⽰的作⽤。
该命令的⼀般格式为: echo [ -n ] 字符串
其中选项n表⽰输出⽂字后不换⾏;字符串能加引号,也能不加引号。⽤echo命令输出加引号的字符串时,将字符串原样输出;⽤echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间⽤⼀个空格分割。
echo要变换颜⾊的时候,要使⽤参数-e
格式: echo -e "\033[字背景颜⾊;字体颜⾊m字符串\033[0m"
例如:
echo -e "\033[41;36m something here \033[0m"
其中41的位置代表底⾊, 36的位置是代表字的颜⾊
那些ascii code 是对颜⾊调⽤的始末.
\033[ ; m …… \033[0m
让字体变为红⾊并且不停的闪烁
#echo -e "\033[31m \33[05m 请确认是否要停⽌当前的squid进程,输⼊ [Y/N] \033[0m"
或者
#echo -e "\033[31m \033[05m 请确认是否要停⽌当前的squid进程,输⼊ [Y/N] \033[0m"
字背景颜⾊范围:40----49
40:⿊
41:深红
42:绿
43:黄⾊
44:蓝⾊
45:紫⾊
46:深绿
47:⽩⾊
字颜⾊:30-----------39
30:⿊
31:红
32:绿
33:黄
34:蓝⾊
35:紫⾊
36:深绿
37:⽩⾊
===============================================ANSI控制码的说明
\33[0m 关闭所有属性
\33[1m 设置⾼亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m -- \33[37m 设置前景⾊
\33[40m -- \33[47m 设置背景⾊
\33[nA 光标上移n⾏
\33[nB 光标下移n⾏
\33[nC 光标右移n⾏
\33[nD 光标左移n⾏
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到⾏尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显⽰光标
或参考这篇博客,也写的不错:
printf命令
Linux提供⼀个功能更强⼤,更灵活的打印命令printf。printf和C语⾔的使⽤⽅式类似。和echo不⼀样,它不会在最后⾃动加上换⾏,需要写⼊命令中。例如printf "Hello, world/n"。printf的命令格式如下:
printf format-string [arguments]
  例⼦为:printf "%s, %s/n" hello world。如果格式需要的参数⽐后⾯给出的多,超出的部分为0或者null。格式如下。
%c:ASCII字符,如果参数给出字符串,则打印第⼀个字符
%d:10进制整数
%i:同%d
%e:浮点格式([-]d.精度[+-]dd)
%E:浮点格式([-]d.精度E[+-]dd)
%f:浮点格式([-]ddd.precision)
%g:%e或者%f的转换,如果后尾为0,则删除它们
%G:%E或者%f的转换,如果后尾为0,则删除它们
%o:8进制
%s:字符串
%u:⾮零正整数
%x:⼗六进制
%X:⾮零正数,16进制,使⽤A-F表⽰10-15
%%:表⽰字符"%"
  如果需要限定输出的宽度,格式为%flags width.precision format-specifier,width是整数,右边对齐,如果需要左边对齐,在前⾯
加“-”,例如"%-20s"表⽰从左边开始对齐,宽度为20,如果字符串长度少于20,通过空格补齐。precision在浮点值中提供四舍五⼊。例
如%5.6G,长度为5,精度为6。精度是可选的。长度和精度的值可以参数中指定,例如printf "%*.*G/n" 5 6 $myvalue。长度指显⽰中占的字符长度,与字符长度的同义。如果长度⽐实际的少,例如实际字符长度更⼤或者所要求的精度更⼤,则显⽰按实际长度。
%d, %I, %o, %u, %x, %X:在⾥⾯使⽤精度,表⽰最⼩显⽰的数字。如果显⽰的数字⽐需求少,则补充0。缺省值为1.
%e, %E:在⾥⾯使⽤精度,表⽰最⼩显⽰的数字。如果显⽰的数字⽐需求少,在⼩数点后⾯补充0。缺省值为10.精度度为0经隐藏⼩数点。
%f:在这⾥的精度,表⽰⼩数点后⾯的数字的数⽬。
%g, %G:这⾥的精度,表⽰最⼤的有效数字的数⽬。
%s:这⾥的精度,表⽰最⼤的字符数⽬。
  在前⾯,介绍了”-“作为左对齐,下⾯介绍这些特殊符号
-:左对齐
space:正数前⾯加空格,负数前⾯加符号,例如12.12,|% f|,显⽰| 12.120000|,注意前⾯留了⼀个空格。例如-12.12,|% f|,显⽰|-12.120000|
+:对于数码给予正负号。
#:给出另⼀种格式:
%o以8进制显⽰整数,⽽%#o则在前⾯加上零,表明是⼋进制,例如12,显⽰014
%x或者%X以16进制的⽅式显⽰整数,⽽%#x或者%#X,在16进制的整数前⾯加上0x或者0X来表⽰,例如12,显⽰0XC
%#e,%#E, %#f,将只以⼗进制显⽰
%#g,%#G,将不删除最后⽆关的补齐0,例如12.1200,将全部显⽰,⽽不是12.12。
0:对于数⽬,不使⽤空格,⽽使⽤0来作为补齐。
  介绍两个特别的字符显⽰格式%b和%q。
%b:表⽰解析字符串的特殊的字符,包括/n等等。例如printf "%s/n" 'hello/nworld',显⽰hello/nworld,
要将/n作为换⾏符,则需要⽤printf "%b/n" 'hello/nworld' 。
%q:printf "%q/n" "greetings to the world"显⽰为greetings/ to/ the/ world,可以作为shell的输⼊。
写在后⾯的⼩笔记:
有时候想在shell代码中写个提⽰,即打印⼀个命令的执⾏结果,例如打印“系统中oracle的进程个数是:135个”这句话:
[aaa@cc_svr ~]$ echo “系统中oracle的进程个数是:$(ps -ef|wc -l)个”
“系统中oracle的进程个数是:135个”
[aaa@cc_svr ~]$ echo "系统中oracle的进程个数是:`ps -ef|wc -l` 个"
系统中oracle的进程个数是:135 个
[aaa@cc_svr ~]$ echo -n "系统中oracle的进程个数是:";echo -n `ps -ef|wc -l`;echo "个";
系统中oracle的进程个数是:135个
[aaa@cc_svr ~]$
在echo中的命令替换部分加上双“`”(~键)号,即可执⾏语句⾥⾯的命令部分。借助echo -n不换⾏,将换⾏的输⼊连成⼀句话,也可以使⽤printf变量输出。