Linux、Oracle、MySQL命令提示符显示时间

33 篇文章 1 订阅
4 篇文章 1 订阅

  前言:测试环境Oracle DG开启了FLASHBACK有遇到过to timestamp的恢复场景,因为这个问题有了在sqlplus命令提示符前显示时间的需求,顺着也了解了下怎么在Linux、MySQL命令提示符前显示时间。

1. Linux命令提示符显示时间

  PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数,PS1的常用参数以及含义:

\d :代表日期,格式为weekday month date,例如:Wed Dec 12
\H :完整的主机名称-[root@chengyu ~]# vim /etc/hosts查看
\h :仅取主机的第一个名字,例如我的完整主机名为chengyu.test,则该值chengyu
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称 如:root
\v :BASH的版本信息
\w :完整的工作目录名称,~表示home目录
\W :利用basename取得工作目录名称,所以只会列出最后一个目录 如上例则只显示default
\# :下达的第几个命令
\$ :提示字符,root提示符为:# ,普通用户则为:$

  先看下当前的PS1情况:

  [root@chengyu ~]# echo $PS1

  [\u@\h \W]$

  加上日期和时间显示:

  [root@chengyu ~]# vim /etc/profile

  export PS1=’[\u@\h:\w\d-\t]\$ ’

  [root@chengyu ~]# source /etc/profile

  [root@chengyu:~Tue Jul 07-10:42:11]#

  实际应用中,仅时间显示足够了:

  [root@chengyu ~]# vim /etc/profile

  export PS1=’[\u@\h:\t \w]\$ ’

  [root@chengyu ~]# source /etc/profile

  [root@chengyu:10:49:13 ~]#

2. Oracle命令提示符显示时间

  先了解下sqlplus中用来改变提示符的SQLPROMPT:

SQL> define
DEFINE _DATE	       = "07-JUL-20" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "primdb" (CHAR)
DEFINE _USER	       = "SYS" (CHAR)
DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1803000000" (CHAR)
DEFINE _EDITOR	       = "vi" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0" (CHAR)
DEFINE _O_RELEASE      = "1803000000" (CHAR)

  要永久生效sqlplus提示符显示,可以根据需要修改$ORACLE_HOME/sqlplus/admin/glogin.sql:

[oracle@chengyu ~]$ vim $ORACLE_HOME/sqlplus/admin/glogin.sql
  # 第一步alter时间呈现格式
  alter session set NLS_DATE_FORMAT=‘HH24:MI:SS’;
  set sqlprompt "_USER’@’_CONNECT_IDENTIFIER _date> "

  修改后的显示效果:SYS@primdb 15:31:45>

  • 显示日期+时间
    # 临时修改
    # 修改时间呈现格式
    SQL> alter session set NLS_DATE_FORMAT=‘YYYY-MM-DD HH24:MI:SS’;
    Session altered.
    SQL> set sqlprompt “_date>”
    2020-07-07 14:42:35>
    # 永久修改
    [oracle@chengyu ~]$ vim $ORACLE_HOME/sqlplus/admin/glogin.sql
    alter session set NLS_DATE_FORMAT=‘YYYY-MM-DD HH24:MI:SS’;
    set sqlprompt "_DATE SQL> "
    2020-07-07 15:39:21 SQL>

  • 只显示时间
    临时修改
    SQL> set time on
    14:43:32 SQL>
    # 永久修改
    [oracle@chengyu ~]$ vim $ORACLE_HOME/sqlplus/admin/glogin.sql
    alter session set NLS_DATE_FORMAT=‘HH24:MI:SS’;
    set sqlprompt "_DATE SQL> "
    15:35:57 SQL>

3. MySQL命令提示符显示时间

  先来看看MySQL客户端命令:mysql> help

   prompt命令用于配置定义默认的“mysql>”提示的字符串,可以包含以下特殊字符:
有几种设置prompt参数的方式:
  • 使用MYSQL_PS1环境变量设置提示字符串:

  [root@chengyu:11:35:36 ~]# export MYSQL_PS1="mysql:[\d] \R:\m:\s> "

  • 使用–prompt选项在命令行上设置提示字符串:

   [root@chengyu:11:42:18 ~]# mysql -uroot -p --prompt="mysql:[\d] \R:\m:\s> "

  • 在配置文件my.cnf中设置该选项 :
    [mysql]
    prompt="mysql:[\d] \R:\m:\s> "
  • 以交互方式使用prompt(或\R)命令更改:
[root@chengyu:14:23:27 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 8.0.20 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql:[(none)] 14:23:32> prompt
Returning to default PROMPT of mysql:[\d] \R:\m:\s> 
mysql:[(none)] 14:23:40> prompt mysql>
PROMPT set to 'mysql>'
mysql>prompt mysql:[\d] \R:\m:\s> 
PROMPT set to 'mysql:[\d] \R:\m:\s> '
mysql:[(none)] 14:24:13> 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql:[dbcy] 14:27:13> 

  完毕!

2020年07月07日

  12年4月工作伊始收到的钟哥的第一封信:未来有变数,心怀期待就有明天。

  两座城,周末恋人,城巴票根是这份坚持的见证者。

  12年末我们有了自己的第一辆车,钟哥开始了至今的每日的两城奔波,7个字—“呢呢,我到单位了”胜过甜言蜜语万千。

  两座城,是坚持、是陪伴、是守候,是喜欢一个人的信念。—写在恋爱15年、毕业8年余,谨记珍惜!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值