zoukankan      html  css  js  c++  java
  • Linux终端打印命令使用介绍

    常用linux打印命令

    日常使用中或shell脚本中linux终端打印命令有echo和printf。


     echo命令

    功能说明:显示文字。
    语   法:echo [-ne][字符串]或 echo [--help][--version]
    补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
    参   数:-n 不要在最后自动换行
                   -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
    文字输出:
       a 发出警告声;
        删除前一个字符;
       c 最后不加上换行符号;
       f 换行但光标仍旧停留在原来的位置;
       换行且光标移至行首;
       光标移至行首,但不换行;
       插入tab;
       v 与f相同;
       \ 插入字符;
       nn 插入nnn(八进制)所代表的ASCII字符;
    –help 显示帮助
    –version 显示版本信息

    echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
    该命令的一般格式为: echo [ -n ] 字符串
    其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

    echo要变换颜色的时候,要使用参数-e

    格式: echo -e "33[字背景颜色;字体颜色m字符串33[0m"

    例如:

    echo -e "33[41;36m something here 33[0m"

    其中41的位置代表底色, 36的位置是代表字的颜色

    那些ascii code 是对颜色调用的始末.

    33[ ; m …… 33[0m

    让字体变为红色并且不停的闪烁

    #echo -e "33[31m 33[05m 请确认是否要停止当前的squid进程,输入 [Y/N] 33[0m"

    或者

    #echo -e "33[31m 33[05m 请确认是否要停止当前的squid进程,输入 [Y/N] 33[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 显示光标

    或参考这篇博客,也写的不错:

    Linux的shell中echo改变输出显示样式 - 生活费 - 博客园
    http://www.cnblogs.com/276815076/archive/2011/05/11/2043367.html


    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变量输出。

  • 相关阅读:
    adb常用命令和工具
    playwright学习记录
    vue,element-ui表格,多个单元格值可修改(点击聚焦后变成input,失去焦点请求保存)
    vue,element-ui表格,合并单元格,如果需要合并的数据隔行,需要重新排列数组
    cas-5.3.x接入REST登录认证,移动端登录解决方案
    企业级cas5.3登录页面修改
    cas实现单点登录mysql,oracle双版本
    Mycat实现MySQL主从复制和读写分离(双主双从)
    IDEA安装插件后默认存放的位置
    值得推荐的Idea十几大优秀插件
  • 原文地址:https://www.cnblogs.com/fetty/p/4889451.html
Copyright © 2011-2022 走看看