ITPub博客

首页 > 应用开发 > IT综合 > 备忘_不常用命令

备忘_不常用命令

原创 IT综合 作者:zfnccn 时间:2011-02-23 16:34:42 0 删除 编辑

目录
1、HP-UX查看操作系统登录成功与否情况
2、设置hp-ux显示器的命令
3、将find出来的文件tar包
4、将shell中的输入变量传入SQL语句
5、并行查询分区脚本
6、将select选择结果赋值给操作系统变量的表述
7、在shell中将两个数值变量相减的表述
8、将tar包中的制定文件名(或目录)tar开
9、SQL语句的heading
10、将一个文件的每一行取出来
11、HP-UX计算昨天日期的方法
12、HP-UX 查看内核参数的命令
13、linux查看CPU位数
14、如何修改sco unix操作系统的字体颜色
15、统计一个文本文件的行数
16、PC机进入远程桌面的命令
17、查看AIX/Unix/Linux/HP-UX 系统中文字符集
18、如何修改linux服务器的telnet端口

[@more@]

正文
1、HP-UX查看操作系统登录成功与否情况
成功:last -R -f /etc/wtmp
不成功:last -R -f /etc/btmp

2、设置hp-ux显示器的命令:
1)setmon
2)sam->display->

3、将find出来的文件tar包
find . -name "*.sql" | xargs tar -cvf *.tar
列出240天以前的文件:
find ./ -name "rpt_*.dat" -type f -mtime +240 | xargs ls -ltr
-maxdepth levels
在某个层次的目录中按照递减方法查找
-maxdepth选项的作用就是限制find命令在目录中按照递减方式查找文件的时候搜索文件超过某个级别或者搜索过多的目录,这样导致查找速度变慢,查找花费的时间过多。例如,我们要在当前(.)目录技巧子目录中查找一个名叫fred的文件,我们可以使用如下命令
find . -maxdepth 2 -name fred

4、将shell中的输入变量传入SQL语句的例子,见附录1。
read bgndate
......
where tdate between to_date('${bgndate}','yyyymmdd')-to_date('18991231','yyyymmdd')

5、并行查询分区脚本
select /*+parallel(a,16)*/ count(*) from table_name partition(p1) a;

6、将select选择结果赋值给操作系统变量的表述
cgnum=`sqlplus -S username/passwd< set pageisze 0
set feed off
set head off
select count(rowid) from table_name where clrdate='${clrdate}' and uflag='1' and acode='00';
exit;
!`

7、在shell中将两个数值变量相减的表述
zbintnum=`expr ${zbnum} - $zbprenum`
if [ $zbintnum -gt 5 ]
then
......
fi


8、将tar包中的制定文件名(或目录)tar开
uncompress < ****.tar.Z | tar -xvf - ./run.log0101

test.tar中包含当天路径下打包的ls.txt date.txt bdf.txt及20100227目录
tar xvf test.tar ./ ls.txt
tar xvf test.tar ./ 20100227 (目录不带./)
tar -zxvf xxl.tar.gz -C /home/xxl1/ /xxl/date/test.sql

解压tar包里边的指定文件或者目录
如解压mysqldata.tar 里边一个database/survey/ 目录
tar -xvf mysqldata.tar ./database/survey/
如解压mysqldata.tar 里边一个database/survey/lime_assessments.sql.gz 文件

把tar包里指定的内容解压到指定的位置
tar -xvf mysqldata.tar -C /tmp ./database/survey/lime_assessments.sql.gz

附:
tar -tf mysqldata.tar #查看tar包内容
tar -uPvf mysqldata.tar file #添加文件

tar -uPvf xuanfei.tar /etc/passwd /etc/group 更新添加新内容tar -xPvf xuanfei.tar 按原路径解压tar --delete -f xuanfei.tar /etc/passwd 指定删除tar包内的文件某一文件


9、SQL语句的heading
set autotrace off
set pagesize 50000
set feedback 0
set linesize 150
set trimout on
set trimspool on
set termout off
set tab off
set recsep off
set colsep ' '
set wrap off
set verify off


10、将一个文件的每一行取出来
touch test.tar
for i in `cat test.txt`
do
tar rf test.tar $i
done

11、HP-UX计算昨天日期的方法

sysdate=`date +%Y%m%d` #计算昨天的日期
yy=`echo $sysdate|cut -c 1-4`
mm=`echo $sysdate|cut -c 5-6`
dd=`echo $sysdate|cut -c 7-8`
days=`expr 1 - $dd`

while [ $days -ge 0 ]
do
mm=`expr $mm - 1`
[ $mm -eq 0 ] && mm=12 && yy=`expr $yy - 1`
aaa=`cal $mm $yy`
bbb=`echo $aaa|awk '{print $NF}'`
days=`expr $days - $bbb`
done

dd=`expr 0 - $days`
expr $dd : "^.$" >; /dev/null && dd=0$dd
expr $mm : "^.$" >; /dev/null && mm=0$mm


12、HP-UX 查看内核参数的命令
11.11: kmtune > kmtune.20100926
11.31: kctune > kctune.20100926


13、linux查看CPU位数
# getconf LONG_BIT
32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
8
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)
CPU信息:cat /proc/cpuinfo |more


14、如何修改sco unix操作系统的字体颜色
setcolor -n 颜色
1. 前景色:
数字颜色数字颜色
3 0 黑色3 4 蓝色
3 1 红色3 5 紫色
3 2 绿色3 6 青色
3 3 黄(或棕)色3 7 白(或灰)色
2. 背景色:
数字颜色数字颜色
4 0 黑色4 4 青色
4 1 红色4 5 蓝色
4 2 绿色4 6 青色
4 3 黄(或棕)色4 7 白(或灰)色

