Linux磁盤管理與文件系統

?    本篇內容如下:

            1、硬盤結構

            2、磁盤分區類型

            3、管理分區

            4、文件系統

            5、掛載


一、硬盤結構

    以下只針對機械硬盤。

Linux磁盤管理與文件系統

     通過電機轉動,主軸開始旋轉,主軸上的磁盤也跟著轉動,每個磁盤有兩個盤面,磁臂上磁頭通過盤面來讀取或者存儲計算機上的數據。

    1、硬盤存儲術語

        盤面:每個磁盤有兩個盤面      

        磁頭:有幾個磁頭就有幾個盤面

        磁道:磁頭不動時隨著主軸轉動畫出的圓形軌跡

        扇區:每個扇區一般為512字節

        柱面:每個盤面劃分出相等的磁道,由編號相同的磁道生成的圓柱體

    2、設備文件

        磁盤設備的設備文件命名:/dev/DEV_NAME

            IDE:/dev/hd

            SISC,SAST,SAS,USB:/dev/sd

                不同設備a-z

                    /dev/sda,/dev/sdb

                同一設備的不同分區:1,2,3,4…

                    /dev/sda1,/dev/sda2,/dev/sda3


二、磁盤分區

    1)為什么要給磁盤分區,因為給磁盤分區后,可以方便我們的管理,總結一下有以下優點:

        1、優化I/O性能

        2、實現空間配額限制

        3、提高修復速度

        4、隔離系統和程序

        5、安裝多個OS

    2)兩種分區方式:MBR與GPT

        在說MBR結構之前先說一下CHS的尋址方式,C:Cylinder柱面,H:heads磁頭,S:Sector扇區。這三種的取值范圍分別為0到Cylinder-1,0到Heads-1,1-Sector(注意:扇區是從1開始)

        

    MBR硬盤分區結構圖如下

Linux磁盤管理與文件系統

        在磁盤起始處,也就是0磁頭的0柱面第一個扇區為MBR,大小為512個字節,單獨剖開MRB來看,其中分為3部分:前446字節為主引導程序,中間64個字節為主分區表,后面兩個字節為標識位,為55 AA,如果其內容被修改,則分區表的顯示可能就會出現問題。

        1、前446字節為主引導程序,系統啟動時用來引導系統找到活動分區,啟動系統

        2、中間64個字節可細分為四個16字節。即每16字節表示一個分區

            16字節中:

                第1個字節表示此分區是否為活動分區,80表示為活動,00為非活動。

                第2-4字節表示CHS尋址的起始位置

                第5個字節表示該分區的類型,如83為inux Swap 分區,8e為LVM類型。如果為0表示未使用

                第6-8字節表示CHS尋址的結束位置

                第9-12字節表示LBA尋址的起始位置

                第12-16字節表示LBA尋址的結束位置

           LBA尋址方式:即Logical BlockAddressing,邏輯塊尋址模式。在CHS尋址方式中,因為角速度相同,所以盤片內部的磁道的性能遠不如磁盤外部的性能,為了改善這種情況,人們改用等密度結構生產硬盤,也就是說外圈磁道的扇區比內圈的多,而采用這個結構后便不再能夠像以前那樣使用CHS的尋址方式,只能改為LBA方式,所以上述的
LBA就是此意。

        3、后面2個字節為表示位,通常為55 AA,如果這兩個字節被破壞,則分區表顯示會有問題

    上面所說的中間64字節為主分區表,但如果有擴展分區,擴展分區大家都知道,可以繼續的分為許多個邏輯分區,不過這些邏輯分區都只能在擴展分區的地界進行劃分。而在上面所說的16字節中,并不能顯示每個邏輯分區的地址界限,只能把整個的擴展分區的界限給顯示出來。

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

        擴展分區

            如上面MBR分區方式圖所示,擴展分區的第一個扇區也有類似于MBR的一種結構,其名為EBR,也占有512個字節。

            1、前446字節為空,只是為了與MBR結構一致

            2、中間64字節也分為四個16字節

                第一個16字節結構類似于MBR,并指向第一個邏輯分區

                第二個16字節指向的是第二個EBR,以此循環

                后面32個字節暫時未被使用。

    GPT分區

      
 GPT:GUID patition table 支持128個分區,使用64位,支持8Z(512Byte/block )64Z
