免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2608 | 回复: 2
打印 上一主题 下一主题

Solaris基础(二) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-22 15:03 |只看该作者 |倒序浏览
第二章        Solaris文件系统及文件命令
    在UNIX中,文件被组织在目录中。目录本身相互间分层连接,构成一种树形结构。每一个目录中都包含了文件和其它目录。在分层结构的顶端是根目录,由它分支出系统目录和用户的home目录。系统目录中包含着维持UNIX系统运行的应用程序,home目录是用户的登录目录。
   
列表、显示及打印文件:ls,cat,more,less
    操作系统的主要功能之一是文件管理。你可能会对你的文件执行某些基本的输出操作,诸如把它们显示在屏幕上或把它们打印出来。UNIX系统提供了一套命令来完成诸如列表、显示、文件打印等基本文件管理操作。
cat
                用途: 显示文件内容
                格式: cat filename…
说明:cat命令有三个功能,1. 在屏幕上显示正文文件的内容。2.通过输出重定向组合几个文件为一个文件。注意,输出文件不要和某一输入文件名相同。3.建立新文件。         
   
    cat 的意义是猫....不不不,是 concatenate ,在字典上的意思是"连结,将…串成锁状"( 语出资工电子词典 cdict ),其实就是把档案的内容显示出来的意思。 cat 有许多奇怪的参数,较常为人所使用的是 -n 参数,也就是把显示出来的内容加上行号。 cat 的用法如下:
   
    cat [-n] :自标准输入读进内容,你可以用 pipe 将别的程式的输出转向              给 cat .
    cat [-n] filename :  将 filename 的内容读进来,显示在标准输出上。
   
    问题在於 cat 它是不会停下来的,因此并不好用( 试想如果一个萤幕二十
    四行,而一个档案四百行,cat 一出来将会劈哩啪啦不断的卷上去,使用者
    很难据此得到他们所需的资讯。)

        more
                用途: 一次一个屏幕显示文件
                格式: more [-n][+行号][+/表达式][filename…]
                参数: -n                        n为正整数,一次显示n行;缺省时,显示22行
+行号                从指定行开始显示
+表达式                从包括表达式那行的前二行开始显示
    more 的说法是"再多一点就好",more 可以将所观察的档案跟据终端机的形态一页页的显示出来,再根据使用者的要求换页或卷行。如果使用者要在某一个档案中搜寻一个特定的字串,则按 / 然後跟著打所要搜寻的单字即可进行搜寻。more 也可以找得到。more 的使用法如下:
   
    more filename
                    
    如果你在使用中觉得已经看到了所要看的部份,可以按'q'离开 more 的使用。
    在使用中按'v' 亦可以使用编辑器来编辑所观看的档案。

less
    用途:一次一个屏幕显示文件
        格式:more [-n][+行号][+/表达式][filename…]
                参数: -n                        n为正整数,一次显示n行;缺省时,显示22行
+行号                从指定行开始显示
+表达式                从包括表达式那行的前二行开始显示

    less 的用法与 more 极类似,原先它就是为了弥补 more 只能往前方卷页的缺
    点而设计。 less 的用法如下:
   
    less filename
   
    其与 more 不同的是它可以按 y 来往上卷一行,并且可以用"?"来往回搜寻你所 要找的单字。
  
       

目录管理:ls,  mkdir,rmdir,cd和pwd
  ls
                用途:列出目录内容
                格式: ls [-l][-t][-a][-s][-d][-r][-i][-ul] [name…]
                参数: -l        产生一个长格式列表
  -t        按文件修改日期而不是按字母次序来排序文件清单
  -a        列出命名目录下的全部文件,包括以句号开头的文件
  -s        以块为单位印出文件的大小
  -d        显示指定目录的名字
  -r        将输出的次序倒过来
  -i        列出每个文件的索引节点数目
  -ul        清单中显示的时间为存取时间

    这是最基本的档案指令。 ls 的意义为 "list",也就是将某一个目录或是某一个档案的内容显示出来。
   
    如果你在下 ls 指令後头没有跟著任何的档名,它将会显示出目前目录中所有档案。

    也可以在  ls 後面加上所要察看的目录名称或档案的名称,如
   
      % ls /home2/X11R5
   
      % ls first
      
    ls 有一些特别的参数,可以给予使用者更多有关的资讯,如下:
   
