Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57697
  • 博文数量: 20
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 252
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-11 14:27
文章分类

全部博文(20)

文章存档

2014年(20)

我的朋友

分类: LINUX

2014-09-02 10:30:51

8.6  查看编译安装的apache的版本 
    eg.[root@localhost ~]# /usr/local/apache2/bin/apachectl -v
        Server version: Apache/2.2.23 (Unix)
        Server built:   Jul 28 2014 12:23:18

      centos 中在安装好apache的时候,通常会通过service httpd restart 的来启动服务,可这时候系统提示

        [root@localhost ~]# chkconfig httpd on
        error reading information on service httpd: No such file or directory

     那么可手动去添加-讲httpd的启动文件copy到/etc/rc.d/init.d中,然后再/etc/rc.d/rc5.d(系统启动脚本)中加入链接就好了
        [root@localhost ~]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
       [root@localhost ~]# ln -s /etc/rc.d/init.d/httpd  /etc/rc.d/rc5.d/S85httpd (85代表系统启动的序号)
        编辑/etc/rc.d/init.d/httpd 添加 
            #chkconfig:345 85 15    ---这里数字的意思(345 代表系统启动的级别,15是关闭的序号)
            # description: Activates/Deactivates Apache Web Serve

        然后就添加chkconfig --add httpd就ok了!


Linux proc目录
      Linux内核提供了一种通过/proc文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外村空间。它以文件系统的方式为访问系统内核数据的操作提供接口。
        用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。鉴于系统信息多是动态改变的,当用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所信息并提交的。有三个重要文件:net、scsi、sys。Sys目录是可写的,可通过它访问或修改内核的参数,而net和scsi则依赖于内核配置

        子文件夹或子文件

    /proc/buddyinfo 每个内存区中的每个order有多少块,和内存碎片问题有关
    /proc/cmdline 启动时传递给kernel的参数信息
    /proc/cpuinfo cpu的信息
    /proc/crypto 内核使用的所有已安装的加密密码及细节
    /proc/devices 已经家长的设备并分类
    /proc/dma 已注册使用的ISA DMA频道列表
    /proc/execdomains Linux 内核当前支持的execution domains
    /proc/fb 帧缓冲设备列表,包括数量和控制它的驱动
    /proc/filesystems 内核当前支持的文件系统类型
    /proc/interrupts x86 架构中的每个IRQ中断数
    /proc/iomen每个物理设备当前在系统内存中的映射
    /proc/kcore 代表系统的物理内存,存储为核心文件格式,里面显示的是字节数,等于RAM大小加4kb
    /proc/kmsg 记录内核生产的信息,可以通过/sbin/klogd或/bin/dmesg来处理
    /proc/loadavg 根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关
    /proc/locks 内核锁住的文件列表
    /proc/mdstat 多硬盘,RAID配置信息
    /proc/meminfo RAM 使用的相关信息
    /proc/misc 其他的主要设备(设备号为10)上注册的驱动
    /proc/mtrr 系统使用的Memory Type Range Registers(MTRRs)
    /proc/partitions 分区中的块分配信息
    /proc/pci 系统中的PCI 设备列表
    /proc/slabinfo 系统中所以活动的slab缓冲信息
    /proc/stat所以的CPU活动信息
    /proc/sysrq-trigger使用echo命令来写这个文件的时候
    /proc/uptime系统已经运行了多久
    /proc/swaps 交换空间的使用情况
    /proc/version Linux 内核版本和gcc版本    
    /proc/bus 系统总线(Bus)信息,例如pci/usb等
    /proc/driver 驱动信息
    /proc/fs 文件系统信息
    /proc/ide ide 设备信息
    /proc/irq 中断请求设备信息
    /proc/net 网卡设备信息
    /proc/scsi scsi设备信息
    /proc/tty tty设备信息
    /proc/net/dev 显示网络适配器及统计信息
    /proc/vmstat 虚拟内存统计信息
    /proc/vmcore 内核panic时的内存映像
    /proc/diskstats 取得磁盘信息
    /proc/schedstat kernel调度器的统计信息
    /proc/zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用
    



