1、文件系統(tǒng)簡介
Linux文件系統(tǒng)是不斷發(fā)展不斷演進的守问,大致分為以下幾個階段
基礎的Linux文件系統(tǒng)
主要代表: ext文件系統(tǒng)、ext2文件系統(tǒng)
日志文件系統(tǒng)
主要代表:ext3文件系統(tǒng)箕速、ext4文件系統(tǒng)酪碘、Reiser文件系統(tǒng)朋譬、JFS文件系統(tǒng)盐茎、XFS文件系統(tǒng)
寫時復制文件系統(tǒng)
主要代表:ZFS文件系統(tǒng)、Btrf文件系統(tǒng)
具體的介紹自行百度
2徙赢、操作文件系統(tǒng)
我們可以安裝自己想要的文件操作系統(tǒng)字柠,通過命令行就可以探越,但是安裝之前,要對存儲設備進行分區(qū)窑业,有一個fdisk工具可以幫助完成設備的分區(qū)
可以通過命令fdisk
查看該工具用法
例:
[root@jdu4e00u53f7 ~]# fdisk
用法:
fdisk [選項] <磁盤> 更改分區(qū)表
fdisk [選項] -l <磁盤> 列出分區(qū)表
fdisk -s <分區(qū)> 給出分區(qū)大小(塊數(shù))
選項:
-b <大小> 扇區(qū)大小(512钦幔、1024、2048或4096)
-c[=<模式>] 兼容模式:“dos”或“nondos”(默認)
-h 打印此幫助文本
-u[=<單位>] 顯示單位:“cylinders”(柱面)或“sectors”(扇區(qū)常柄,默認)
-v 打印程序版本
-C <數(shù)字> 指定柱面數(shù)
-H <數(shù)字> 指定磁頭數(shù)
-S <數(shù)字> 指定每個磁道的扇區(qū)數(shù)
分區(qū)后鲤氢,每個區(qū)塊有自己固定的大小,然后就可以在這個區(qū)塊上安裝文件系統(tǒng)
Linux系統(tǒng)自帶可很多安裝文件系統(tǒng)的工具西潘,這些工具分別對應安裝不同的文件系統(tǒng)
工具 | 用途 |
---|---|
mkefs | 創(chuàng)建一個ext文件系統(tǒng) |
mke2fs | 創(chuàng)建一個ext2文件系統(tǒng) |
mkfs.ext3 | 創(chuàng)建一個ext3文件系統(tǒng) |
mkfs.ext4 | 創(chuàng)建一個ext4文件系統(tǒng) |
mkreiserfs | 創(chuàng)建一個ReiserFS文件系統(tǒng) |
jfs_mkfs | 創(chuàng)建一個JFS文件系統(tǒng) |
mkfs.xfs | 創(chuàng)建一個XFS文件系統(tǒng) |
mkfs.zfs | 創(chuàng)建一個ZFS文件系統(tǒng) |
mkfs.btrfs | 創(chuàng)建一個BtrFS文件系統(tǒng) |
這些工具在/sbin目錄下卷玉,可以通過ls /sbin/
查看有哪些可用的工具
也可以用type
命令查看某個工具是否可用
例:
[root@jdu4e00u53f7 ~]# type mkfs.ext4
mkfs.ext4 是 /usr/sbin/mkfs.ext4
[root@jdu4e00u53f7 ~]# type mkfs.zfs
-bash: type: mkfs.zfs: 未找到
*注意 這些工具都是可以安裝的,后面會介紹
大部分工具通過簡單的命令就可以在分區(qū)上創(chuàng)建文件系統(tǒng)
至于具體的怎么查看磁盤名稱->創(chuàng)建分區(qū)->在分區(qū)上創(chuàng)建文件系統(tǒng)->掛載到虛擬目錄下喷市,這里不詳細介紹相种,這里有一個阿里云的文檔,大家可以看看品姓,很詳細Linux 格式化和掛載數(shù)據(jù)盤
文件系統(tǒng)的檢查與修復 fsck
fsck
命令能夠檢查大部分的Linux文件系統(tǒng)寝并,文件系統(tǒng)可以通過設備名、在虛擬目中的掛載點以及分配給文件系統(tǒng)的唯一UUID來引用腹备,fsck
有許多參數(shù)衬潦,具體的不做過多介紹,百度一下
*注意 掛載的文件系統(tǒng)是不能運行fsck
命令的植酥,對于大多數(shù)文件系統(tǒng)需要先卸載文件系統(tǒng)在檢查别渔,檢查完在從新掛載上去
3、邏輯卷管理
首先說一下邏輯卷的作用惧互,當我們辛辛苦苦的對硬盤進行了分區(qū)哎媚,并在分區(qū)上創(chuàng)建了文件系統(tǒng),用著用著發(fā)現(xiàn)喊儡,分區(qū)的大小不夠用了拨与,這時如果再創(chuàng)建大分區(qū)、再在分區(qū)上創(chuàng)建文件系統(tǒng)艾猜,是很痛苦的事情买喧,邏輯卷的存在可以決絕這個問題,邏輯卷可以為已有的文件系統(tǒng)添加分區(qū)匆赃,這樣就可以節(jié)省很多問題
簡單說下邏輯卷的工作原理淤毛,以下圖為例
從圖中可以看出,所有的物理硬盤在分區(qū)后會被組合成一個卷組算柳,卷組可以分成不同的邏輯卷低淡,每一個邏輯卷可以格式化成想要的文件系統(tǒng),然后掛載到虛擬目錄中的某個位置
用Linux中的LVM工具可以幫助完成這一套結(jié)構的搭建,具體的詳細搭建環(huán)節(jié)這里不介紹蔗蹋,大家自行學習
4何荚、安裝軟件
大部分Linux發(fā)行版都采用某種包管理系統(tǒng)過來控制軟件和庫的安裝
Linux系統(tǒng)上有一個PMS工具,里面記錄了Linux中剛已經(jīng)安裝了什么軟件包猪杭、每個包安裝了什么文件餐塘、每個已安裝軟件包的版本
不同的發(fā)行版Linux基于PMS有自己的軟件管理工具,主流的管理軟件包有aptitude(基于Debian的系統(tǒng))皂吮、yum(基于Red Hat的系統(tǒng))戒傻、urpm(基于Red Hat的系統(tǒng))、zypper(基于Red Hat的系統(tǒng))蜂筹,下面簡單介紹一下yum的用法
首先你的系統(tǒng)上要已經(jīng)安裝了yum工具稠鼻,才能做下面的操作
yum list installed
列出系統(tǒng)上已經(jīng)安裝的包
yum list xterm
查看xterm包的信息(該包不一定安裝在系統(tǒng)上)
例:
[root@jdu4e00u53f7 ~]# yum list xterm
Loading mirror speeds from cached hostfile
* epel: mirror01.idc.hinet.net
可安裝的軟件包
xterm.x86_64
yum list installed xterm
該命令可顯示出包xterm是否已安裝
例:
[root@jdu4e00u53f7 ~]# yum list installed xterm
Loading mirror speeds from cached hostfile
* epel: mirror01.idc.hinet.net
錯誤:沒有匹配的軟件包可以列出
yum provides /etc/yum.conf
查看某個文件屬于哪個包
例:
[root@jdu4e00u53f7 ~]# yum provides /etc/yum.conf
Loading mirror speeds from cached hostfile
* epel: mirror01.idc.hinet.net
yum-3.4.3-150.el7.centos.noarch : RPM package installer/updater/manager
源 :base
匹配來源:
文件名 :/etc/yum.conf
yum-3.4.3-150.el7.centos.noarch : RPM package installer/updater/manager
源 :@base
匹配來源:
文件名 :/etc/yum.conf
yum install xterm
安裝xterm包
*注意 由于信息過多這里就不復制例子了,自行安裝一下狂票,看看都展示了那些信息
*注意 yum在安裝的包的同事候齿,會將包的依賴都一并安裝好,非常好用
也可手動下載安裝文件到本地闺属,然后在本地安裝
yum localinstall xterm.rpm
下載xterm安裝文件
yum list updates
列出已安裝包的可用更新
例:
[root@jdu4e00u53f7 ~]# yum list updates
Loading mirror speeds from cached hostfile
* epel: mirrors.ustc.edu.cn
更新的軟件包
centos-release.x86_64 7-3.1611.el7.centos base
kernel.x86_64 3.10.0-514.26.2.el7 updates
kernel-tools.x86_64 3.10.0-514.26.2.el7 updates
kernel-tools-libs.x86_64 3.10.0-514.26.2.el7 updates
yum update
對更新列表中的所有包進行更新
yum remove xterm
刪除xterm軟件
*注意 該命令只刪除軟件慌盯,而不刪除配置文件和數(shù)據(jù)文件
yum rease xterm
同時刪除軟件和他的所有文件
當系統(tǒng)中安裝很多軟件時,某個包的依賴關系可能被其他包的安裝覆蓋掂器,叫做損壞的包依賴關系亚皂,用下面的命令可做一些損壞修復
yum clean all
系統(tǒng)出現(xiàn)問題,可試下這個命令
yum deplist xterm
該命令可查看xterm包的所有庫依賴關系国瓮,以及什么軟件可以提供這些庫以來關系灭必,然后有針對性的修復
yum有自己的軟件倉庫,通過yum repolist
命令查看正從那些倉庫中獲取軟件
例:
[root@jdu4e00u53f7 ~]# yum repolist
Loading mirror speeds from cached hostfile
* epel: mirrors.ustc.edu.cn
源標識 源名稱 狀態(tài)
base/7/x86_64 CentOS-7 - Base - mirrors.jcloudcs.com 9,363
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 11,809
extras/7/x86_64 CentOS-7 - Extras - mirrors.jcloudcs.com 450
updates/7/x86_64 CentOS-7 - Updates - mirrors.jcloudcs.com 2,146
repolist: 23,768
[root@jdu4e00u53f7 ~]#
如果沒有自己想要的軟件乃摹,可以編輯配置/etc/yum.repos.d
文件禁漓,更改倉庫
*注意 需要添加正確的UPL,并獲得必要的加密秘鑰
*注意 一般的倉庫網(wǎng)站都會提供一個可下載的rpm文件孵睬,可以用上面介紹過的命令yum localinstall
下載安裝
除此之外播歼,還可以從源碼安裝包,但是不常用掰读,這里不過多介紹
這里有一個連接秘狞,上面有更詳細的包管理介紹Linux包管理
5、使用編輯器
對于習慣了圖形交互操作的我們蹈集,命令行中做各種文件的操作是一件很酷炫的事情烁试,在寫shell腳本之前我們要知道至少一種文本編輯器的用法,Linux中有很多編輯器拢肆,例如vim編輯器减响、nano編輯器靖诗、emacs編輯器、GHOME編輯器等辩蛋,這里推薦使用最常用的vim編輯器(當然看個人愛好選擇)
*注意 至于編輯的的用法呻畸,自行百度吧移盆,剛接觸的同學可能會有點懵悼院,慢慢習慣學習就好
基本的東西介紹的差不多了,從下一篇開始就要學習怎么編寫正式的shell腳本了