(4096Byte/block),使用128位UUID 表示磁盤和分區GPT分區表自動備份在頭和尾兩份,并有CRC校驗位,UEFI
(統一擴展固件接口)硬件支持GPT,結構如下圖所示

        基本上可以分為六個部分:

            1、Protect MBR,用來保護分區,因為傳統的分區方式不識別GPT分區,需要填充上傳統MBR的標識位即55 AA。

            2、GPT信息頭部

            3、GPT分區表

            4、GPT分區

            5、GPT的備份區域

            6、GPT的備份區頭部

Linux磁盤管理與文件系統


三 管理分區

    1)創建分區

        創建分區使用:
            ?fdisk創建MBR分區,也支持GPT,對于一塊硬盤,最多只能管理15分區
            ?gdisk創建GPT分區
            ?GNU parted高級分區操作(創建、復制、調整大小等等)



    分區工具fdisk和gdisk使用操作相似,下面舉例fdisk

        # fdisk -l [-u] [device…]
        子命令:
        p 分區列表
        t 更改分區類型
        n 創建新分區
        d 刪除分區
        w 保存并退出
        q 不保存并退出

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

   2)同步分區表

        有些時候雖然已經對磁盤作出了操作,但是內存和磁盤并不同步,所以需要通知內存重讀磁盤信息,保持信息的同步性。

Linux磁盤管理與文件系統


Linux磁盤管理與文件系統 Linux磁盤管理與文件系統  

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統


        注意:在CentOS 5,7上使用partprobe,CentOS 6上使用partprobe卻是不管用,所以CentOS6上使用partx -a DISK_NAME

    3)parted命令

        parted的操作都是實時生效的,小心使用,下面演示的利用parted命令創建gpt類型并分區

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統

Linux磁盤管理與文件系統


四 文件系統

    何為文件系統?文件系統是操作系統用于明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件信息的軟件結構稱為文件管理系統,簡稱文件系統。

    Block:Linux文件系統存儲數據的最小單位,分為1K,2K和4K。

    超級塊:超級塊作用是存儲文件系統的大小,空閑block以及inode數量等等諸如此類的信息,要使用一個分區來進行數據訪問,那么第一個要訪問的就是超
級塊,所以,如果超級塊壞了,那磁盤也就無法訪問了。所以為了防止超級塊數據被破壞,則需要對超級塊僅進行數據備份,以便于損壞時修復

    1)文件系統類型

        Linux文件系統: ext2, ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap
        光盤:iso9660
        Windows:fat32, ntfs
        Unix: FFS(fast), UFS(unix), JFS2
        網絡文件系統:NFS, CIFS
        集群文件系統:GFS2, OCFS2(oracle)
        分布式文件系統:ceph, moosefs, mogilefs, glusterfs, Lustre
        RAW:未經處理或者未經格式化產生的文件系統

        

        文件系統分類:

            根據其是否支持"journal"功能:
                日志型文件系統: ext3, ext4, xfs, …
                非日志型文件系統: ext2, vfat
        文件系統的組成部分:
            內核中的模塊:ext4, xfs, vfat
            用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
        Linux的虛擬文件系統:VFS

            Linux通過VFS來支持多樣化的文件系統          

    2)創建文件系統

        mkfs命令:
        (1) # mkfs.FS_TYPE   /dev/DEVICE
        FS_TYPE:btrfs   cramfs  ext2   ext3   ext4  fat   minix  msdos  vfat   xfs

    

[root@localhost ~]# mkfs.ext2 /dev/sdb1   //創建ext2類型的文件系統
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)            //塊大小為1024
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
124928 inodes, 499712 blocks
24985 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
61 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:     //超級塊存儲在
    8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

            mke2fs:ext系列文件系統專用管理工具
            -t {ext2|ext3|ext4}
            -b {1024|2048|4096}
            -L 'LABEL'
            -j: 相當于-t ext3
            mkfs.ext3 = mkfs-t ext3 = mke2fs -j = mke2fs -t ext3
            -i#: 為數據空間中每多少個字節創建一個inode;此大小不應該小于block的大小
            -N #:為數據空間創建個多少個inode
            -m #: 默認5%,為管理人員預留空間占總空間的百分比
            -O FEATURE[,…]:啟用指定特性
            -O ^FEATURE:關閉指定特性

[root@localhost ~]# mke2fs -t ext4 /dev/sdb5 //創建ext4文件系統
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)            //塊大小為1K
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
4016 inodes, 16032 blocks
801 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=16515072
2 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks: 
    8193

Writing inode tables: done                            
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost ~]# mke2fs -t ext4 -b 4096 /dev/sdb5 //指定塊大小為4K
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)                //塊大小為4K
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4032 inodes, 4008 blocks
200 blocks (4.99%) reserved for the super user
First data block=0
1 block group
32768 blocks per group, 32768 fragments per group
4032 inodes per group

