【本节内容】

     Linux系统目录结构

     相对/绝对路径

     创建/复制/删除文件

     rm -rf / 意外事故

     查看文件内容

     xfs文件系统的备份和恢复  (在rhel6.5上做)

     服务器来电后自动开机

【linux系统的目录结构】

    Linux是单根目录,单根组织文件

    /    根分区 所有文件和目录由此开始。只有root用户对此目录有写权限

        例:cd /        #查看根目录下的文件

    /etc   配置文件目录 包含所有应用程序的配置文件,也包含启动、关闭某个特定

        程序的脚本    例如:

        /etc/passwd,/etc/init.d/network等。

    /boot  存放Linux系统启动时需要加载的文件。 (一般在另外一个磁盘分区里面保存)

           Kernel、grub等文件都存放在此。存放的启动相关的文件,例如kernel,grub(引导

           装载程序)

    /var  是一个可增长的目录,包含很经常变的文件。例如,/var/log(系统日志)、

           /var/lib (包文件) 

    /root  管理员所有数据。  root用户的家目录

    /tmp    临时文件存储位置

    /var/tmp 临时文件(主要是程序产生的临时文件)

    /usr   usr表示的是unix software source

        /usr/local  相当于C:\Program

    /bin  命令  此目录包含二进制可执行文件,(普通用户使用的命令 /bin/ls ,/bin/date

    /sbin  系统命令 ,此目录中的命令主要供系统管理员使用,以进行系统维护。例

        reboot、fdisk等。

    /mnt   挂载目录  挂载点,系统管理员可用于临时挂载文件系统。     /media

 

    /dev   包含设备文件。在Linux中,一切都被看做文件。终端设备、USB、磁盘等等都

        被看做文件,如/dev/sda。

    /home  普通用户所有数据存放在这个目录下  (普通用户的家目录)

    /proc   这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问

        这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。

    /lib   这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里

        的.dll文件。几乎所有的应用程序都须要用到这些共享库。

【相对路径和绝对路径】

    绝对路径:从/开头的路径 /home ~alice
    相对路径:相对于当前目录开始 .

        .     链接到当前目录
        ..     链接到上一级目录
        ~     当前用户的家目录

     举例:

        [root@xuegod60 ~]# cd/etc/sysconfig/

        [root@xuegod60sysconfig]# cd network-scripts/

        [root@xuegod60network-scripts]# cd ../../

        [root@xuegod60network-scripts]#cd ~

        [root@xuegod60 ~]#pwd

        /root

 wKiom1cWLlyxsJrQAAAuNv6Btsg958.png


【文件管理】

    创建/查看/复制/删除 文件和文件夹


    创建文件和文件夹

    touch 

      作用:常用来创建空文件

      语法: touch 文件名   //无则创建,有则修改时间

      举例:

        [root@xuegod60 ~]# touch top

        [root@xuegod60 ~]#touch /home/file10.txt

        [root@localhost ~]# touch /home/ll/file{1..20}

                        #同时创建文件file1,file2……file20

        [root@localhost ~]# touch /home/ll/don{1,2,3}

                        #同时创建文件don1,don2,don3


     wKioL1cWNX7SVD5zAAAxdf4OcdA619.png 

    mkdir

      作用:创建目录

      语法:mkdir [目录名]

      举例:

          mkdiraaa               #在当前目录下创建目录aaa

           mkdir /home/bbb          #在当前目录hone下创建目录bbb

           mkdir -p /a/b/c/d         #连续创建父子目录

    cd

      作用:复制文件/目录

      语法:cp [源文件名/源目录名] [目标目录名]

      选项:-r    包含子目录、文件

      举例:

           cp /etc/passwd /home/don/    #复制文件/etc/passwd到目录/home/don

           cp /tmp/wwwdir /home/       #复制目录/tmp/wwwdir到目录/home

          cp -r /etc/ /don            #复制目录/etc下的所有文件到目录/don

    mv

    作用:移动文件/目录,更改文件名

    语法:mv [源文件名/源目录名] [目标文件名/目标目录名]

    举例:

         mv a.txt b.txt            #将文件a.txt更名为b.txt

         mv a.txt /home            #将文件a.txt移动到目录/home

         mv /a /b                #将目录/a移动到目录/b

    rm

      作用:删除文件/目录

      语法:rm [选项] [文件名/目录名]

      选项:-r    递归

           -f    强制性

           -v    显示详细过程

      举例:

           rm /don/a.txt             #删除目录/don下的文件a.txt

          rm -r /tmp/wwwdir          #删除目录/tmp/wwwdir,若在此目录下,只

                            删除目录下文件

          rm -rf /root/tmp           #强制删除目录/root/tmp下的所有文件

          rm -rf /*               #强制删除根目录下的所有文件,切勿使用!!!

【查看文件】

    不具备编辑

    catlessmore headtail

    cat

      选项;-A      显示换行符,行尾显示$

           -n      显示行号

           -b      空行不显示行号

      举例:

          cat /etc/passwd            #看看文件passwd的内容

          cat -n /etc/passwd          #看看文件passwd的内容,并显示行号

    more

      控制:回车-向下显示一行;空格-向下显示一页;h-搜索;q-退出

      选项:-s     多个空行合并后显示

          +[n]    从第n行开始显示

      举例:

           more +20 /etc/passwd         #从第20行开始查看passwd文件

          more –s test           #逐页显示文档内容,如有连续两行以上

                          空白则以一行空白显示

    less

      控制:回车-向下显示一行;空格-向下显示一页;h-搜索;b-回屏;q-退出

      举例:

           less /etc/passwd         #分屏显示passwd文件

 【说明】

        linux中more与less的区别

        more:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter键是向下翻一行,在不需要后退的情况下比较方便。

        less:支持前后翻滚,既可以向上翻页(pageup按键),也可以向下翻页(pagedown按键)。,空格键是向下翻页,Enter键是向下翻一行

    head

      作用:显示文件前几行内容

      参数:-[n]    查看文件前n行内同,不加参数默认前十行

      举例:

           head /etc/passwd            #查看文件passwd前十行内容

           head -5 /etc/passwd          #查看文件passwd5行内容

    tail

      作用:显示文件后几行内容

      参数:-[n]    查看文件后n行内同,不加参数默认后十行

      选项:-f     动态显示数据(不关闭),常用于查看日志

      举例:

           tail /etc/passwd            #查看文件passwd后十行内容

           tail -5 /etc/passwd          #查看文件passwd5行内容

【拓展】

    dos2unix   将Windows格式的文件转换成Unix格式

    unix2dos   将Unix格式的文件转换成Windows格式

    #unix2dos file1

    #dos2unix file2

【实战1】

    xfs文件系统备份和恢复,基于RHEL6.5完成

        XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据。xfsdump 按inode顺序备份一个XFS文件系统。与传统的UNIX文件系统不同,XFS不需要在dump前被卸载;对使用中的XFS文件系统做dump就可以保证镜像的一致性。这与XFS对快照的实现不同,XFS的dump和restore的过程是可以被中断然后继续的,无须冻结文件系统。xfsdump 甚至提供了高性能的多线程备份操作——它把一次dump拆分成多个数据流,每个数据流可以被发往不同的目的地。

 

                准备一个测试分区

                [root@xuegod60 ~]# fdisk/dev/sda                             #指定分区的设备

                Welcome to fdisk (util-linux2.23.2).

 

                Changes will remain in memoryonly, until you decide to write them.

                Be careful before using thewrite command.

 

 

                Command (m for help): n                                                   #创建一个新的分区

                Partition type:

                   p  primary (2 primary, 0 extended, 2 free)                     #创建主分区

                   e  extended                                                                       #创建扩展分区

                Select (default p):

                Using default response p

                Partition number (3,4, default3):                                        #指定分区号

                First sector(25593856-41943039, default 25593856):       #指定分区的开始柱面

                Using default value 25593856

                Last sector, +sectors or+size{K,M,G} (25593856-41943039, default 41943039): +1G  #指定分区大小

                Partition 3 of type Linux andof size 1 GiB is set

 

                Command (m for help): p                                                     #打印分区表

 

                Disk /dev/sda: 21.5 GB,21474836480 bytes, 41943040 sectors

                Units = sectors of 1 * 512 =512 bytes

                Sector size(logical/physical): 512 bytes / 512 bytes

                I/O size (minimum/optimal):512 bytes / 512 bytes

                Disk label type: dos

                Disk identifier: 0x00083333

 

                   Device Boot      Start         End      Blocks  Id  System

                /dev/sda1   *       2048      411647      204800  83  Linux

                /dev/sda2          411648    25593855   12591104   8e  Linux LVM

                /dev/sda3        25593856    27691007    1048576   83  Linux

 

                Command (m for help): w                                            #保存

                The partition table has beenaltered!

 

                Calling ioctl() to re-readpartition table.

 

                WARNING: Re-reading thepartition table failed with error 16: Device or resource busy.

                The kernel still uses the oldtable. The new table will be used at

                the next reboot or after yourun partprobe(8) or kpartx(8)

                Syncing disks.

 

                重新获取分区表

                [root@xuegod60 ~]# ls/dev/sda*

                /dev/sda  /dev/sda1 /dev/sda2

                [root@xuegod60 ~]# partprobe/dev/sda

                [root@xuegod60 ~]# ls/dev/sda*

                /dev/sda  /dev/sda1 /dev/sda2  /dev/sda3

 

                格式化分区,并进行挂载

                [root@xuegod60 ~]# mkfs.xfs/dev/sda3                             #格式化分区

                [root@xuegod60 ~]# mkdir /sda3                                       #创建挂载点

                [root@xuegod60 ~]# mount/dev/sda3  /sda3/                  #挂载

 

                准备备份测试文件

                [root@xuegod60 ~]# cp/etc/passwd /sda3/

                [root@xuegod60 ~]# mkdir/sda3/test

 

                [root@xuegod60 ~]# ls /sda3/

                passwd  test

 

                1)对整个分区进行备份

 

                [root@xuegod60 ~]#xfsdump -f /opt/dump_sda3 /sda3

                注意:备份的设备这里不能写成/sda3/

                xfsdump: using filedump (drive_simple) strategy

                xfsdump: version 3.1.4(dump format 3.0) - type ^C for status and control

 

 ============================= dump labeldialog ==============================

 

                please enter label forthis dump session (timeout in 300 sec)

                 -> dump_sda3

                #指定备份标签

                session label entered:"dump_sda3"

 

 --------------------------------- end dialog---------------------------------

 

                xfsdump: level 0 dumpof xuegod60.cn:/sda3

                xfsdump: dump date: ThuJan 28 22:01:25 2016

                xfsdump: session id:29356f1f-8957-4fe0-ad70-2ae087f27abe

                xfsdump: session label:"dump_sda3"

                xfsdump: ino map phase1: constructing initial dump list

                xfsdump: ino map phase2: skipping (no pruning necessary)

                xfsdump: ino map phase3: skipping (only one dump stream)

                xfsdump: ino mapconstruction complete

                xfsdump: estimated dumpsize: 25536 bytes

                xfsdump:/var/lib/xfsdump/inventory created

 

 ============================= media labeldialog =============================

 

                please enter label formedia in drive 0 (timeout in 300 sec)

                -> media0

                 #指定设备标签

                media label entered:"media0"

 

 --------------------------------- end dialog---------------------------------

 

                xfsdump: creating dumpsession media file 0 (media 0, file 0)

                xfsdump: dumping inomap

                xfsdump: dumpingdirectories

                xfsdump: dumpingnon-directory files

                xfsdump: ending mediafile

                xfsdump: media filesize 24232 bytes

                xfsdump: dump size(non-dir files) : 2592 bytes

                xfsdump: dump complete:48 seconds elapsed

                xfsdump: Dump Summary:

                xfsdump:   stream 0 /opt/dump_sda3 OK (success)

                xfsdump: Dump Status:SUCCESS

 

                非交互式进行备份

                [root@xuegod60 ~]#xfsdump -f /opt/dump_sda3 /sda3 -L dump_sda3 -M media0

 

                针对指定文件或目录进行备份

                [root@xuegod60 ~]# xfsdump-f /opt/dump_sda3_passwd -s passwd /sda3 -L dump_sda3_passwd -M media1

 

                注意:passwd /sda3中间有空格,前后都不能加“/”

 

                查看备份文件是否生成

                [root@xuegod60 opt]# ls

                dump_sda3  dump_sda3_passwd  dump_sda3_test_passwd

 

                克隆目录到另外一个目录

                [root@xuegod60 ~]#xfsdump - /sda3 | xfsrestore - /data/

                克隆指定的目录

                [root@xuegod60 ~]#xfsdump - -s test /sda3  | xfsrestore -/data/

 

                查看备份信息

                [root@xuegod60 ~]#xfsdump -I

                file system 0:

                        fs id:          cece719c-2e76-4970-9321-1bd5528c14d5

                        session 0:

                                mount point:    xuegod60.cn:/sda3

                                device:         xuegod60.cn:/dev/sda3

                                time:           Thu Jan 28 22:01:25 2016

                                session label:  "dump_sda3"

                                session id:     29356f1f-8957-4fe0-ad70-2ae087f27abe

                                level:          0

                                resumed:        NO

                                subtree:        NO

                                streams:        1

                                stream 0:

                                        pathname:       /opt/dump_sda3

 

                文件系统恢复

                首先,模拟数据被删除

                [root@xuegod60 ~]# rm-rf /sda3/*

                恢复

                [root@xuegod60 ~]#xfsrestore -f /opt/dump_sda3 /sda3/

                只恢复单个的目录或文件

                [root@xuegod60 ~]#xfsrestore -f /opt/dump_sda3_passwd  -stest /sda3/

 

                恢复之前查看备份文件的内容

                [root@xuegod60 opt]#xfsrestore -f /opt/dump_sda3 -t


【实战2】

    配置服务器来电后自动开机 F2


    实验步骤

       开机按首先按Del   F2进入BIOS

wKiom1cWSTewyPD0AAMMDlxGgtE492.jpg


       选择Integrated Peripharals中的SuperIO Device超级IO设备

wKiom1cWSWuC-FIAAAJD52xYN4Q736.jpg


       将其中的Restore On AC Power Loss选项修改:Power On   通过AC电源进行重启

wKiom1cWSYrRL7vUAAJyLXwFPys811.jpg


            (若要加电不开机选择PowerOff,若要加电之前断电状态选择Last State-保持最后运行的状态)

                选择power On

wKiom1cWSeXQ3l0RAAKsWj67Mao177.jpg


                    最后按F10保存退出即可


    最后是不是有些失望呢?这服务器的来电自动开机,居然和普通PC机的来电开机设置一样样的。是的,这就是服务器的来电自动开机。哈哈~这可是高达上的技术服务呢!