Solaris的中文命令参考手册之一

来源:岁月联盟 编辑:zhu 时间:2008-03-13
Solaris的中文命令参考手册之一内容简介:okshow-devs okshow-disks 终端控制 ctrl+s :终止屏幕输出,如用cat命令输出时,要停一下 ctrl+q :恢复ctrl+q的输出 ctrl+c :中断当前的活动,返回命令提示符 ctrl+d :表示文件的结束或退出,如退出终端窗口 ctrl

ok>show-devs
  ok>show-disks
  
  终端控制
  ctrl+s :终止屏幕输出,如用cat命令输出时,要停一下
  ctrl+q :恢复ctrl+q的输出
  ctrl+c :中断当前的活动,返回命令提示符
  ctrl+d :表示文件的结束或退出,如退出终端窗口
  ctrl+u :擦除整个命令行
  ctrl+w :擦除命令行最后一个单词
  ctrl+h :擦除命令行最后一个字符
  bc :计算器
  
  
  
  #ksh 切换到k shell
  
  
  命令:
  
  
  
  # uname
  SunOS
  NAME
  
  #man uname
  uname - print name of current system
  
  SYNOPSIS
  uname [-aimnprsvX]
  
  uname [-S system_name]
  # date
  2004年05月19日 星期三 21时57分49秒 CST
  #
  stings
  $stings /usr/bin/cat
  能够用来打印可执行文件或二进制文件中的可读字符。
  
  cat more
  
  #cat -n test.txt //显示行号
  
  键值 目的
  空格 滚动到下一屏
  回车 一次滚动一行
  b 向后移动一屏
  f 向前移动一屏
  h 显示更多特性的帮助菜单
  q 退出,返回shell提示符
  /string 向前搜索字符串string
  n 查找下一处匹配
  
  less
  #less test.txt //前移动一屏F,后B ,/string 查找字符
  
  head
  #head -5 /export/home/wing/test.txt //显示开始的5行
  #head chap*|more //显示所有以chap开头的文件的头部
  用来显示一个或多个文件的前n行,默认省略-n参数将显示文件的前10行。
  
  tail
  #tail -5 /export/home/wing/test.txt //显示最后5行
  #tail +5 /export/home/wing/test.txt //显示第5行开始到结束
  用来显示一个文件的最后n行,默认省略-n参数将显示文件的最后10行。
  
  # tail -f /var/adm/messages //实时自动浏览syslog入口
  Oct 6 00:20:26 wing genunix: [ID 936769 kern.info] sd0 is /pci@0,0/pci-ide@7,1/ide@1/sd@0,0
  Oct 6 00:20:26 wing pcplusmp: [ID 637496 kern.info] pcplusmp: fdc (fdc) instance 0 vector 0x6 ioapi
  c 0x1 intin 0x6 is bound to cpu 0
  Oct 6 00:20:26 wing last message repeated 1 time
  Oct 6 00:20:26 wing isa: [ID 202937 kern.info] ISA-device: fdc0
  Oct 6 00:20:26 wing fdc: [ID 114370 kern.info] fd0 at fdc0
  Oct 6 00:20:26 wing genunix: [ID 936769 kern.info] fd0 is /isa/fdc@1,3f0/fd@0,0
  Oct 6 00:20:30 wing i8042: [ID 526150 kern.info] 8042 device: mouse@1, mouse8042 # 0
  Oct 6 00:20:30 wing genunix: [ID 936769 kern.info] mouse80420 is /isa/i8042@1,60/mouse@1
  Oct 6 00:21:37 wing login: [ID 722452 auth.error] user2netname: (nis+ lookup): Error in accessing N
  IS+ cold start file... is NIS+ installed?
  Oct 6 00:21:47 wing last message repeated 1 time
  Oct 6 00:52:07 wing login: [ID 722452 auth.error] user2netname: (nis+ lookup): Error in accessing N
  IS+ cold start file... is NIS+ installed?

  wc
  #wc /export/home/wing/test.txt //显示文件的行、单词、字节数
  
  #wc -l /export/home/wing/test.txt //显示文件的行数
  
  选项 功能
  -l 统计行数
  -w 统计单词数
  -c 统计字节数
  -m 统计字符数
  
  diff
  #diff -i test.txt test2.txt //忽略文章中的大小写
  #diff -c test.txt test2.txt //进行细致的比较生成一个差别表
  
  touch
  #touch test1.txt test2.txt test3.txt //可以一次创建多个文件
  
  mkdir
  #mkdir /export/home/wing
  #mkdir -p /export/home/wing //在路径中名中不存在的目录将被创建
  #rmdir dir //所要删除的目录必须是空的
  
  rm
  rm -i test.txt test2.txt //交互式删除文件
  rm -r /tem/testd //删除目录和目录下的文件
  rm -ir /tem/testd //交互式的删除目录和目录下的文件
  
  cp
  cp -i oldfilename newfilename //交互式拷贝
  cp /export/home/keven/ok.txt /export/home/wing/test.txt
  cp -ri /export/home/keven /export/home/wing 整个目录一起拷
  cp -rp 文件属性一起拷贝
  
  
  crontab
  直接登陆窗口界面
  # crontab -l root //查看作业
  /etc/init.d/cron stop //停止进程
  在CONSOLE 中熟命令 crontab -e root
  crontab -e root //编辑加入要执行的代码
  0-59 * * * * date >> /export/home/keven/keven.txt //加入次行在末尾,每分钟执行一次
  
  “格式如下:
     (1)  (2)  (3)  (4)  (5)  (6)
     0   0   *   *   3   date >> /export/home/keven/keven.txt
         1. 分钟 (0-60)
         2. 小时 (0-23)
         3. 日 (1-31)
         4. 月 (1-12)
         5. 星期 (0-6)
         6. 所要运行的程序
  如1-59分钟,1-24 小时
  
  0 18-23 0 0 0-6 //每天的18-23点执行,0-6为周日到周六
  
  /etc/init.d/cron start //启动进程
  # crontab -l root
  查看作业是否加入执行队列。
  不行退出到登陆界面,再次登陆进入,还加载就reboot
  
  
  你是不是直接编辑用户的cron文件呀?
  如果是当然不运行,cron demon是在启动的时候才读一次配置文件.
  如果你是后加的JOB 要用crontab -e来编辑用户的cron.
  要不你 kill -HUP cron的进程ID.
  重新启动这个进程.
  每5分钟做一次必须写成5,15,20,25,30,35,40,45,50,55 * * * *
  ===================================
  “格式如下:
     (1)  (2)  (3)  (4)  (5)  (6)
     0   0   *   *   3   /usr/bin/updatedb
         1. 分钟 (0-60)
         2. 小时 (0-23)
         3. 日 (1-31)
         4. 月 (1-12)
         5. 星期 (1-7)
         6. 所要运行的程序
  但是我设成 1 0 0 0 0 /usr/bin/ps
  希望能自动在一分钟之后显示进程。但是没有成功。
  HELP ME
  
  ===============================================
  15 1 * * * /opt/bin/ta.sh /opt/aadir > /dev/null
  
  此处>/dev/null 必须用吗? 何意思?
  输出重定向到/dev/null, 否则会mail到你的邮箱
  dev/null 是一个特殊文件,所有输入到该文件的数据都会被丢弃。
  > /dev/null 的意思就是丢弃所有的输出内容,否则(就象楼上老兄说的)就会将输出内容发送到执行该命令的用户信箱中。
  这种写法只能把标准输出送到/dev/null中,如果有错误产生的话,还是会送到信箱里的。下面的写法才可以丢弃所有的输出内容:
  15 1 * * * /opt/bin/ta.sh /opt/aadir > /dev/null 2>&1
  
  0 14 * * 0-6 //每天的下午14点执行
  
  
  
  ls
  $ ls -n
  总数 12
  -rw-r--r-- 1 0 1 247 10月 2 07:53 list
  -rw-r--r-- 2 1002 100 62 10月 2 01:10 ok.txt
  drwxr-xr-x 2 0 1 512 10月 1 21:27 ss
  -rw-r--r-- 1 1002 100 171 10月 3 01:10 test.txt
  -rw-r--r-- 1 1002 100 120 10月 2 20:54 test1
  -rw-r--r-- 1 1002 100 0 9月 30 08:54 test2
  -rw-r--r-- 1 1002 100 0 9月 30 08:54 test3
  -rw-r--r-- 1 0 1 247 10月 2 07:58 tt.txt
  
  # ls -ld using_samba //查看目录的权限
  drwxr-xr-x 2 root other 512 5月 8 22:23 using_samba
  
  
  $ ls -a
  . .cshrc list ss test1 test3
  .. .login ok.txt test.txt test2 tt.txt
  
  $ ls -l
  总数 12
  -rw-r--r-- 1 root other 247 10月 2 07:53 list
  -rw-r--r-- 2 keven user 62 10月 2 01:10 ok.txt
  drwxr-xr-x 2 root other 512 10月 1 21:27 ss
  -rw-r--r-- 1 keven user 171 10月 3 01:10 test.txt
  -rw-r--r-- 1 keven user 120 10月 2 20:54 test1
  -rw-r--r-- 1 keven user 0 9月 30 08:54 test2
  -rw-r--r-- 1 keven user 0 9月 30 08:54 test3
  -rw-r--r-- 1 root other 247 10月 2 07:58 tt.txt
  
  
  $ ls -F //列出目录名
  TT_DB/ keven/ temp/ user2/ www/
  cole/ lost+found/ user1/ wing/
  
  
  符号 文件类型
  / 文件夹
  * 可执行文件
  (none) 无格式文件或者ASCII文件
  @ 链接符
  
  如:
  # ls -F
  accept* gsscred* metaset* i86/ //目录
  acctadm* halt* metastat* roleadd*
  add_drv* hostconfig* metasync* test.txt //ASCII
  cachefslog@ in.rlogind* mount* rtquery*
  cachefswssize@链接文件 in.routed* mountall* rwall*//可执行文件

 $ ls -R //递归显示
  .:
  TT_DB keven temp user2 www
  cole lost+found user1 wing
  
  
  ./cole:
  inetservices.txt services services.txt
  
  ./keven:
  dir test.txt
  
  ./keven/dir:
  
  ./lost+found:
  ./lost+found: 权限被否定
  
  ./temp:
  so.tar.gz
  
  ./user1:
  
  ./user2:
  
  ./wing:
  aa dead.letter mywife.tar ok passwd.txt test
  
  ./wing/test:
  
  ./www:
  $
  $ ls . //显示当前目录
  dir test.txt
  $ ls .. //显示当前目录的父目录,支持路径表示符如~
  TT_DB keven temp user2 www
  cole lost+found user1 wing
  $ ls -i test.txt test1.txt //节点检查
  64 test.txt 65 test1.txt
  
  $ ls -il test.txt test1.txt
  64 -rw-r--r-- 1 keven sysadmin 27 10月 12 17:27 test.txt
  65 -rw-r--r-- 1 keven sysadmin 0 10月 12 17:25 test1.txt
  $ ls -ld //只显示目录
  drwxr-xr-x 3 keven sysadmin 512 10月 12 17:25 .
  
  file
  $ file passwd.txt
  passwd.txt: ascii文本
  
  lp
  $lp ok.txt myfile test.txt
  $lp -p evans1 test.txt //-p后为打印机evans1
  $lpstat // 打印队列状态
  ln
  #ln file1 newfile
  #ln file1 directory/newfilename 硬链接
  #ln ~/book/chap* /home/brad
  为每个chap文件都创建了链接,把这些链接指向/home/brad目录
  如果文件有多个指向它的硬盘链接,只是删除该文件并不能有效的释放磁盘空间,你将不得不删除掉所有指向它的硬链接。
  
  #ln -s src target
  是软链接,存储的只是路径,用ls -l 可以看到,如果原文件已移走或删除,该名,则target就没有用了,删除和该名链接同样用rm
  
  
  如果文件有多个指向它的硬盘链接,只是删除该文件并不能有效的释放磁盘空间,你将不得不删除掉所有指向它的硬链接。
  
  # ln -s /export/home/ddd /var 既把/export/home/ddd目录链接到/var下面
  在var下面生成ddd 链接符号。当/var满了是时候用
  
  
  mv
  #mv -i oldfilename newfilename 改名文件或文件夹
  #mv -i source_file(s) target_directory 移动文件到其它目录
  
  
  swap
  # swap -s //列出一个系统虚拟交换空间的摘要。
  
  total: 25728k bytes allocated + 6140k reserved = 31868k used,56496k
  available
  
  # swap -l //列出系统物理交换空间的详细说明。
  swapfile dev swaplo blocks free
  /dev/dsk/c0t3d0s1 32,28 8 98792 90384
  
  vmstat //查看虚拟内存状态
  # vmstat
  kthr memory page disk faults cpu
  r b w swap free re mf pi po fr de sr cd f0 s0 -- in sy cs us sy id
  0 0 0 635012 40880 10 36 21 0 1 0 231 3 0 0 0 116 287 184 1 1 99
  
  # vmstat -s
  0 swap ins
  0 swap outs
  0 pages swapped in
  0 pages swapped out
  84899 total address trans. faults taken //地址解析错误
  5916 page ins
  6 page outs
  12283 pages paged in
  9 pages paged out
  22759 total reclaims
  22759 reclaims from free list
  0 micro (hat) faults
  84899 minor (as) faults //小错误
  5186 major faults //主要错误
  16092 copy-on-write faults //写复制操作错误
  22331 zero fill page faults
  539644 pages examined by the clock daemon
  18 revolutions of the clock hand
  570 pages freed by the clock daemon
  550 forks
  17 vforks
  514 execs
  431543 cpu context switches
  272891 device interrupts
  105553 traps
  671500 system calls
  97227 total name lookups (cache hits 96%)
  1297 user cpu
  1388 system cpu
  230813 idle cpu
  1542 wait cpu
  #
  
  mpstat //系统负载cpu等信息
  # mpstat 5 //每隔5秒刷新一次
  CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
  0 32 2 0 114 68 181 5 0 1 0 263 0 1 1 98
  0 2 0 0 101 55 160 1 0 0 0 58 0 0 0 100
  0 0 0 0 101 55 164 1 0 0 0 70 0 0 0 100
  0 0 0 0 99 52 158 1 0 0 0 48 0 0 0 100
  0 22 0 0 102 56 164 1 0 0 0 136 0 0 0 100
  
  
  
  
  cal
  # cal
  2004年 5月
  日 一 二 三 四 五 六
  1
  2 3 4 5 6 7 8
  9 10 11 12 13 14 15
  16 17 18 19 20 21 22
  23 24 25 26 27 28 29
  30 31
  
  # cal 12 2002 //显示2002年10月的日历
  2002年 12月
  日 一 二 三 四 五 六
  1 2 3 4 5 6 7
  8 9 10 11 12 13 14
  15 16 17 18 19 20 21
  22 23 24 25 26 27 28
  29 30 31
  
  
  # date;uname //组合命令,中间用;隔开
  2004年05月19日 星期三 22时05分23秒 CST
  SunOS
  
  
  重定向输入/输出
  #command >filename //如果文件名存在,它将被覆盖,不存在将被创建
  #command >>filename //向一个存在的文件追加(添加到文件的末尾)内容,而不是覆盖它,如果不存在就创建。
  #command 2>filename //重定向标准错误,会创建文件或覆盖原有文件
  #commanf 2>>filename //重定向标准错误,向一个存在的文件追加(添加到文件的末尾)内容,而不是覆盖它,如果不存在就创建。
  
  建ok文件 写入:cole how are you
  $ write cole<ok
  cole会收到这段话:
  在 wing (pts/2) [ 10月 3 五 22:41:08 ] 上面的 wing 中的消息 ...
  how are you my baby

图片内容