Writing inode tables: done                            
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override

        

    3)文件系統標簽

        指向設備的另一種方法

        blkid:塊設備屬性信息查看
            blkid[OPTION]… [DEVICE]
            -U UUID: 根據指定的UUID來查找對應的設備
            -L LABEL:根據指定的LABEL來查找對應的設備

Linux磁盤管理與文件系統

            e2label:管理ext系列文件系統的LABEL
            # e2label DEVICE [LABEL]

Linux磁盤管理與文件系統

            tune2fs:重新設定ext系列文件系統可調整參數的值

                -l:查看指定文件系統超級塊信息;super block

                -L 'LABEL':修改卷標

                -m #:修預留給管理員的空間百分比

                -j: 將ext2升級為ext3

                -O: 文件系統屬性啟用或禁用,–O ^has_journal

                -o: 調整文件系統的默認掛載選項,–o ^acl

                -U UUID: 修改UUID號;

[root@localhost ~]# tune2fs -l /dev/sdb1  //查看/dev/sdb1的超級塊
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   xiaoshui        //卷標
Last mounted on:          <not available>
Filesystem UUID:          4fb146b1-4147-4a43-b023-2d9deb17cc97
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              124928    //Inode數量
Block count:              499712    //Block數量
Reserved block count:     24985     //block保留數,供管理員使用
Free blocks:              481628    //空閑block塊
Free inodes:              124917    //空閑inode數量
First block:              1        //第一個block塊
Block size:               1024      //block大小
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192        //每一個組的block數量
Fragments per group:      8192
Inodes per group:         2048        //每一個組的inode
Inode blocks per group:   256
Filesystem created:       Fri Aug 26 20:45:25 2016
Last mount time:          n/a
Last write time:          Sat Aug 27 12:09:21 2016
Mount count:              0
Maximum mount count:      -1
Last checked:             Fri Aug 26 20:45:25 2016
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:              128
Default directory hash:   half_md4
Directory Hash Seed:      b6445eaa-a42d-45a0-8411-d4176ac8cb29


[root@localhost ~]# tune2fs -L dashui /dev/sdb1 //修改/dev/sdb1的卷標為dashui
tune2fs 1.42.9 (28-Dec-2013)
[root@localhost ~]# e2label /dev/sdb1             //查看/dev/sdb1的卷標
dashui                            //修改成功

        dumpe2fs:
            -h:查看超級塊信息(分組信息),分區用分組管理

[root@localhost ~]# dumpe2fs -h /dev/sdb1 //使用dumpe2fs查看/dev/sdb1的超級塊信息
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   dashui
Last mounted on:          <not available>
Filesystem UUID:          4fb146b1-4147-4a43-b023-2d9deb17cc97
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              124928
Block count:              499712
Reserved block count:     24985
Free blocks:              481628
Free inodes:              124917
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2048
Inode blocks per group:   256
Filesystem created:       Fri Aug 26 20:45:25 2016
Last mount time:          n/a
Last write time:          Sat Aug 27 12:41:34 2016
Mount count:              0
Maximum mount count:      -1
Last checked:             Fri Aug 26 20:45:25 2016
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:              128
Default directory hash:   half_md4
Directory Hash Seed:      b6445eaa-a42d-45a0-8411-d4176ac8cb29

[root@localhost ~]#

    4)文件系統檢測和修復

        fsck: File System Check
            fsck.FS_TYPE
            fsck-t FS_TYPE
            -a: 自動修復錯誤
            -r: 交互式修復錯誤

            注意: FS_TYPE一定要與分區上已經文件類型相同;

        e2fsck:ext系列文件專用的檢測修復工具
            -y:自動回答為yes
            -f:強制修復

            常發生于死機或者非正常關機之后,掛載為文件系統標記為“dirty”


五  掛載文件系統

    掛載:將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為

    卸載:解除目錄與設備的聯系

    掛載方法:mount DEVICE MOUNT_POINT

    mount [-fnrsvw] [-t vfstype] [-o options] device dir
        device:指明要掛載的設備;
        (1) 設備文件:例如/dev/sda5
        (2) 卷標:-L 'LABEL', 例如-L 'MYDATA'
        (3) UUID, -U 'UUID':例如-U '0c50523c-43f1-45e7-85c0-a126711d406e'
        (4) 偽文件系統名稱:proc, sysfs, devtmpfs, configfs

