[20181219]script使用小技巧.txt

[20181219]script使用小技巧.txt


--//前几天在使用strace时遇到问题,它的输出使用标准错误句柄.

--//我在想平时使用sqlplus如果输出字段很多,屏幕看起来一片混乱.

--//是否可以通过使用script记录操作,通过shell一些命令的功能实现更好的显示.通过例子说明:


1.环境:

--//首先启动scripts,加入-f参数的主要目的是马上输出,避免缓存的影响.

-f  Flush output after each write. This is nice for telecooperation: One person does 'mkfifo foo; script -f foo' and

    another can supervise real-time what is being done using 'cat foo'.


2.演示一:

--//session 1:

$ script -f /tmp/a.txt

Script started, file is /tmp/a.txt


--//登录数据库会话窗口,设置linesize大一些.

SCOTT@book> set linesize 20000

SCOTT@book> set pagesize 0


--//打开另外的终端窗口,执行:

--//session 2:

$ tail --line=500 -f /tmp/a.txt


--//这样就能看到刚才输入的命令.

--//千万注意不要执行script的会话终端查看/tmp/a.txt,这样会导致/tmp/a.txt迅速增大,相当于一个环.而且自己清楚那个窗口是输入命令,

--//那个是使用tail查看的窗口.

--//session 2:

$ tail --line=500 -f /tmp/a.txt | cut -c1-200


--//回到打开session 1:

SCOTT@book> set numw 12

SCOTT@book> select * from v$database;


--//session 2:

SCOTT@book> select * from v$database;

        DBID NAME                 CREATED             RESETLOGS_CHANGE# RESETLOGS_TIME      PRIOR_RESETLOGS_CHANGE# PRIOR_RESETLOGS_TIM LOG_MODE     CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROL CONTROLF

------------ -------------------- ------------------- ----------------- ------------------- ----------------------- ------------------- ------------ ------------------ --------------- ------- --------

  1337401710 BOOK                 2018-11-29 11:32:09            925702 2015-11-24 09:11:12                       1 2013-08-24 11:37:30 ARCHIVELOG          13816048396     13815976887 CURRENT 2018-11-


--//CONTROLFILE_CREATED字段被截断了,适当调出输出宽度就比较看到了.


3.演示二:

--//演示一仅仅显示前面一段也许不是我需要的信息.可以通过cut过滤输出特定的字段.

--//session 1:

SCOTT@book> set colsep |

--//这样就可以实现显示使用字符"|"分割.假设我现在要显示v$database视图中supp开头的字段.可以进行如下操作.


--//session 2:

$ tail --line=500 -f /tmp/a.txt | grep --binary-files=text SUPP

--//注意:grep 一定要加入--binary-files=text,因为typescript文件grep把它看成二进制文件,要把它当文本文件对待.

--//回到session 1:

SCOTT@book> @desc v$database

--//切换到session 2,看到如下输出:

   30      SUPPLEMENTAL_LOG_DATA_MIN                VARCHAR2(8)

   31      SUPPLEMENTAL_LOG_DATA_PK                 VARCHAR2(3)

   32      SUPPLEMENTAL_LOG_DATA_UI                 VARCHAR2(3)

   40      SUPPLEMENTAL_LOG_DATA_FK                 VARCHAR2(3)

   41      SUPPLEMENTAL_LOG_DATA_ALL                VARCHAR2(3)

   51      SUPPLEMENTAL_LOG_DATA_PL                 VARCHAR2(3)


--//这样可以确定显示字段的位置是30,31,32,41,50.奇怪SUPPLEMENTAL_LOG_DATA_MIN长度是8.按ctrl+c退出tail命令,打入如下:

$ tail --line=500 -f /tmp/a.txt | cut -d"|" -f1,2,30,31,32,40,41,51


--//回到session 1,执行如下:

SCOTT@book> select * from v$database;


--//session 2,看到如下:

SCOTT@book> select * from v$database;

        DBID|NAME                |SUPPLEME|SUP|SUP|SUP|SUP|SUP

------------|--------------------|--------|---|---|---|---|---

  1337401710|BOOK                |NO      |NO |NO |NO |NO |NO


--//另外有一些版本带有scriptreplay,可以参考链接:http://blog.itpub.net/267265/viewspace-1276764/

--//总之通过shell一些过滤命令显示自己需要的信息.

--//另外退出script后定期清理script的输出文件.


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2285749/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/267265/viewspace-2285749/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4.让Windows XP也能刻ISO文件   Windows XP没有提供直接刻录ISO文件的功能,不过你可以下载一个第三方插件来为系统增加这个功能。该插件的下载地址为:http://members.home.net/alexfein/is...rderSetup.msi。 5. 登陆界面背景变变色   打开注册表编辑器,业絒HKEY-USERS\.DEFAULT\Control Panel\Colors],将Background的值改为“0 0 0”(不带引号),这样登录背景就成了黑色。 6.完全卸载XP   有些朋友在安装Windows XP后发现自己并不喜欢这个操作系统,这时你可以用Windows 98安装光盘启动到DOS状态,然后键入:  format -ur   这样可以删除所有XP的文件,并可重新安装Windows 98/Me。 7. 系统救命有稻草  当怀疑系统重新启动之前针对计算机所进行的更改可能导致故障,可以在启动系统时按F8键,选择“最后一次正确的配置”来恢复对系统所做的更改。 8. 恢复硬件以前的驱动程序   在安装了新的硬件驱动程序后发现系统不稳定或硬件无法工作时,只需在“设备管理器”中选择“驱动程序恢复”按钮,即可恢复到先前正常的系统状态。但不能恢复打印机的驱动程序。 9. 自动登陆   单击开始→运行,输入“rundll32 netplwiz.dll,UsersRunDll”(不带引号),然后在User Accounts中取消“Users must enter a user name and password to use this computer”,单击“OK”,接着在弹出的对话框中输入你想自己登陆的用户名和密码即可。 10.快速关机或重启的快捷键(可定时)   在桌面点击鼠标右键,选择新建(快捷方式,在弹出的向导中输入位置为:C:\WINDOWS\system32\shutdown.exe -s -t 10(其中的-s可以改为-r,也就是重新启动,而-t 10表示延迟10秒,你可以根据自己的需要更改这个数字)。制作完这个快捷键后,按照上面的方法为它指定一个图标。这个快速关机或重启的技巧会显示一个比较漂亮的对话框提示关机(重启),而且你可以在后面加上“-c "我要关机啦!"”,这样这句话会显示在对话框中,当然文字你可以随意写,但要注意不能超过127个字符。 11.关

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值