Linux 文件:

        Linux系统中有三种基本文件类型:
            普通文件,目录文件,设备文件
        Linux目录结构
            / 根目录
            /bin 存放必要的命令
            /boot 存放内核以及启动所需的文件
            /dev 存放设备文件
            /etc 存放系统的配置文件
            /home 用户文件的主目录,用户数据存放在其主目录中
            /lib 存放必要的运行库
            /mnt 存放临时的映射文件系统
            /proc 存放存储进程和系统信息
            /root 超级用户的主目录
            /sbin 存放系统管理程序
            /tmp 存放临时文件的目录
            /usr 包含一个不要修改的应用程序,命令程序文件,程序库,手册
            /var 包含系统产生的经常变化的文件

    文件与目录基本操作
        1.显示文本内容命令:cat,more,less,head,tail
         cat命令  cat[选项] 文件名
            -V:-show-nonprinting 用一种特殊形式显示控制字符,LFD与TAB除外
            -n 或 --number 由数字1开始对所有输出的行数编号
            -b 或 --number-nonblank 和-n相似,对空白行不显示
            -s 或 --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行

         more命令 more[选项] 文件名
            -P:显示下一屏之前先清屏
            -C:作用同-P
            -d:在文件底部显示更友好的提示信息
            -s:文件中连续的空白行压缩成一个空白行显示
            
     less命令 less 文件名 
            命令同more,不同的是显示文件夹时,允许用户jikeyi向前又可以向后的翻阅文件
     head命令 head[n值]文件名

     tail命令 tail[选项] 文件名
            与head命令相反,
            +num:从第num行以后开始显示
            -num:从距离文件尾行处开始显示,如省略参数,默认为10
            l:以文本行为num大的计数单位,与参数+num或-num选项同时使用时,num表示要显示的文本行数
            c:以字节为num的计数单位,与参数+num或-num选项同时使用时,num表示要显示的字符数。

        文件内容查询命令:grep egrep fgrep
         这组命令抒写的查找模式搜索文件,通知用户在你生命文件中搜索到与指定的模式匹配的字符串,GREP命令一次只能搜索一个指定的模式,EGREP命令检索扩展的正则表达式,FGREP命令检索固定字符串,并不识别正则表达式,是一种更为快速的检索命令,用来搜索文件中包含的关键词
            grep[选项][查找模式][文件名1,文件名2,...]
            egrep[选项][查找模式][文件名1,文件名2,...]
            fgrep[选项][查找模式][文件名1,文件名2,...]

      文件查找命令:find,locate
        find命令 find[选项] 文件名
            在指定的功能是在指定的目录开始,递归地搜索其各个子目录,查找满足条件的文件并做处理
            可跟逻辑运算符not,and,or组成复合条件:and,逻辑与,在命令中用“-a"表示.or,逻辑或,在命令中用“-o"表示.not,逻辑非,在命令中串用“!”表示
            说一下 exec,
                -exec find命令对匹配的文件执行该参数所给出的其他linux命令 相应命令的形式为 ‘命令 - and’ {} \; ps, {} 和 \ 之间有空格
                -ok 和- exec的作用相同,但能与人交互,ok执行前询问是否执行
             find命令的主要参数:
                -name 按照文件名查找文件
                -perm 按照文件权限查找
                -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如同时使用 -depth选项,那么-prune选项将被find命令忽略
                -user 按照文件属主来查找文件
                -group 按照文件所属的组来查找文件
                -mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天内,+n表示文件更改距现在n天以前,
                -nogroup查找无有效属组的文件,即该文件所属的组在/etc/groups中不存在
                -nouser查找无有效属主的文件,即该文件的属主,即该文件的属主在/etc/passwd中不存在
                -newer file1 ! file2查找更改时间比文件file1新但比文件file2旧的文件
                -type查找某一类型的文件,比如:
                    b - 块设备文件
                    d - 目录
                    c - 字符设备文件
                    p - 管道文件
                    l - 符号链接文件
                    f - 普通文件
                    s - socket 文件
                    -size n [c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
                    -depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
                    -fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以再配置文件/etc/fstab中找到,该配置文件中包含了笨系统中有关文件系统的信息
                    -mount 在查找文件时不跨越文件系统mount点
                    -follow 如find命令遇到符号链接文件,就跟着至链接所指向的文件
                    -cpio 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中

    文本处理命令:sort ,uniq
            1.sort命令 sort[选项]文件名  该命令式对文件中的各行进行排序
                -b 检查每行前面开始出的空格字符
                -c 检查文件是否已经按照顺序排序
                -d 排序时,处理英文字母、数字及空格符除外,忽略其他字符
                -f 排序时,将小写字母视为大写字母
                -i 排序时,除了040到176之间额ASCII字符外,忽略其他字符
                -m 将几个排序好的文件进行合并
                -M 将前面3个字母按照月份的缩写进行排序
                -n 依照数值的大小排序
                -o<输出文件> 将排序后的结果存入指定的文件
                -r 以相反的顺序来排序
                -t<分隔字符> 指定排序时所用的栏位分隔字符
                + <起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位
                
        2.uniq命令 uniq[选项] 文件名
                文件经过处理后在它的输出文件中可能会出现重复的行,可用该命令清除重复行
                 -c 或 --count 在每列旁边显示该行重复出现的次数
                 -d 或 --repeated 仅显示重复出现的行列
                 -f<栏位> 或 --skip-fields=<栏位> 忽略比较指定的栏位
                 -s<字符位置> 或 --skip-chars=<字符位置> 忽略比较指定的字符
                 -u 或 --unique 仅显示出一次的行列
                 -w<字符位置> 或 --check-chars=<字符位置> 指定要比较的字符
                 [输入文件] 指定已排序好的文本文件
                 [输出文件] 指定输出的文件


8.21 时间真的过的好快啊! 一不小心 就又快到周末了

    mkdir命令 mkdir[选项] dirname
         -m 对新建目录设置存取权限,也可以用chmod命令设置
         -p  可以是一个路径名称,若路径中某目录不存在,便自动创建
         -v  每次创建新目录都提示信息

    rmdir 命令 rmdir[选项] dirname
           该命令从一个目录中删除一个或多个子目录项.要注意的是,一个目录删除之前必须是空的
                删除某目录时也必须具有对父目录的写权限
          -p 递归删除目录,dirname 当子目录删除后其父目录为空时,也一并删除
     
    磁盘空间管理     
        df 检查文件系统磁盘
            -a 或 --all 包含全部的文件系统
            -block-size = <区块大小> 以指定的区块大小来显示区块数目
            -h 或 --human-readable 以可读行较高的方式来显示信息
            -i 或 --inodes 显示inodde的信息
            -l 或 --local 仅显示本地端的文件系统
            -t<文件系统类型> 或--type=<文件系统类型>仅显示指定文件系统类型的信息
            -T 或 --print-type 显示文件系统的类型
            -x<文件系统类型> 或--exclude-type=<文件系统类型> 不显示指定的文件系统磁盘信息                    

    du 显示磁盘空间使用情况
         -a 或 --all 显示对所有文件的统计,包括文件下的子目录
         -b 或 --bytes 输出以字节为单位的大小,替代缺省时1024字节的计数单位
         -c 或 --total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
         -D 或 --dereference-args 显示指定符号链接的源文件大小
         -k 或 --kilobytes 以1024 bytes为单位
         -l 或 --count-links 重复计算硬件链接的文件
         -L <符号链接> 或 --dereference<符号链接> 显示选项中所指定符号链接的源文件大小
         -m 或 --megabytes 以1MB为单位
         -s 或 --summarize 仅显示总计
         -S 或 --separate-dirs 显示个别目录的大小时,不包括子目录
        
08/26 关于linux 中的文件系统

    inode,什么是inode,要从文件存储开始说起,
            文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”,每个扇区存储512字节(0.5KB)
        
            操作系统读取硬盘的时候,一次性连续读取多个扇区,即一次性取一个“块”(block),这种由多个扇区组成的“块”,是文件存取最小单位,“块”的大小,最常见的是4KB,即连续八个sector组成一个block.    
           文件数据存储在“块”中, 那么,要找到一个地方去存储文件的元信息(就是文件的基本信息,比如文件的创建者,日期)。而这种存储文件元信息的区域就叫做inode.(也称“索引节点”)
    
 inode的内容(包含的元信息)

        ~文件的字节数
        ~文件拥有者的User ID
        ~文件的Group ID
        ~文件的读、写、执行权限
        ~文件的时间戳,共三个“ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间”
        ~链接数,即有多少文件名指向这个inode
        ~文件数据block的位置

    inode的大小
        inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域,一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息
        每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB 占整块硬盘的12.8%
        查看每个inode节点大小:
        sudo dumpe2fs -h /dev/hda | grep "Inode size"


        每个inode都有一个号码,操作系统用inode号码来识别不同的文件

    用户通过文件名,找到文件的过程:
            *系统找到这个文件名对应的inode号码;
            *通过inode号码,获取inode信息;
            *根据inode信息,找到文件数据所在的block,读出数据

    Unix/Linux 系统中,目录(dorectory)也是一种文件,打开目录,实际就是打开目录文件
        每个目录项,包含两个部分:所包含的文件名,以及该文件名所对应的inode

硬链接

        一般情况,文件名和inode号码是“一一对应”关系,每个inode号码对应一个文件名,但在unix/linux中允许多个文件指向同一个inode,这就意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有的文件名;但删除一个文件名,不影响另一个文件的访问
        ln 源文件 目标文件
            建立“硬链接”,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中有一项叫做“链接数”,没添加一个指向,这时就睡加一。反过来,每删除一个文件名,inode节点中的“链接数”减一。当这个值见到0,表示没有文件名指向这个inode,系统就会回收这个inode号码,以及其对应的block区域
           ps.创建目录时,默认会生成两个目录项:"." 和"..".前者的inode号码就是当前目录的inode号码,等同于当前目录的“硬链接”;后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的“硬链接”。so,任何一个目录的“硬链接”总数,总是等于2加上它的子目录总数(含隐藏目录)这里的2是 父目录对其的“硬链接”和当前目录下的“.硬链接”

软链接
        如果文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最后读取的都是文件B。这时,文件A就称为文件B的“软链接”或者“符号链接”
        这就意味着,文件A依赖于文件B,如删除文件B ,打开文件A就会报错。
        ln -s 创建软链接
        ln -s 源文文件或目录 目录文件或目录

        *不允许给目录创建硬链接
        *不可以在不同文件系统的文件间建立链接(因为inode是这个文件在当前分区中的索引值,是相对于这个分区的,所以就不能跨越文件系统

区别

     *硬链接原文件/链接文件公用一个inode号,说明他们是同一个文件,而软链接原文件/链接文件拥有不同的inode号,说明他们两个是不同的文件
     *在文件属性上软链接明确写出了是连接文件,而硬链接没有写出来,因为在本质上硬链接文件和缘分见是完全平等关系
     *链接数目是不一样的,软链接的链接数目不会增加
     *文件大小是不一样的,硬链接文件显示的大小时跟原文件是一样的。而这里软链接显示的大小与原文件就不同了
     *软链接没有任何文件系统的限制,任何用户可以创建指向目录的符号链接

    总结的说,软链接就是建立一个新文件

  8/28

    /etc/fstab
        文件包含了你的电脑上的存储设备及其文件系统的信息。它是决定一个硬盘(分区)被怎样使用或者整合到整个系统中的唯一文件。打开需要root权限,这个文件中,每一个文件系统(包括分区或者设备)用一行来描述,在每一行中,用空格或TAB符合来分隔各个字段,文件中以*开头的行是注释信息。fstab文件中的记录排序很重要。因为fsck,mount或umount等程序在做它们的工作时会按照此顺序进行
    eg.
/dev/hda2 / ext2 defaults 1 1
/dev/hdb1 /home ext2 defaults 1 2
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0
proc /proc proc defaults 0 0
/dev/hda1 swap swap pri=42 0 0
     第一列表示设备的名称, 第二列表示设备的挂载点,第三列是文件系统,
      第四列是挂载选项,第五列是dump选项(数字表示),第六列(数字表示)
     表示文件系统检查选项。
第一、第二列:设备和默认挂载点
    作用是告知mount命令,要挂载什么分区或什么设备,以及要挂载的位置。
    ps.在fstab中为某一个设备指定的挂载点是其默认挂载点(也就是当没有指定挂载位置,默认挂载到哪里)。大多数的linux发行版都会为挂载点创建专门的目录,一般在/mnt下(SUSE/ubuntu,在/media 下)

08/29

    
















阅读(1176) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~