首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

操作系统

Windows 9X | Linux&Uinx | Windows Server | 其它操作系统 | Vista | FreeBSD | Windows 7 |
首页 > 操作系统 > Linux&Uinx > linux的基本操作(下) > 正文

linux的基本操作(下)

出处:LinuxAid.com.cn 作者:5dmail 时间:2003-10-6 10:59:00
 3、文件系统与目录树
    在dos-windows体系中,每个磁盘或硬盘分区有独立的根目录,并且用唯一的驱动器标识符表示,如A:,C:等。
    而linux的文件系统则不一样,它采用了一种虚拟文件系统技术,使不同的磁盘和分区组合成一个整体。单个磁盘或硬盘分区构成单独的文件系统(可以是fat、NTFS等等格式的),有其各自的目录树结构。但是,在操作系统能够使用这些文件系统之前,必须通过称为“挂装”的操作将单独的文件系统附加到虚拟文件系统的某一个子目录上——也就是说这个子目录就是实际文件系统的根,通过访问这个子目录来访问该分区或磁盘。如此操作,最终可使所有的文件系统结合成一个无缝的统一整体,组织到一个大的树型目录结构中。该目录树的顶部是一个单独的根目录,名为root,用/表示。根目录下是一些标准的子目录和文件。
    在文件系统模型中,仍然体现了linux的设计哲学,即将不同的文件系统组合成一个有机的整体,进而为用户提供一致的文件系统结构。
    对大多数Linux发行版本而言,文件系统的目录树布局遵循FSSTND标准,这有利于编写或移植软件,同时也有利于进行系统管理和维护。
    完整的目录树可划分为小的部分,这些小部分又可以单独的存放在自己的磁盘或者分区上。这样相对稳定的部分和经常变化的部分可以单独放在不同的分区里,从而方便了备份和系统管理。目录树的主要部分有root(/)、/usr、/var、/home等等。下面是一个典型的linux目录结构如下:
  / 根目录
  /bin 存放必要的命令
  /boot 存放内核以及启动所需的文件等
  /dev 存放设备文件
  /etc 存放系统的配置文件
  /home 用户文件的主目录,用户数据存放在其主目录中
  /lib 存放必要的运行库
  /mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。
  /proc 存放存储进程和系统信息
  /root 超级用户的主目录
  /sbin 存放系统管理程序
  /tmp 存放临时文件的目录
  /usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。
  /var 包含系统产生的经常变化的文件,例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的手册页以及一些应用程序的数据文件等等。建议单独的放在一个分区。
    典型的/usr目录如下:
  /X11R6 存放X window系统
  /bin 存放增加的用户程序
  /dict 存放字典
  /doc 存放追加的文档
  /etc 存放设置文件
  /games 存放游戏和教学文件
  /include 存放C开发工具的头文件
  /info 存放GNU信息文件
  /lib 存放库文件
  /local 存放本地产生的增加的应用程序
  /man 存放在线帮助文件
  /sbin 存放增加的管理程序
  /share 存放结构独立的数据
  /src 存放程序的源代码
    由于/usr中的文件不和特定的计算机相关,也不会在通常使用中修改,因此可以通过网络共享这个目录(文件系统),这样,当管理员安装了新的软件之后,所有共享这一文件系统的计算机均可以使用新的软件。

    4、目录操作和文件操作

    在介绍文件的操作之前,我们先了解一下文件的类型。目录树包括以下文件类型:
  a、普通文件:包括文档文件、数据文件、程序、shell脚本等我们常接触到的文件。
  b、目录文件:目录文件包含着一个该目录下的文件和本身以及上一级的链表。这是由操作系统维护的文件。它至少包括两个记录,一个是它自身(“.”),一个是它的上一级目录(“..”)。注意,根目录的上一级目录还是它自身。
  c、设备文件:和所有UNIX一样,linux把所有设备都作为一个文件来处理,包括IO设备。
  d、进程通信文件:即所谓的先进先出文件,主要是为进程间通信用的。
    
    我们一般登入系统后,当前的工作目录都是自己的主目录,想看看主目录里有什么东东?你可以使用ls命令试试。输出就如同dir /w一样^_^。要查看隐含文件使用命令行:
  ls -a
    可以看见多了不少以点(“.”)开头的隐藏文件。如果还想进一步查看文件的详细信息,那就查看长格式的输出吧,使用
  ls -l
    当然,我们完全可以组合使用多参数,有两种方法:
  ls -a -l 或者 ls -al
    都可以得到该目录下所有文件的详细列表,比dos下dir的输出还详细——只不过文件的名却在右边。如果文件太多,一屏显示不下怎么办呢?ls命令并没有提供dir的/p开关的功能,不过按照UNIX系统设计的积木原则,我们可以用命令的组合获得我们需要的任何功能。象这次我们可以使用输出重定向,使用通道,对于下面这个命令,你应该不会觉得别扭吧?
  la -l | more
    这和dos下的管道一模一样嘛:),还不只这个,连改变当前目录的cd命令,也是和dos中的用法一样,看来dos还是没有完全抛弃UNIX的影响。
    cd命令的用法和dos中相似,不同的是cd和后边的目录(包括代表上一级目录的..)之间必须有空格隔开。多出几次错误信息你就会记得这一点了,呵呵。记住:
    cd.. ------wrong
    cd .. or cd /        ------right
    查看当前的路径的命令是pwd,如前所说的,它是bash的内部命令,cd也是。它存在价值在于你不用时刻面对着一个可能非常长的路径,当然你觉得有必要,也可以通过对bash的适当配置使得它的提示符类似于dos模式。
    建立和删除的目录命令也很容易从字面上理解,建立目录使用mkdir,删除空目录用rmdir。注意,你建立目录、删除目录的操作,都需要相应的权限。
    要想做到dos下的deltree的功能,需要使用文件的删除命令rm的递归删除参数-r或-R。这个命令的基本格式是
  rm [-option] filename
    例如要删除/tmp/newtemp所有文件和子目录,可以使用如下命令:
  rm -r /tmp/newtemp
    这样的话,系统会一个一个文件问你是否需要删除,如果你可以确信这个目录下的所有东西都没有保留的价值的话,你可以加上一个-f的参数,表示强制删除,不再询问,如:
  rm -rf /tmp/newtemp (还记得我们使用多个参数的两种方法么?)
    注意,在linux中没有类似undelete的命令,不要随意使用带-f、-r、-R参数的rm命令哦:)
    文件的拷贝使用cp命令,使用的格式如下:
  cp [-option] soursefile targetfile
    注意,和dos中的copy不同的是:
    · soursefile和targetfile不能相同;
    · cp需要使用递归选项-r来完成带文件的目录的拷贝;
    · cp可以使用-u开关来保留文档的最新版本。当使用-u选项时,如果目标文件存在且最后修改时间比源文件晚,则不覆盖。
    我们常用的还有重命名操作命令,或者说移动文件命令,mv,格式如下:
  mv [-option] source target
    mv有个非常有用的选项 -b,表示给被覆盖的文件产生一个备份。

    cat命令用于把所给的文件以所给顺序在标准输出上输出。格式如下:
  cat [-ption] [file]
    如果没有设置参数file,则把从标准输入中读入的文件从标准输出上输出。如果file以一个减号来代替,则cat仍然从标准输入上读入数据。例如:
  cat - file1 - >file2
    这个命令表示先从标准输入读入数据,直到输入结束字符Ctrl+d,接下来从文件file1中输入,接着又从键盘输入直到输入结束字符,把这些结构都输出到file2文件中。实际上做了个在file1前后均加了一段文字然后存成了file2文件的操作。
    用这个命令还可以把多个文件连接在一起。例如:
  cat *.txt > outall.txt
    表示把所有的txt后缀的文件按照字母顺序连接起来,然后再写到outall.txt文件里。
    如果[file]选项是二进制文件,而又不是把它输出到一个文件而是标准输出的话,由于终端可能要对不可打印字符进行处理,可能会出现乱码。可以使用-v选项来解决这个问题。这个选项把不可打印字符(从ASCII码的000到037的字符)用^和ASCII码从100到137的字符组合来表示。
    还有三个用来显示文件的命令,它们分别是head、tail、more。
    head [-option] [file] 是用来显示文件的前面一部分的。可以使用-num选项来显示前num行,也可以使用选项-c num使head输出前num个字节。其它的使用和cat相似。
    tail [-option] [file] 是和head对应的显示文件后一部分的命令。选项和head命令一样。
    more命令就是前面我们曾经借助它进行分页显示的命令,它也可以直接用来分页显示文本文档。命令格式和前面几个命令一样。在显示完一页后,more会提示用户输入:如果输入空格键或是f,则显示下一页;如果输出n加空格键,则用来显示后面的n 行;回车键用来显示下一行。
    这几个命令都是网络管理比较常用的查看日志文件的工具,可以用man命令获得它们更详细的帮助。
    还有几个显示二进制文件的命令,例如od、mn和strings,你也可以通过man获得帮助。

    在linux中还可以为文件增加链接。例如目录的两个链接“.”和“..”。在目录中,每一对文件名与索引节点号称为一个链接(link)。同一个索引节点可以和多个文件名创建链接。实际上这种硬链接是直接创建了与文件(在这是目录文件)的索引节点(i-node)号相联系的链接。我们也可以为文件创造多个链接,这使用命令:
  ln [-option] sourse [target]
    如果不使用target参数的话,则在当前目录中是创建一个同名的链接文件;如果用ln产生几个文件的连接,则target必须为一个目录。只有超级用户才能产生目录间的硬链接。
    这一个功能非常有用。除了我们可以在主目录方便访问我们经常访问的文件,而且我们可以为重要的文件或目录建立多个链接,提供“防删除”的功能,避免以为删除造成严重后果。这样做的原理是,如果一个文件(或目录)的索引节点有一个以上的链接,删除操作只能破坏其一,索引节点本身的其他链接仍然不受影响。当然,如果对只有一个链接的文件发出删除命令,索引节点、文件数据块与目录的连接都会被释放,文件也真正删除。
    上面的链接说的都是硬链接,和索引节点号直接相关的链接。我们知道,每一个文件系统(如一个硬盘分区)都有自己的索引节点数组,因此索引节点号只有在同一个文件系统中才是唯一的,这意味着,固定链接只能用在一个文件系统的内部。
    而符号链接(symbolic link,又常被称为软链接)则没有这个限制,它和windows系统中的快捷方式非常相似,它可以用在不同的文件系统之中。因此,在两个文件之间建立链接,如果要求保证可移植性,应尽量使用符号链接。可以使用 ln -s 来产生符号链接。

      · 文件、目录的属性

    涉及到文件的属性,就不可避免的关联到用户管理,关于这个内容,请先参考专题五中的用户管理部分,再来阅读这一部分。linux下,每一个文件、每一个目录都必须有一个属主,并针对拥有文件的用户自己、用户所在组、其它所有帐号(组)分别设定读、写、执行三种权限。例如,我(假定是usergroup组的username帐户的拥有者)使用如下命令建立一个新的文件
