第二章 第一部分 Linux的文件属性与目录配置

第二部分 Linux 的文件,目录,与磁盘格式
        第二章 第一部分 Linux的文件属性与目录配置
        1.用户与用户组
            1) 文件拥有者
            2) 用户组的概念
            3) 其他人概念
            4) Linux用户身份与用户组记录的文件
            所有系统帐户与一般身份用户,以及root相关信息,都记录在
            /etc/passwd。
            密码记录在/etc/shadow文件中。
            用户组名称都记录在/etc/group内。
        2.Linux用户权限
            1.文件权限
            ls -al
            -rw-r--r--  1      root      root     4096     Jun 25 08:35 install.log
              [属性]  [连接] [拥有者]  [用户组] [文件大小] [修改时间]     [文件名]
           
            -rw-r--r-- :表示10个属性,分别是
            第一位:文件类型,d[目录],-[文件],l[连接],
            b[可供存储的接口设备],c[串口端口,例如键盘,鼠标]
            第2-10位,每三个为一组为“rwx”3个参数的组合,r:Read;w:Write;x:execute
            第一到第四位:拥有者的权限
            第五到七位:用户组的权限
            第八到十位:其他非本用户组的权限
           
            2.更改文件权限
            chgrp:改变文件所属用户组
                例如 :chgrp root aaa,将aaa文件改变为root用户组
           
            chown:改变文件拥有者
                例如 :chown root:root aaa,将aaa改变为root:root owner
           
            chmod:改变文件的属性,SUID属性
                有两种方式:
                1.数字方式 r:4 w:2 x:1 并相加,例如 chmod 777 aaa,付给所有用户组所有权限
                2.符号方式
               
                       
                        u(user)            +   r
                chmod     g(group)        -    w        目录或文件
                        o(others)        =   x
                        a(all)
               
                例如:chmod u=rwx,go=rx, aaa
           
            2.目录属性的意义
               r : 具有读取目录结构清单的权限
               w :新建文件目录,删除文件目录,重命名,移动文件目录
               x :能否进入该目录
       
        3.Linux 文件类型与扩展名
            1.文件类型
                1) 普通类型 : 同[-]标识,包括纯文本文件,二进制文件和数据文件
                2) 目录 : [d]
                3)    连接文件 :类似与windows的快捷方式。[l]
                4)  设备与设备文件 :与系统外设及存储器相关的一些文件,通常集中在
                /dev目录下,分为两种:
                    1) 块(block)设备文件:数据存储的接口设备,例如硬盘,/dev/hda1
                    2) 字符设备文件:串行端口接口设备,例如键盘,鼠标
                5)套接字 (sockets) : 网络连接 [s] /var/run 下经常能见到这个的。。。
                6)管道(FIFO,pipe) :感觉就是文件锁,就是为了解决多个程序同时访问一个文件
                   所造成的错误,[p]
            2.Linux文件扩展名
                一般Linux是没有扩展名的。但是通常有以适当的扩展名来表示该文件的类型,
                常用的扩展名:
                .sh :批处理文件,是使用shell写成的脚本文件
                .z/.tat.tar.gz/.zip/tgz:经多打包的压缩文件,这些文件分别是通过gunzip和tar等
                不同的压缩软件而取得的扩展名
                .html/.php 网页文件,html语法和php语法文件。
                .pl perl 文件
               
                Linux中每一个文件或者目录的文件名最长可以打255个字符,完整路径最多可达4096个字符。
            3.Linux文件名的限制
                最好能避免使用如下特殊字符
                *?<>;&![]|/'"`(){}
           
        4.Linux目录配置标注FHS
            FHS规范:只规范了根目录下各个主目录应该放些什么样的文件
            两层规范:1)根目录 “/” 各个目录应该放什么文件数据,如/etc应该放设置文件,
            /bin /sbin应该放可执行文件等
                      2)第二层则是针对/usr和/var者两个目录的子目录来定义。
            例如/var/log放置系统登录文件,/usr/share放置共享数据。
                     在Linux中,所有的文件和目录都是有根目录开始。
            目录树的主要特性:
                1) 目录树的起始点为根目录(/或root)
                2) 每一个目录不仅能使用本地端分区的文件系统,也可以使用网络文件系统,
            可以用网络文件系统(NFS)服务器载入特定目录
                3) 每一个文件在目录树中的文件名都是独一无二的
                从根目录开始的路径为绝对路径,从当前路径开始的路径为相对路径。
                /usr/bin为绝对路径,./home/dillon 为相对路径
                . 或./表示当前目录
                .. 或../表示上一层目录
                单一文件或目录最大允许文件名为255
                包含完整路径名称及目录的文件名最大为4096
       
        5.目录配置的内容(比较长,比较重要)
                   
        6.一般主机分区与目录的配置
            / : 根目录,系统启动时加载的第一个分区,所有启动相关的文件应该都放在这个分区中,
                /etc /bin /dev /lib /sbin 这几个目录都应该与坟墓里连在一起,不可独立成为某个区
           
            /bin            放置“用户可执行的二进制文件”,比如 ls,mv,rm,mkdir, gzip,
            /usr/bin        rmdir tar cat cp mount 等重要命令都放在这么目录中
            /usr/local/bin
           
            /boot:    这个目录主要放置Linux系统启动时用到的文件。这个目录下的文件vmlinuz就是
                    Linux的核心,引导程序选择grub,那么这个目录内还有/boot/grub
                   
            /dev :任何设备都以文件类型存放在这个目录之中。访问这个目录下面的某个
                   文件就等于访问某台设备。设备分为字符设备和块设备,此目录下的文件
                   多出两个属性,分别是主设备号和辅设备号。重要的文件有/dev/null,
                   /dev/tty[1-6], /dev/ttyS* /dev/lp* /dev/hd* /dev/sd*等
                  
            /etc :系统的设置文件都放在这个目录。例如帐户密码文件,各种服务起始文件,
                    比较重要的文件有 /etc/inittab /etc/init.d /etc/modprobe.conf
                    /etc/X11 /etc/fatab /etc/sysconfig
                    重要的目录有:
                    /etc/init.d/ : 所有服务的默认启动脚本都放在这里,例如要启动关闭iptables
                    /etc/init.d/iptables start
                    /etc/init.d/iptables stop
                    /etc/xinetd.d/:这是个超级守护程序管理的各项服务的设置文件目录
                    /etc/X11:与X window有关的各种设置文件都放在这里,尤其是xorg.cong或
                    XF86Config这两个X Server的设置文件
           
            /home :系统默认的用户目录,新增一个帐户的时候,默认的用户目录都会放在这里
                    ~表示当前这个用户的目录
                    ~dillon,表示是dillon这个用户的目录
           
            /lib,            系统使用的函数库目录,/lib/modules目录有核心的相关模块
            /usr/lib,
            /usr/local/lib
           
            /lost+found : 系统出现异常时,就爱那个一些遗失的片段放到此目录下,通常出现在莫个分区
                            最顶层的目录下,如/disk/lost+found
           
            /mnt,/media :这个是软盘与官盘的默认载入点,如软盘挂载/mnt/floppy,光盘挂在/mnt/cdrom
                            /media与mnt有点类似
           
            /opt : 给主机额外安装软件的目录,以前的Linux系统,一般放在/usr/local中
           
            /proc :这个目录本身是一个“虚拟文件系统”,它放置的内容都在内存中,例如系统核心,CPU信息,
                    ,外设信息,网络状态,本身不占硬盘空间。如:/proc/cpuinfo /proc/dma, /proc/interrupts
                    /proc/ioports /proc/net等
           
            /sbin /usr/sbin /usr/local/sbin :放一些系统管理员才会用到的命令,例如:fdisk,fsck,mkswap,mount,等,一般用户可以查看而不能设置
           
            /srv :一些服务启动之后,这些服务需要访问的数据目录,例如www服务器需要的数据放在/srv/www中
           
            /tmp : 让一般用户放置临时文件的地方,这个目录任何人都能访问,所有要定期清理。
           
            /usr : 包含系统主要程序,图形界面文件,额外的函数库,本机自行安装的软件,共享目录与文件。
                    重要的目录有:/usr/bin,usr/sbin
                    /usr/include,/usr/lib, /usr/local,/usr/share(usr/share/doc, usr/share/man)
           
            /usr/src 源码,例如/usr/src/linux放置linux核心源码
           
            /var : 用于放置系统执行过程中经常变化的文件。例如Cache和Log文件,
                    1) /var/cache :程序文件运行过程的一些暂存盘
                    2) /var/lib :数据文件放置的目录,
                    3) /var/log :log放置路径,/var/log/message放置所有登录文件
                    4) /var/lock :单一设备的锁例如磁带机
                    5) /var/run :程序/服务启动后,它们的PID会放在这么目录下
                    6) /var/spool : 放置一些队列数据的地方。例如主机收到电子邮件后,
                        会放置到 /var/spool/mail中,若暂时不发出去房子/var/spool/mqueue中
                        用户工作任务分配(cron)放在/var/spool/cron中
       
        7.特殊目录
            1) 建议不可与root分区分开的目录,/etc /sbin /bin /lib
            2) 建议最好单独成为单一分区的目录 /home /usr /var /temp
            3) 特别重要的目录:/etc 系统帐号,密码,启动设置,网络服务设置。
                /usr/local :用户自行安装的软件一般装在/usr/local或者/opt下
            4) /var :存放临时数据,/var/lib /var/run /var/log 查看/var/log/message
            看看文件是否存在异常
                  
        8.Linux支持的文件系统
            Fedora支持Ext3,查看
            /lib/modules/'~username -r'/kernel/fs,如果有想要的文件系统,那么核心就支持
            大多数系统采用ext3和reiserfs,但是我的机器使用的是ext2
            ext3比ext2多日志记录,写文件时开始写入和结束写入都记录在日志区
            最大好处是错误问题的排查效率比较高,ext3兼容ext2
           
            Linux的VFS(Virtual Filesystem Switch)
            整个Linux系统都是通过虚拟文件系统交换的核心功能去读取系统文件的。
            用户并不用知道每个分区上的文件系统是什么,VFS会帮助我们做好这些。
           
    习题:       

       1) Linux的发展分为哪两种核心版本
        答:主要分为奇数的开发版本和偶数的稳定版本
       
        2) 早期的Unix系统文件名最多允许14个字符,新的Unix和Linux中,文件名最多
        有多少字符
        答:文件名最长为256个,绝对路径最长为4096
       
        3) 文件属性为-rwxrwxrwx,表示这个文件的意义是什么
        答:普通文件,owner,同用户组成员和其他成员都具有读写和执行的权限
       
        4) 要将一个文件的属性改为-rwxr-xr--,采用什么命令
        答:chmod 753 filename
       
        5) 若需要更改一个文件的拥有者和用户组,改用什么命令
        答:chown root :root filename,chgrp group file
       
        6) Linux传统文件系统是什么,常用的登录文件格式有哪些
            答 :ext2或ext3
           
        7) 请问下面的目录主要放些什么数据,/etc /etc/init.d /boot /usr/bin /bin /usr/sbin
        /sbin, /dev, /var/log
            答:/etc : 配置文件
                /etc/init.d : 所有服务的默认启动脚本都放在这里
                /boot :启动文件
                /usr/bin :用户程序指令放置的地方
                /bin : 系统指令放置的地方
                /usr/sbin :超级用户安装程序的地方
                /sbin :系统安装超级用户程序指令的地方
                /dev :设备都放在这个目录
                /var/log :放置log的地方

 

你可能感兴趣的:(linux,网络,脚本,ext,扩展,Sockets)