[root@localhost ~]# blkid    //通過blkid查找到/dev/sdb5的UUID
/dev/sda1: UUID="7bbc50de-dfee-4e22-8cb6-04d8520b6422" TYPE="ext4" 
/dev/sda2: UUID="f8yBR5-kH5W-QQB7-3kx4-9Sl1-daC1-k4xGHV" TYPE="LVM2_member" 
/dev/sdb5: UUID="a7dc763f-64ee-4d4d-902b-7f6017469ddc" TYPE="ext4" 
/dev/mapper/vg0-root: UUID="42a67ff2-4ca0-4610-8e13-57311331ad02" TYPE="ext4" 
/dev/mapper/vg0-swap: UUID="e4b0968e-544e-4112-b3ec-3c4cc5fdb9dd" TYPE="swap" 
/dev/mapper/vg0-usr: UUID="087ba9d3-997f-4465-a215-a090ab248e14" TYPE="ext4" 
/dev/mapper/vg0-var: UUID="2c0ff242-1422-429a-8671-a644f85a6f8e" TYPE="ext4" 
/dev/sdb1: UUID="0e5b443a-00e6-4726-b2b5-de3d48192e89" TYPE="ext4" 
[root@localhost ~]# mount  exta9e16e39-4904-4e7f-9552-aba4bc39bc3b /testdir/
mount: you must specify the filesystem type
[root@localhost ~]# mount  -U exta9e16e39-4904-4e7f-9552-aba4bc39bc3b /testdir/
mount: no such partition found
[root@localhost ~]# mount -U a7dc763f-64ee-4d4d-902b-7f6017469ddc /testdir/ //通過UUID掛載
[root@localhost ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg0-root  20511356  421188  19041592   3% /
tmpfs                   502068       0    502068   0% /dev/shm
/dev/sda1               194241   34122    149879  19% /boot
/dev/mapper/vg0-usr   10190136 2257696   7408152  24% /usr
/dev/mapper/vg0-var   20511356  156172  19306608   1% /var
/dev/sdb5                14497     138     13558   2% /testdir

     dir:掛載點
     事先存在;建議使用空目錄
     進程正在使用中的設備無法被卸載

[root@localhost ~]# mount   //查看當前已掛載的所有設備
/dev/mapper/vg0-root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg0-usr on /usr type ext4 (rw)
/dev/mapper/vg0-var on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

    Mount常用選項:

        -t vsftype:指定要掛載的設備上的文件系統類型        
        -r: readonly,只讀掛載
        -w: read and write, 讀寫掛載
        -n: 不更新/etc/mtab,相當于#mount
        -a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有auto功能)
        -L 'LABEL': 以卷標指定掛載設備
        -U 'UUID': 以UUID指定要掛載的設備
        -B, –bind: 綁定目錄到另一個目錄上
        查看內核追蹤到的已掛載的所有設備:
            cat /proc/mounts

        -o options:(掛載文件系統的選項),多個選項使用逗號分隔
            async:異步模式
            sync:同步模式,內存更改時,同時寫磁盤
            atime/noatime:包含目錄和文件
            diratime/nodiratime:目錄的訪問時間戳
            auto/noauto:是否支持自動掛載,是否支持-a選項
            exec/noexec:是否支持將文件系統上運行應用程序
            dev/nodev:是否支持在此文件系統上使用設備文件
            suid/nosuid:不否支持suid和sgid權限
            remount:重新掛載
            ro:只讀
            rw:讀寫
            user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載
            acl:啟用此文件系統上的acl功能
            Defaults:相當于rw, nosuid, dev, exec, auto, nouser, async

[root@localhost ~]# mkdir /testdir
mkdir: cannot create directory `/testdir': File exists
[root@localhost ~]# cd testdir/
[root@localhost testdir]# ls
[root@localhost testdir]# cd /
[root@localhost /]# mount -r /dev/sdb1 /testdir/ //掛在只讀文件系統
[root@localhost /]# cd /testdir/
[root@localhost testdir]# touch fi
touch: cannot touch `fi': Read-only file system //系統提示不能創建fi,因為是只讀文件系統
[root@localhost testdir]# 