-a : 在 UNIX 中若一个目录或档案名字的第一个字元为 "." , 则使用 ls将不会
显示出这个档案的名字,我们称此类档案为隐藏档。如 tcsh的初设 档 .tcshrc;如果我们要察看这类档案,则必须加上参数 -a 。
            
    -l : 这个参数代表使用 ls 的长( long )格式,可以显示更多的资讯,
       如档案存取权,档案拥有者( owner ),档案大小,档案最後更新
       日期,甚而 symbolic link 的档案是 link 那一个档等等。如下
        
            % ls -l
            
            drwx--x--x  2 jjtseng       512 Aug  8 05:08 18
            drwx--x--x  2 jjtseng       512 Aug  8 22:00 19
            -rw-------  1 jjtseng       566 Aug  8 05:28 makefile

mkdir
                用途:建立目录
                格式: mkdir 目录名…
   
    mkdir 是一个让使用者建立一个目录的指令。你可以在一个目录底下使用
    midir 建立一个子目录,使用的方法如下:
   
    mkdir dirname1 [ dirname2 ... ]
   
如此你就可以建立一个或多个目录。
       
rmdir
                用途: 删除目录
                格式: rmdir 目录名…
                说明:rmdir 命令只删除空目录
   
    相对於 mkdir ,rmdir 是用来将一个"空的"目录杀掉的。如果一个目录下面
    没有任何档案,你就可以用 rmdir 指令将其除去。rmdir 的使用法如下:  
   
      rmdir dirname1 [ dirname2 .... ]  
      
    如果一个目录底下有其他的档案, rmdir 将无法将这个目录杀掉,除非使用
    rm 指令的 -r 选项。
       
cd
                用途: 改变工作目录
                格式: cd [目录名]
                    
    这是让使用者用来转移工作目录用的。
    cd 的用法如下:
   
    cd dirname
   
    如此你就可以将目前的目录转移到 dirname 这一个目录去。
或使用 "cd .." 来转移到上一层目录。
       
pwd
                用途:显示当前工作目录的完整路径名
                格式: pwd
        pwd 会将目前目录的路径( path )显示出来

文件和目录操作:cp,mv,rm              

cp
                用途:拷贝文件
                格式:cp [-i][-p][-r][filenames…] target
                参数:-i        由用户确认是否覆盖同名文件
                          -p        新生成的文件保持与原文件相同的最后修改时间和权限
                          -r                拷贝整个目录及子目录
    cp 这个指令的意义是复制("COPY") , 也就是将一个或多个档案复制成另
    一个档案或者是将其复制到另一个目录去。
   
    cp 的用法如下:
   
     cp f1 f2 : 将档名为 f1 的档案复制一份为档名为 f2 的档案。
     cp f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都以相同的档名复制一
                    份放到目录 dir 里面。
     cp -r dir1 dir2 : 将 dir1 的全部内容全部复制到 dir2 里面。
   
     cp 也有一些参数,如下:
   
      -i : 此参数是当已有档名为 f2 的档案时,若迳自使用 cp 将会将原来 f2
           的内容掩盖过去,因此在要盖过之前必须先询问使用者一下。如使用者
           的回答是y(yes)才执行复制的动作。
              
      -r : 此参数是用来做递回复制用,可将一整颗子树都复制到另一个
           目录中。
       
mv
                用途:移动文件或文件改名
                格式:mv[-f][-i] filename1 [filename2…] target
                参数:        -f                强令覆盖同名文件
                                  -i                由用户确认是否覆盖同名文件
        mv 的意义为 move , 主要是将一档案改名或换至另一个目录。如同 cp
        ,它有三种格式:
   
        mv f1 f2 : 将档名为 f1 的档案变更成档名为 f2 的档案。
        mv dir1 dir2 : 将档名为 dir1 的目录变更成档名为 dir2 的目录。
        mv f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都移至目录 dir 里面。
   
