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

来源:岁月联盟 编辑:zhu 时间:2008-03-13
Solaris的中文命令参考手册之二内容简介:find #find . -name test.txt //搜索当前目录 #find dir -name test.txt #find / -name test.txt #find /export/home -name test.txt #find ~ -name *tif

find
  #find . -name test.txt //搜索当前目录
  #find dir -name test.txt
  #find / -name test.txt
  #find /export/home -name test.txt
  #find ~ -name ‘*tif' //用户的主目录
  #find /export -name core -exec rm {} / //搜索core文件并删除它们
  #find dir -type d //文件类型
  #find /export -type d -name test //文件夹名为test
  #find /export -size +400 //文件大于400块的512byte =1 blocks
  #find /export -name test.txt -exec rm {} /; //查找并删除
  #find /export -name test.txt -ok rm {} /; //交互模式删除 y
  #find /export -user keven //按用户查找
  #find / -user UID -exec rm{} /; //查找该用户的文件并删除
  #find / -name pfile -print>find.txt 2>null.txt&
  //找到则放入find.txt,否则就放到null.txt 程序在后台运行
  
  # find /export -name tex.txt -exec rm {} /; //{} /中间有一个空格
  $ find ~ -name '*es' //es的前面为任意字符
  
  
  搜索表达式 意义 定义
  name filename 文件名 搜索所有匹配的给定的文件,可以接受元字符(如? *)
  type filetype 文件类型 搜索匹配给定文件类型的文件(d为目录)
  mtime [+|-]n 修改的时间 搜索所有修改时间或者大于,或小于给定时间的文件
  atime[+|-]n 访问的时间 搜索所有访问时间或者大于,或者小于给定时间的文件
  user loginid -group groupid 用户ID和属组ID 搜索所有匹配登陆ID的所有者或属组ID的文件
  perm mode 权限 搜索所有匹配给定权限的文件(只允许八进制模式)
  size[+|-]n[c] 搜索所有大小或者大于,小于n的文件,n以512字节每块计算,如果后面有ac,则以字符(字节)计算
  -print 基将搜索结果输出到标准输出。该结果是一个全路径名的文件名 列表
  
  -exec command{}/; exec选项必须通过/;来终止;这样使得find命令可以应用于指定命令中搜索准则中给出的每个文件
  -ok command{}/; -exec的交互格式.这个选项用于要求来自用户的输入命令.如 rm -i
  -ls 使用长列表格式打印当前路径.这个表达式最常用于链接一个输出,把它重定向到一个文件中,以便稍后进行检查
  
  
  
  
  #grep root /etc/passwd //在passwd中查找root
  #grep -i root /etc/passwd //忽略大小写
  #grep -v root /etc/passwd //显示除了含有root的行
  # grep -c root group //统计有多少行
  10
  
  # grep -l root passwd group hosts //查找文件中包含root的文件
  passwd
  group
  
  
  
  正则表达式 功能 例子 结果
  .(dot) 匹配任意字符可以多次使用,类似ls命令 grep chap.. file 显示所有包含chap,且之后还有两个字符的行
  *(asterisk) 在模式上匹配0个或多个字符 grep chap* file 显示所有包含chap,且之后可以是任意字符
  /(back slash) 告诉shell按照字面意思理解/之后的特殊字符 grep dollar/* file 显示所有包含dollar*的行./告诉shell按照字面意思理解*,而不是通配符
  ^ (caret) 匹配所有以指定模式打头的所有行 grep ^name file 显示所有以Name开头的行
  $ 匹配所有以指定模式结尾的行 grep $800 file 显示所有以800结尾的行
  [] 匹配模式中的一个字符 grep [64.128] 显示所有包含64MB或128MB的行
  -i 忽略大小写
  -v 反包含.除了该字符串之外的行
  
  
  egrep
  # egrep 'N(e|o)' /etc/passwd //查找以字母大N开头后面接e 或者o
  listen:x:37:4:Network Admin:/usr/net/nls:
  nobody:x:60001:60001:Nobody:/:
  noaccess:x:60002:60002:No Access User:/:
  nobody4:x:65534:65534:SunOS 4.x Nobody:/:
  
  
  $ egrep '(Network|uucp) Admin' /etc/passwd
  uucp:x:5:5:uucp Admin:/usr/lib/uucp:
  nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
  listen:x:37:4:Network Admin:/usr/net/nls:

 sort
  #cat test.txt
  oggg
  aaa
  ddkk
  ddgfg
  kk
  11
  34
  22
  #sort test.txt
  11
  22
  34
  aaa
  ddgfg
  ddkk
  kk
  oggg
  # ls -ld t* >list
  # cat list
  -rw-r--r-- 1 keven user 32 10月 2 07:51 test.txt
  -rw-r--r-- 1 keven user 0 9月 30 08: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
  # sort -rn +4 list -o tt.txt //翻转排序 头4个字符
  # ls
  list ok.txt ss test.txt test1 test2 test3 tt.txt
  # cat tt.txt
  -rw-r--r-- 1 keven user 32 10月 2 07:51 test.txt
  -rw-r--r-- 1 keven user 0 9月 30 08:54 test3
  -rw-r--r-- 1 keven user 0 9月 30 08:54 test2
  -rw-r--r-- 1 keven user 0 9月 30 08:54 test1
  #sort +5M +6n list -o up.txt
  
  选项 描述
  -n 进行数字排序,n可以单独和短横线连接,或者可以跟着一个区域参数
  (+|-)n 以第n个分隔符的区域开始或结束。默认的分割符是空格
  -r 翻转排序的顺序。r可以单独与短横线连用,或者可以跟着一个区域参数
  -f 在排列中忽略大小写
  +nM 把开始的三个字符做为月份名称的简写来排序
  -d 使用字典排序,只用字母和空格排序,其它的符号忽略
  -o filename 把所有输出放到文件名中
  
  
  who
  # who
  root console 10月 2 19:23 (:0) (本地登陆)
  wing pts/2 10月 2 19:22 (192.168.0.1)(远程登陆)
  
  # who -q //登陆用户统计
  root wing
  # users=2
  
  # who -r //运行级别
  . run-level 3 10月 2 19:20 3 0 S
  
  $ who -Hu
  NAME LINE TIME IDLE PID COMMENTS
  keven pts/2 10月 12 10:57 . 389 (192.168.0.1)
  user pts/3 10月 12 10:16 0:52 368 (192.168.0.1)
  PID为用户登陆上来的进程,#kill -9 368 把此用户踢出
  
  $ who
  root console 10月 3 19:21 (:0)
  keven pts/6 10月 3 22:11 (192.168.0.1)
  wing pts/2 10月 3 22:11 (192.168.0.1)
  cole pts/3 10月 3 22:11 (192.168.0.1)
  
  w
  $w
  下午11点01分 运行 3:43, 4 users, 平均负载:0.00, 0.00, 0.02
  用户名 终端号 登入时间 闲置 JCPU PCPU 执行命令
  root console 下午 7点21分 3:40 10 1 /usr/dt/bin/dtscreen -mode blank
  keven pts/6 下午10点11分 -csh
  wing pts/2 下午10点11分 5 w
  cole pts/3 下午10点11分 50 -ksh
  $ w keven
  下午11点10分 运行 3:52, 4 users, 平均负载:0.00, 0.00, 0.02
  用户名 终端号 登入时间 闲置 JCPU PCPU 执行命令
  keven pts/6 下午10点11分 9 -csh
  
  
  logins
  # logins
  root 0 other 1 Super-User
  daemon 1 other 1
  bin 2 bin 2
  sys 3 sys 3
  adm 4 adm 4 Admin
  uucp 5 uucp 5 uucp Admin
  nuucp 9 nuucp 9 uucp Admin
  smmsp 25 smmsp 25 SendMail Message Submission Program
  listen 37 adm 4 Network Admin
  lp 71 lp 8 Line Printer Admin
  wing 1001 adm 4 my wife
  keven 1002 user 100
  user1 1003 adm 4
  user2 1004 adm 4
  cole 1005 adm 4
  nobody 60001 nobody 60001 Nobody
  noaccess 60002 noaccess 60002 No Access User
  nobody4 65534 nogroup 65534 SunOS 4.x Nobody
  
  
  last
  $ last //当前系统的使用历史使用模式
  keven pts/2 192.168.0.1 Mon Oct 6 00:55 仍在登录状态
  cole pts/6 192.168.0.1 Mon Oct 6 00:52 仍在登录状态
  root console :0 Mon Oct 6 00:44 仍在登录状态
  wing pts/3 192.168.0.1 Mon Oct 6 00:21 仍在登录状态
  keven pts/2 192.168.0.1 Mon Oct 6 00:21 - 00:55 (00:34)
  reboot system boot Mon Oct 6 00:20
  keven pts/2 192.168.0.1 Sun Oct 5 19:47 - 20:02 (00:14)
  reboot system boot Sun Oct 5 19:46
  wing pts/1 192.168.0.1 Sun Oct 5 07:47 - 07:48 (00:00)
  keven pts/1 192.168.0.1 Sun Oct 5 06:24 - 07:47 (01:23)
  root console :0 Sun Oct 5 06:22 - 07:48 (01:25)
  keven pts/1 192.168.0.1 Sun Oct 5 06:21 - 06:24 (00:02)
  reboot system boot Sun Oct 5 06:21
  cole pts/6 192.168.0.1 Sun Oct 5 01:58 - 03:09 (01:11)
  wing pts/5 192.168.0.1 Sun Oct 5 01:58 - 03:10 (01:11)

 finger
  # finger
  Login Name TTY Idle When Where
  root Super-User console Thu 19:23 :0
  wing my wife pts/2 Thu 19:22 192.168.0.1
  $ finger -s keven //指定查看的用户
  Login Name TTY Idle When Where
  keven admin pts/6 11 Fri 22:11 192.168.0.1
  $ finger @www //查看一台主机的登陆用户状况www为主机名
  [www]
  Login Name TTY Idle When Where
  root Super-User console 1 Fri 19:21 :0
  keven admin pts/6 13 Fri 22:11 192.168.0.1
  #finger -s username@hostname
  #finger @webserver.com
  #finger username@webserver.com
  $ finger -l keven //长格式显示
  Login name: keven In real life: admin
  Directory: /export/home/keven Shell: /bin/ksh
  On since Oct 12 10:16:41 on pts/2 from 192.168.0.1
  24 seconds Idle Time
  No unread mail
  No Plan.
  # finger user1
  Login name: user1 In real life:
  Directory: /export/home/wing Shell: /bin/sh
  On since Oct 12 11:11:33 on pts/3 from 192.168.0.1
  4 minutes 8 seconds Idle Time
  No unread mail
  No Plan.
  
  $ finger -m //只搜索登陆的用户名
  
  
  # man -l uname //输出该命令的地址
  uname (1) -M /usr/share/man
  uname (2) -M /usr/share/man
  
  
  NAME
  man - find and display reference manual pages
  
  SYNOPSIS
  man [-] [-adFlrt] [-M path] [-T macro-package] [-s section]
  name...
  
  man [-M path] -k keyword...
  
  man [-M path] -f file...
  
  id
  # id
  uid=0(root) gid=1(other) //为当前用户的ID,而不是原始登陆ID
  
  who i am
  # who i am //真实的UID
  root console Oct 2 19:23 (:0)
  wing pts/2 Oct 2 19:41 (192.168.0.1)
  
  df -k
  # df -k
  Filesystem kbytes used avail capacity Mounted on
  /dev/dsk/c0d0s0 63127 36137 20678 64% /
  /dev/dsk/c0d0s6 1201014 768820 372144 68% /usr
  /proc 0 0 0 0% /proc
  mnttab 0 0 0 0% /etc/mnttab
  fd 0 0 0 0% /dev/fd
  /dev/dsk/c0d0s3 55047 25063 24480 51% /var
  swap 608948 24 608924 1% /var/run
  swap 609216 292 608924 1% /tmp
  /dev/dsk/c0d0s5 24239 15 21801 1% /opt
  /dev/dsk/c0d0s7 2691830 112 2637882 1% /export/home
  /dev/dsk/c0d0s1 462639 306816 109560 74% /usr/openwin
  du -k
  #du -k /export //递归显示文件夹中的文件或文件夹
  # du -sk /etc    查看目录的使用情况 总树统计
  # du -k /etc 逐个查看
  # du -k /export | sort -n 可以迅速发现那个目录是最大的。
  
  
  vi
  vi(文本输入模式)
  命令 功能
  a 在光标后追加文本
  A 在行末追加文本
  i 在光标前追加文本
  o 在光标下插入新的一行
  vi(末行模式)
  命令 功能
  :w 写缓冲区,保存更改继续在vi中工作
  :w new_filename 把缓冲区写如new_filename
  :wq 或 ZZ 写缓冲区,保存修改,然后退出vi
  :q! 不保存修改而退出
  :wq! 写缓冲区保存修改然后推出vi,如果你是文件的所有者将忽略只读属性
  e! 取消自上次保存以来所做的修改
  :x等价于:wq! wq
  u 取消最近的一次编辑
  
  vi(命令模式)
  命令 功能
  j(或向下箭头) 向下移动一行
  k(或向上箭头) 向上移动一行
  h(或向左箭头) 向后移动一个字符
  l(或向右箭头) 向前移动一个字符
  空格 向右移动一个字符
  w 向前移动一个单词(包括标点)
  b 向后移动一个单词(包括标点)
  $ 移动到行末
  0(零)或 ^ 移动到行首
  回车 移动到下一行首
  
  vi(命令模式和末行模式)
  命令 功能
  x (小写) 删除光标处字符
  dw 删除单词
  3dw 删除三个单词
  dd 删除光标所在的行
  3dd 删除三行
  yy 拉出一行拷贝,放到剪贴板中
  p(小写) 把拉出行放到当前之下
  P(大写) 把拉出行放到当前之上
  :set nu 显示行号
  :set nonu 隐藏行号
  :set showmode 显示当前操作模式(如用vedit将自动打开)
  :set noshowmode 关闭模式显示
  :set 显示所有vi变量
  :set all 显示所有可能的vi变量和它们的当前的值
  G 到达文件的最后一行
  :21 到达第21行
  /string 向前搜索字符串string
  ?string 向后搜索字符串string
  n 查找匹配的下一个字符串

图片内容