例子:黑底绿字echo "33[40;32m"
如何修改unix操作系统的字体颜色
  ESC[nX:清除光标右边n个字符,光标不动。
  ESC[K或ESC[OK;清除光标右边全部字符,光标不动。
  ESC[1K:清除光标左边全部字符,光标不动。
  ESC[2K:清除整行,光标不动。
  ESC[J或ESC[OJ:清除光标右下屏所有字符,光标不动。
  ESC[1J:清除光标左上屏所有字符,光标不动。
  ESC[2J或ESCc:清屏,光标移到左上角。
  ESC[nM:删除光标之下n行,剩下行往上移,光标不动。
  ESC[nP:删除光标右边n个字符,剩下部分左移,光标不动。
  ESC[n@:在当前光标处插入n个字符。
  ESC[nL:在当前光标下插入n行。
  ESC[nA:光标上移n行。
  ESC[nB:光标下移n行。
  ESC[nC:光标右移n个字符。
  ESC[nD:光标左移n个字符。
  ESC[n;mH :光标定位到第n行m列(类似代码ESC[n;mf)。
  如:
  ESC[p;p;p;……m 其中属性值p可以是一个或多个,具体定义如下:
  p 含义
  0 清除所有属性
  1 高亮度显示
  4 下划线(如果硬件支持的话)
  5 闪烁(如果硬件支持的话)
  25 无闪烁
  7 反场(前背景交换)
  27 无反场
  8 隐藏(不显示)
  10 选择基本字体
  11 选择第一替代字体;让ASCII值小于32的字符显示时直接取自ROM芯片内
  12 选择第二替代字体;在作为ROM字符显示之前先压缩扩展高位ASCII码值
  30 前景黑色
  31 前景红色
  32 前景绿色
  33 前景褐色
  34 前景蓝色
  35 前景紫色
  36 前景蓝绿色
  37 前景白色
  38 开启下划线标志;白色前景用白色下划线
  39 关闭下划线标志
  40 背景黑色
  41 背景红色
  42 背景绿色
  43 背景褐色
  44 背景蓝色
  45 背景紫色
  46 背景蓝绿色
  47 背景白色
  ESC7:保存当前光标位置参数及字符属性。
  ESC8:恢复保存的光标位置参数及字符属性。
  n :插入换行符
  t :插入一个Tab键。
  r :插入回车符。
  ^G :插入响铃符(pc嗽叭鸣叫一次),在vi中按Ctrl+g即可输入。
  c :用于shell程序中,不换行。


15、统计一个文本文件的行数
wc -l filename

在linux下,程序生成的日志好大,想看它有多少行怎么办呢?好在linux的命令丰富。用wc。wc 用法,如下:

wc命令

wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。
语法:wc [选项] 文件…
说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。
该命令各选项含义如下:
  - c 统计字节数。
  - l 统计行数。
  - w 统计字数。
这些选项可以组合使用。
输出列的顺序和数目不受选项的顺序和数目的影响。
总是按下述顺序显示并且每项最多一列。
行数、字数、字节数、文件名
如果命令行中没有文件名,则输出中不出现文件名。
例如:
$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total
省略任选项-lcw,wc命令的执行结果与上面一样。

另:
求助,怎样按要求统计一个文本文件的行数?
awk -F"|" '{a[$6]+=1}END{for(i in a) print i,a}' filename

awk -F"|" '{print $6}' filename|sort|uniq -c
cut -d "|" -f6 filename|sort| uniq -c
grep -c filename

16、PC机进入远程桌面的命令
cmd-->mstsc 进入远程桌面

17、查看AIX/Unix/Linux/HP-UX 系统中文字符集
以下是这些系统的字集命令:
locale -a 查看本机的所有字符集
export LANG=字符集 设置字符集
echo $LANG 查看当前使用的字符集
AIX/Unix/Linux/HP-UX操作系统的中文字符集,以下是列表:
AIX zh_CN.IBM-eucCN
Linux zh_CN.gb2312
Unix Chinese(Simplified EUC)IBM_eucCN,
HP-UX zh_CN.hp15CN, Solaris zh_CN.EUC(zh)

18、如何修改linux服务器的telnet端口?
telnet的改法之一:
编辑/etc/services
telnet xxx/tcp
telnet xxx/udp
xxx为你想改成的端口号

telnet的改法之二:
telnet一般都是通过inetd守护进程来调用的,可以修改/etc/inetd.conf(有的发布版可能是xinetd.conf)
其中有 telnet ??????这样的一行信息,可以将telnet这个服务名直接用指定的端口代替,那么telnet就可以在指定的端口监听了

附录1:将shell中的输入变量传入SQL语句的例子
#!/bin/ksh

clear
echo
echo
echo " 根据起止日期统计笔数 "
echo "____________________________________________________________________n"
echo " 请输入开始日期(yyyymmdd): c"
read bgndate
echo " 请输入结束日期(yyyymmdd): c"
read enddate
sqlplus -S username/passwd <set linesize 120
set pagesize 32
set feedback off
column tjdate heading '日期' format a10
column jyl heading '笔数' format 999999999
compute sum lab '合计' of jyl on report
break on report skip 2
alter session set nls_date_format='yyyymmdd';

select /*+parallel(a,16)*/ to_char(to_date('18991231','yyyymmdd')+tdate) tjdate,count(*) jyl
from table_name a
where tdate between to_date('${bgndate}','yyyymmdd')-to_date('18991231','yyyymmdd')
and to_date('${enddate}','yyyymmdd')-to_date('18991231','yyyymmdd')
group by tdate
order by tdate;
!echo
EOF

echo "按任意键返回"
read anypau

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

上一篇: 备忘_常用脚本
下一篇: 没有了~
请登录后发表评论 登录
全部评论
  • 博文量
    32
  • 访问量
    690383