mv 的参数有两个,-f 和 -i , 其中 -i 的意义与 cp 中的相同,均是 interactive询问之意。而 -f 为强迫( force ) , 就是不管有没有同名的档案,反正我就是要搬过去,所有其他的参数遇到 -f 均会失效。
  
rm
                用途:删除文件
                格式:rm [-r][-f][-i] filenames…
                参数:        -f                不警告就删除
                                   -i                由用户确认是否覆盖同名文件
                                   -r                删除目录及其子目录
                     
    rm 的意义是 remove ,也就是用来杀掉一个档案的指令。在 UNIX 中一个被杀掉的档案除非是系统恰好有做备份,否则是无法像 DOS 里面一样还能够救回来的。所以在做 rm 动作的时候使用者应该要特别小心。
   
    rm 的格式如下:
   
        rm  f1 f2 f3 .....
            
    而 rm 的参数比较常用的有几个: -f , -i , 与 -r
   
      -f : 将会使得系统在删除时,不提出任何警告讯息。
      -i : 在除去档案之前均会询问是否真要除去。
      -r : 递回式的删除。
   
    小心不要随便使用 rm -rf , 否则有一天你会"欲哭无泪"......

关於 Process 处理的指令
       
    在 UNIX 中,一个执行中的程式就是一个 Process , 它占有记忆体,是一
    个"活著"的物体。每一个 Process 有一个 Process ID , 你可以用 ps 指令来
    观察目前系统中所有的 processes ,也可以利用 kill 指令送讯号给你自己的
    process ( 为何叫 kill 不叫 send ? 因为通常都是送一个"杀掉"的讯号 )。

ps
                用途:报告进程状态
                格式:ps [-acdefjl][-g][-p][-s][-t][-u]
                参数:        -e                显示当前所有的活动进程
                                   -l                产生长列表输出
                                  -g                 grplist 只列出grplist中指定的组的进程
                                  - p                 proclist 只列出proclist中指定进程ID的进程
                              -u                 uidlist 只列出uidlist中指定的用户所属的进程

    ps 是用来显示目前你的 process 或系统 processes 的状况。
    以下列出比较常用的参数:
   
    其选项说明如下:
     -a   列出包括其他 users 的 process 状况。
     -u   显示 user - oriented 的 process 状况 。
     -x   显示包括没有 terminal 控制的 process 状况 。
     -w   使用较宽的显示模式来显示 process 状况 。
         
    我们可以经由 ps 取得目前 processes 的状况,如 pid , running state 等。
       
kill
                用途:送一个信号给某个进程或使之中止
                格式:kill [-signal] pid
                           kill -1
                参数:-1        列出动态符号名称
      
    kill 指令的用途是送一个 signal 给某一个 process 。因为大部份送的都是
    用来杀掉 process 的 SIGKILL 或 SIGHUP ,因此称为 kill 。kill 的用法
    为:
   
         kill [ -SIGNAL ] pid ...
         kill -l
              
    SIGNAL 为一个 singal 的数字,从 0 到 31 ,其中 9 是 SIGKILL ,也就是一 般用来杀掉一些无法正常 terminate 的讯号。其馀讯号的用途可参考 sigvec(2)中对 signal 的说明。
   
    你也可以用 kill -l 来察看可代替 signal 号码的数目字。kill 的详细情形
    请参阅 man kill。

安全与管理
               
who
                用途: 显示录入用户的清单
                格式: who [am i]
                说明: who 命令产生当前系统已注册的全部用户清单。专门命令“who                                am i” 通常产生你的注册名字。