[root@localhost testdir]# umount /dev/sdb1 //卸載/dev/sdb1,因為當前在它的掛在目錄下,所以提示報錯
umount: /testdir: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@localhost testdir]# cd
[root@localhost ~]# umount /dev/sdb1    //更改目錄后再次卸載,卸載成功
[root@localhost ~]# mount -w /dev/sdb1 /testdir/ //讀寫掛載
[root@localhost ~]# cd /testdir/
[root@localhost testdir]# touch f1    //創建文件f1
[root@localhost testdir]# ls            //創建成功
f1  lost+found
[root@localhost ~]# mount -o remount,ro /dev/sdb1 //remount重新掛載只讀文件系統
[root@localhost ~]# cd /testdir/
[root@localhost testdir]# ls
f1  lost+found
[root@localhost testdir]# touch f2
touch: cannot touch `f2': Read-only file system //重新掛載成功,顯示不能Read-only

    卸載命令:

        查看掛載情況:

            #findmntMOUNT_POINT

[root@localhost ~]# findmnt
TARGET                       SOURCE               FSTYPE      OPTIONS
/                            /dev/mapper/vg0-root ext4        rw,relatime,barrier=1,data=ordered
├─/proc                      proc                 proc        rw,relatime
│ ├─/proc/bus/usb            /proc/bus/usb        usbfs       rw,relatime
│ └─/proc/sys/fs/binfmt_misc                      binfmt_misc rw,relatime
├─/sys                       sysfs                sysfs       rw,relatime
├─/dev                       devtmpfs             devtmpfs    rw,relatime,size=487784k,nr_inodes=121946,mode=755
│ ├─/dev/pts                 devpts               devpts      rw,relatime,gid=5,mode=620,ptmxmode=000
│ └─/dev/shm                 tmpfs                tmpfs       rw,relatime
├─/boot                      /dev/sda1            ext4        rw,relatime,barrier=1,data=ordered
├─/usr                       /dev/mapper/vg0-usr  ext4        rw,relatime,barrier=1,data=ordered
├─/var                       /dev/mapper/vg0-var  ext4        rw,relatime,barrier=1,data=ordered
├─/misc                      /etc/auto.misc       autofs      rw,relatime,fd=7,pgrp=1872,timeout=300,minproto=5,maxproto=5,indirect
├─/net                       -hosts               autofs      rw,relatime,fd=13,pgrp=1872,timeout=300,minproto=5,maxproto=5,indirect
└─/testdir                   /dev/sdb5            ext4        rw,relatime,barrier=1,data=ordered

        查看正在訪問指定文件系統的進程:

            #lsofMOUNT_POINT

            #fuser -v MOUNT_POINT

        終止所有在正訪問指定的文件系統的進程:

            # fuser -km MOUNT_POINT

        卸載:

            # umountDEVICE

            # umountMOUNT_POINT

Linux磁盤管理與文件系統


                                                                                        謝謝瀏覽…..

原創文章,作者:我的滑板鞋,如若轉載,請注明出處:http://www.www58058.com/40514

(2)
我的滑板鞋我的滑板鞋
上一篇 2016-08-29 08:49
下一篇 2016-08-29 08:49

相關推薦

  • HipHop PHP實戰(詳解web運行模式)

    Note: These code examples assume the HipHop compiler is fully built. 1 . Setting Up Your Environment (構建環境) To get started, you need to configure two environment variables. cd…

    Linux干貨 2015-04-10
  • 第三章 Linux文件系統初步

    用戶界面:      可分為兩種GUI和CLI         GUI(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計算機操作用戶界面。 GNOME(英語發音:/ɡ?no?m/或英語發音:/…

    Linux干貨 2016-06-03
  • bash特性、bash編程

    bash基礎特性: 命令行展開:~,{} 命令別名:alias,unalias 命令歷史:history 命令和路徑補全:$PATH glob通配符:*,?,[],[^], 快捷鍵:Ctrl+{a,e,l,c,u,k} 命令hash:   bash通配符及特殊符號: 通配符: ?:任意一個字符; *:匹配任意個任意字符; []:匹配括號內的任意一個…

    Linux干貨 2018-03-21
  • N26_第二周

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 a 文件查看類  cat tac  head  tail more  less b 文件操作類  touch cp  mv  rm more命令:   &nbsp…

    2017-05-26
  • 正則表達式字符集

    POSIX Description ASCII Unicode Shorthand Java [:alnum:] Alphanumeric characters [a–zA–Z0–9] [\p{L}\p{Nl}  \p{Nd}] \p{Alnum} [:alpha:] Alphabetic characters …

    Linux干貨 2017-07-07
  • 第九周-Shell腳本編程

      1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash nologin=0 login=0 for i in `cut -d : -f 7 /etc/passwd`;do if [ $i = /sbin/n…

    Linux干貨 2017-08-23

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-29 13:20

    文章結構清晰,思路完整,圖文并貌,通過理論結合實踐對所學知識進行了很好的整理和練習,建議將練習過程總遇到的問題羅列出來,通過自己的獨立思考,將其總結成自己的經驗。

欧美性久久久久