echo,date,bc命令详解

echo(输出文本)

echo命令是一个常用的Shell命令,用于在终端上输出文本。它的基本语法如下:

echo [option] [string]
# 其中,option选项是可选的,可以用于控制输出的格式,string是要输出的文本,也可以为空。

下面是一些常用的option选项:

  • -n:不换行,输出完后不自动换行;
  • -e:支持转义字符,
    • \t:表示制表符
    • \n:表示换行符等
    • \r:表示回车符
    • \a:表示响铃符
    • \b:表示退格符
    • \f:表示换页符
    • \v:表示纵向制表符
    • \\:表示反斜杠
    • \':表示单引号
    • \":表示双引号
  • -E:关闭转义,与-e选项相反;

例如,下面的命令输出了一个字符串"Hello, world!",并在末尾自动添加了一个换行符:

[root@localhost ~]# echo "Hello,world!"
Hello,world!

如果要取消自动换行,可以使用-n选项:

[root@localhost ~]# echo -n "Hello,world!"
Hello,world![root@localhost ~]# 

如果要输出一个制表符,可以使用转义字符"\t":

[root@localhost ~]# echo -e "Hello\tworld!"
Hello   world!

如果要在文本中包含引号,需要使用转义字符""来转义:

[root@localhost ~]# echo -e "Hello\tworld!\"I am csq\""
Hello   world!"I am csq"

除了在终端上输出文本,echo命令还可以将文本输出到文件中,例如:

[root@localhost ~]#  echo "Hello, world!" > output.txt

这个命令会将字符串"Hello, world!"写入到名为output.txt的文件中。如果文件已经存在,会覆盖原有内容;如果文件不存在,会创建一个新文件。

date(显示日期的命令)

date命令用于显示或设置当前系统时间和日期。在Linux系统中,date命令通常用于获取当前时间、设置系统时间、计算时间差等功能。

date命令的–date选项

该选项可以用于指定日期和时间,以指定的格式输出。它的语法如下:

date --date="string"
# 其中,string是一个日期和时间的字符串,可以是相对时间或绝对时间。

下面是一些常见的用法:

  1. 昨天、今天和明天
    可以使用关键字"yesterday"、"today"和"tomorrow"来表示昨天、今天和明天,例如:
date --date="yesterday"
date --date="today"
date --date="tomorrow"
  1. 相对时间
    可以使用类似"1 day ago"、“1 month ago”、“1 year ago”、“1 hour ago”、“1 minute ago”、"1 second ago"的相对时间来表示一段时间之前的日期和时间,例如:
date --date="1 day ago"
date --date="1 month ago"
date --date="1 year ago"
date --date="1 hour ago"
date --date="1 minute ago"
date --date="1 second ago"

也可以使用类似"1 day"、“1 month”、“1 year”、“1 hour”、“1 minute”、"1 second"的相对时间来表示一段时间之后的日期和时间,例如:

date --date="1 day"
date --date="1 month"
date --date="1 year"
date --date="1 hour"
date --date="1 minute"
date --date="1 second"
  1. 绝对时间
    可以使用类似"2021-09-25 13:30:00"的绝对时间来表示指定的日期和时间,例如:
date --date="2021-09-25 13:30:00"

--date选项只能用于输出日期和时间,不能用于修改系统的日期和时间。如果要修改系统的日期和时间,可以使用date命令的-s选项。

date命令

date [OPTION]... [+FORMAT]
# 其中,OPTION是可选的命令选项,+FORMAT是可选的输出格式。

下面是一些常用的选项:

  • -s:设置系统时间为STRING指定的时间,要求用户具有root权限。

  • -u:以UTC(协调世界时)格式输出时间。

  • -R:以RFC-2822格式输出时间。

下面是一些常用的+FORMAT选项:

- %Y:年份

- %m:月份

- %d:日期

  • %H:小时

  • %M:分钟

  • %s:秒

  • %Z:时区,如CST(中国标准时间)。

  • %a:星期几的缩写

  • %A:星期几的全称

  • %b:月份的缩写

  • %B:月份的全称

  • %c:完整的日期时间,如Wed May 25 10:30:45 CST 2022。

  • %s:自1970年1月1日0时0分0秒以来的秒数。

例如,下面的命令会输出当前时间的完整信息:

[root@localhost ~]# date
Fri Apr 28 09:29:45 CST 2023

如果要输出当前时间的时间戳(即自1970年1月1日0时0分0秒以来的秒数),可以使用+%s选项:

[root@localhost ~]# date +%s
1682646351

如果要将系统时间设置为指定的时间,可以使用-s选项,例如:

[root@localhost ~]# date -s "2023-04-28 9:47:00"
Fri Apr 28 09:47:00 CST 2023

总之,date命令是一个非常实用的命令,可以方便地获取和设置系统时间,计算时间差等。需要根据具体需求选择不同的选项和+输出格式选项,以实现所需的功能。

bc(高精度计算器)

bc命令是一个计算器程序,可以进行高精度的数学计算。它可以读取标准输入或文件中的表达式,并计算表达式的结果。下面是一些常见的用法:

  1. 基本运算
    bc支持基本的数学运算符,包括加减乘除和求模运算,例如:
echo "3 + 4" | bc
echo "3 - 4" | bc
echo "3 * 4" | bc
echo "3 / 4" | bc
echo "3 % 4" | bc

这些命令分别输出7、-1、12、0和3,分别表示加、减、乘、除和求模的结果。
2. 指数运算
bc支持指数运算,可以用"^"符号表示,例如:

[root@localhost ~]# echo "2 ^ 8"| bc
256

这个命令输出256,表示2的8次方的结果。
3. 小数计算
bc可以进行小数计算,需要将scale变量设置为小数点后的位数,例如:

[root@localhost ~]# echo "scale=2; 3 / 4" | bc
0.75

这个命令输出0.75,表示3除以4的结果保留两位小数。
4. 大数计算
bc可以进行高精度的计算,可以处理超过计算机位数的整数和小数,例如:

[root@localhost ~]# echo "12345678901234567890 * 98765432109876543210" | bc
1219326311370217952237463801111263526900

这个命令输出1219326311370217954013316222663771887900,表示两个超大的整数的乘积。
5. 函数

bc支持一些数学函数,例如sin、cos、tan、sqrt等,可以用函数名和参数来调用,必须加上 -l参数才行例如:

[root@localhost ~]# echo " s(0.5)" | bc -l
0.47942553860420300027

这个命令输出0.47942553860420300000,表示sin(0.5)的结果。

bc默认是整数计算器,如果要进行小数计算,需要使用scale变量,如果要进行高精度计算或使用数学函数,需要使用-l选项。

Logo

更多推荐