touch mytestfile
    然后我们使用ls -l mytestfile这一命令来查看这个文件的权限状态(关于ls命令,可以前面已有错误,可以查阅本站的命令查询),可以得到如下的屏幕输出显示:
-rw-rw-r-- 1 username usergroup 0 Feb 6 21:37 mytestfile
    输出分为7个部分,分别表示文件权限属性、硬连接个数、文件所有者帐户、文件所属组、文件大小、文件创建时间、文件名称。
    · 使用chown命令修改文件的主人
    当你新建立一个文件的时候,文件的所有者当然就是你了。这一事实只有超级用户(比如说root)才可以通过chown命令改变(例如 chown otheruser mytestfile,把mytestfile文件的属主改为otheruser)。普通用户不能把自己的文件“送”给别人,不然你把有特殊目的的程序给了root怎么办?:)
    chown命令的用法比较简单。这里我先假设你现在拥有超级用户权限,那么你就可以使用如下命令将一个文件“送给”username用户了:
chown username /home/username/thefileisrootcreate.txt (假定该文件是由root创建的)
    修改一个目录的所有者也是类似的:
chown username /home/newboat
    当然,如果这个目录还有子目录及文件需要同时送给username,chown也是支持-R参数的:
chown -R username /home/newboat
    如果你同时想修改文件/目录所属的组的话,你可以使用以下命令方便的达到目的:
chown -R username.othergroup /home/newboat
    这样,不但文件主人得到了修改,文件所属的组也变成了othergroup
    · 修改文件的组属性
    文件所属组你倒是可以改变,前提是:
    1、你的超级用户。
    2、你同时属于两个或两个以上的组。
    两个条件你至少具备一个,你才能够把文件所属旧组变为新组。使用如下的命令将当前目录下所有html文件所属的组改为httpd:
chgrp httpd *.html
    和chown命令一样,chgrp也可以使用-R参数对一个目录内的所有文件和子目录进行递归的修改组属性。
  <提示>:你可以使用不带参数的groups命令查看自己属于哪个组。

    文件权限的设定是我们这一小节讨论的核心,我们主要介绍chmod命令的两种用法。

    · 使用访问字符串设置文件目录权限
    每一个文件、目录都针对用户自己、用户所在组、其它所有帐号(组)分别有读、写、执行三种权限及其组合。ls -l查看文件属性的第一个字段所示。总共十位字符“-rw-rw-r--”,第一位是目录区分标志,如果是d的话,表示这是一个目录。第二到四位分别表示文件所有者的读(r:read)、写(w:write)、执行(x:execute)属性,第五到七位是文件所属组的读、写、执行权限,第八到第十位则是其它用户的读、写、执行权限。如果对应的位是相应的字母,就是有这相应权限,否则为“-”,表示没有获得这个许可。象刚才例子中的文件就是自己可读写,本组可读写,其它用户可读,所有的用户(包括自己)都不能执行它。
    我们的用u、g、o分别来指代用户(user)、组(group)、其它帐户(other),就可以方便的设置文件和目录的权限了。当然,我们也可以用a来表示所有的这三项。
    例如,我们要对所有perl的脚本文件设定权限,对所有用户都可以读和执行,文件所有者还允许写许可,那么我们可以使用如下命令:
chmod a+rx,u+w *.pl
    注意:如果要使用多个访问字符串,它们之间要用逗号隔开,各个许可字符串之间不允许有空格。正如上例所示。
    如果要修改目录中所有文件和子目录的权限属性,可以使用chmod提供的-R参数来递归修改。例如,下列命令将/www/site1目录及其下面的子目录的权限属性设定为所有者和组可读、写、执行,其它用户不可访问:
chmod -R a+rwx,o-rwd /www/site1
    注意,不要轻易使用-R选项,这可能会带来安全隐患。
    使用字符串方便了理解,单输入那么多字母还是有点累,如果你对8进制有些概念的话,可以使用下面介绍的方法来做权限设置。

    · 使用八进制数设置文件目录权限
    我们知道,在ls -l的输出中,文件权限表示为“-rw-rw-r--”,前一位只和是否为目录或连接有关,其它九位正好可以分成三段,每段三位,“rw-”、“rw-”和“r--”,“-”代表无效“0”,其它字符代表有效“1”,那么这个文件的权限就是“110”、“110”、“100”,把这个2进制串转换成对应的8进制数就是6、6、4,也就是说该文件的权限为664(三位八进制数)。我们也可以使用类似这种三位八进制数来设定文件授权,如上边两个例子,就也可以写为:
chmod 755 *.pl
chmod -R 770 /www/site1
    是不是很简洁?关键在于你能根据你需要设定的权限正确的选择八进制数(利用八进制数的二进制表示可以非常轻易的做到这一点)。

    · 读、写、执行的权限说明
1、所谓写的权限,也就是对文件修改和删除的权限。如果目录的写权限也对你开放了,则可以创建、删除或修改该目录下的任何文件或自目录——即使该文件和子目录并不属于你。
2、对目录有只读许可的用户,不能用cd命令进入该目录;还必须同时有执行许可才可以进入该目录。
3、必须同时拥有读和执行权限才可以使用ls这样的程序列出目录内容清单。
4、只对目录有执行权限的用户,想访问该目录下的文件有读权限的文件,必须知道该文件名才可以访问。
相关文章 热门文章
  • Linux启动 Sendmail速度慢的解决办法
  • Linux系统下防垃圾邮件基本功能
  • Linux启动sendmail速度慢的解决办法
  • Domino V8 在 UNIX/Linux 平台上的安装及其常见问题
  • IBM Lotus Domino,Linux,虚拟化,可伸缩性:不再是相互排斥的术语
  • 19.11 参 考 资 料
  • 19.10 课 后 练 习
  • 19.9 重 点 回 顾
  • 19.8.3 quota与目录转移
  • 19.8.2 关于备份
  • 19.8.1 问题检查
  • 19.7.8 其他设置技巧
  • linux的基本操作(上)
  • Linux系统下应用知识大荟萃
  • GNU GRUB启动管理器
  • 制作基于软盘的Linux系统
  • 网络配置文件快速解读
  • linux的基本操作(下)
  • 剖析Linux系统启动过程
  • DameWare让局域网管理不再繁琐
  • 在Redhat 9下实现双机热备和集群功能
  • LINUX守护进程介绍
  • Redhat advance server 2.1集群的安装与管理
  • Linux必须学会的60个命令-文件处理
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号