passwd
                用途:改用户口令,显示用户口令的属性
                格式:passwd [-d|-l][-f][-n][-w][-x]name
                           passwd -s [-a]name
                参数:-d        删除用户口令
                           -l        锁住用户登录名
                           -f        强令用户在下一次登录时改变口令
                           -n        设定两次改变口令的最短日期
                           -x        设定口令的有效期
                           -w        口令无效提前警告的天数
                           -s        显示口令属性
                           -a        显示所有用户口令属性,必须有-s参数
chgrp
                用途:改变文件的用户组
                格式:chgrp [-f][-h][-R] owner filenames…
                参数:-f         不报告错误
                          -h        仅改变动态联接后的文件
                          -R        对整个当前及其子目录操作
chmod
                用途:改变文件的权限
                格式:chmod [ugoa]{+|-|=}[rwxlsStTugo] filename…
                          chmod nnn filename…
                参数:nnn  为0-7, 1执行  2写权限  4读权限
                           u        改变属主的权限
                           g        改变组的权限
                           o        改变其他人的权限
                            a        改变所有人的权限
                           +        在原有权限上增加一种权限
                           -         在原有权限上取消一种权限
                           =         仅设置指定权限且清除原有的权限
                           r         赋予读的权限
                           w         赋予写的权限
                           x 赋予执行的权限
                           u         赋予与属主相同的权限
                           g         赋予与组相同的权限
                           o         赋予与其他人相同的权限
          
    chmod 为变更档案模式用( change mode ) . 这个指令是用来更改档案的存取模
    式( access mode )。在 UNIX 一个档案上有可读(r)可写(w)可执行(x)三种模式,
    分别针对该档案的拥有者( onwer )、同群者( group member )( 你可以 ls -lg
    来观看某一档案的所属的 group ),以及其他人( other )。一个档案如果改成可
执行模式则系统就将其视为一个可执行档,而一个目录的可执行模式代表使用
者有进入该目录之权利。chmod 就是用来变更一些档案的模式,其使用方式如
下:
   
    chmod [ -fR ] mode filename ...
   
    其参数的意义如下:
   
     -f   Force. chmod 不会理会失败的动作。
     -R   Recurive. 会将所有子树下的所有子目录及档案改为你所要改成的模式。

    mode 可以为一个三位或四位的八进位数字,来表示对某些对象的存取权。详情
    可参阅 chmod(1) 的 manual page 中有关  Absolute Modes 的说明。

    或是用一个字串来表示,请参考 chmod(1) 的说明。
       
chown
                用途:改变文件的属主
                格式:chown [-fhR]owner filenames…
                参数:-f         不报告错误
                          -H        仅改变链结文件的属主,不改变原文件
                          -R        包括子目录
       
date
                用途: 显示及设置时间和日期
                格式: date [MMddhhmm[yy]]
                参数:MM                月(01-12)
  dd                日(01-31)
  hh                小时(00-23)
  mm                分(00-59)
  yy                年(后两位数字)
       
df
                用途:报告文件系统的空闲情况
                格式:df [-F][-abekln]
                参数:        -F                         FSType        报告指定的文件系统
                                   -a                        报告所有文件系统情况
                                   -b                        显示总的空闲kilobytes
                                   -e                        只显示还可存放的文件数
                                   -k                        以kilobytes显示文件系统的情况
                                   -l                        只报告本地文件系统
                                   -n                        只显示文件系统名
       
reboot         
                用途:重新启动系统
       
shutdown
                用途:使系统进入单用户状态

poweroff
   用途: 关闭系统电源

tar
                用途:在磁带上创建备份
                格式: tar [c][r][t][x][device]filenames…
                参数:c          创建,从磁带文件头开始写
                           r        替代
                           t        显示
                           u        更新,更新新的或改动过的文件
                           x        恢复,将磁带文件写入当前目录

(转自中兴)

论坛徽章:
0
2 [报告]
发表于 2007-08-22 15:18 |只看该作者
幻想一出,必属精品。。。

论坛徽章:
0
3 [报告]
发表于 2007-08-23 11:00 |只看该作者
大师能不能,整理成一个完整的文档提供给我们菜鸟下载呢?呵呵,非常不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP