LINUX
簡介
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操作系統。
講解開始
Set位權限
爲可執行文件設置權限字符爲‘s’
其他用戶執行文件時,將擁有屬主或者屬主的權限
粘滯位權限sticky
爲公共的目錄設置權限字符爲‘t’
用戶不能刪除該目錄中其他
Set位權限和sticky位權限在設置上還有另一種方法,同樣使用8進制數字表示
因爲是附加的權限,所以在原來的三位數上又加了一位數
設置Setfacl權限即微調權限
指定的某一個用戶對某一個特定的文件或目錄有區別與他人的權限
簡單的說就是某人對某物有特權
命令:setfacl
格式:1.設置微調權限
Setfacl –m u:用戶名:權限(rwx)文件名
2.對組用戶設置微調權限
Setfacl –m g:組名:權限(rwx)文件名
3.刪除指定用戶的微調權限
Setfacl –x u:用戶名 文件名
4.刪除指定用戶的微調權限
Setfacl –x g:組名 文件名
查看指定文件權限的命令:
getfacl 文件名
應用程序與系統命令的關係
文件位置:系統命令 /bin /sbin下
應用程序/usr/bin /uer/sbin
Rpm
軟件包 是redhat公司推出的
查詢rpm軟件信息
格式:
rpm –q 子選項 軟件名
用法:結合不同的子選項完成不同的查詢
後面跟軟件名稱 查詢是否已經安裝-q
查看系統中已安裝的所以軟件-qa
查詢指定軟件的詳細信息-qi
查詢指定軟件安裝的詳細目錄列表-ql
查詢指定軟件安裝包的配置文件-qc
僅僅顯示軟件安裝包的文檔文件-qd
列出與該文件有關的依賴軟件所含的文件-qR
後面跟文件名稱 找出文件屬於哪個已安裝的軟件-qf
想查詢未安裝的軟件包的信息,首先得知道軟件包在哪裏
當前的系統中可能不存在軟件包 但是我們的rhel的光盤中 爲我們提供了一系列的軟件包 首先我們要將我們的光盤進行掛載 光盤中的packages文件夾都是紅帽爲我們提供的軟件包
掛載命令 mount
格式:
mount 硬件文件名稱 掛載目錄
硬件文件名稱的兩種方法:
/dev/sr0和/dev/cdrom
硬件設備只是一個文件 我們不能進入 所以我們要將他以一個目錄的方式掛載出來
那麼這個目錄需要我們自行創建
Umount取消掛載
格式:
umount 反掛載的設備文件名
查看是否已經掛載成功:
mount就可以查看是否掛載成功
rpm –qp
查詢未安裝的軟件包命令
格式:
rpm –qp 子選項 路徑和文件
查看詳細信息Rpm –qpi
查看目錄以及文件列表Rpm –qpl
查看配置文件Rpm –qpc
查看文檔文件Rpm –qpd
Rpm
安裝軟件 格式:
rpm 選項 rpm軟件包文件
安裝一個新的rpm軟件包-i
升級一個軟件-U
更新軟件-F
顯示安裝過程中的詳細信息-v
用#號表示安裝進度-h
忽略依賴關係--nodeps
通常格式:
rpm -ivh 掛載點/packages/程序名稱
卸載rpm軟件
格式:
rpm –e 軟件名稱
當安裝rpm數據庫損壞時需要進行數據重建 命令:
rpm --rebuilddb或者--initdb
YUM
瞭解yum配置文件的位置
/etc/yum.repos.d/ 這個目錄是用來承載yum的配置文件
電腦裏可能會有一些原有的yum配置 最好是把原來的yum配置文件先拷貝到別的地方一是安全二是可能會有衝突
創建自己的yum文件配置 創建文件並同時編輯文件內容,用到vim 注意:我們創建的yum庫的配置文件必須要有後綴.Repo
創建文件後我們進行編寫
[庫名]
Name=這裏寫yum庫的概述或名稱(隨意)
Baseurl=寫yum庫的具體位置(如果是網絡源寫成ftp:// 如果是本地源寫成file://
注意要寫根目錄)
Enabled=1或0 1代表可用 0代表不可用
Gpgcheck=0或1 0代表不盡興證書檢驗 1代表需要檢驗證書
Gpgkey=具體的證書路徑(如果gpgcheck是0則不用寫這一行)
創建yum庫目錄:去到配置文件中所寫的目錄下創建目錄
在這個目錄下放入yum的軟件包(軟件包在光盤裏)將軟件包掛載到這個目錄下
Mount /dev/sr0 庫目錄
檢驗yum源是否正確配置成功:yumlist
(將所有的軟件包都列出來)
yum安裝服務命令:
yum -y install 服務名
安裝vmtools需要先進行掛載
之後進行解壓安裝包解壓命令格式:
tar -zxvf 壓縮文件 -c /tmp
之後進行安裝:
./vmware-install.pl(一路回車)
安裝之後進行重啓
源代碼編譯安裝(編譯安裝前提:安裝VMtools 安裝gcc)
從windows用VMtools拖進linux系統中
將文件包解壓到tar -zxvf (文件名) (解壓到哪)
之後進入到文件夾中 用ll命令查看文件 應該有configure和README
使用configure來安裝文件 命令格式:
./configure --prefix=安裝路徑 使用默認配置安裝到指定路徑
用來翻譯計算機反映的信息也就是編譯
make && make install
DF
命令 查看分區信息fdisk
使用inodes來顯示結果-i
使用帶單位的方式來顯示結果-h
格式:
fdisk -選項 磁盤設備名稱或者是分區名稱
device 分區的設備文件名稱
boot 是否引導分區,是則有*標識
start 該分區在硬盤中的起始位置
end 該分區在硬盤中的結束位置
blocks 分區的大小 以blocks(塊)爲單位 默認大小爲1024字節
ld 分區類型的id標記號 對於ext3分區爲83 lvm分區爲8e
system 分區類型
available 可用的還有多少
創建分區:
命令格式:
fidisk /dev/硬盤文件路徑
刪除分區d
打印當前的菜單(幫助)m
添加一個新的分區n
打印輸出當前的分區列表p
不保存退出 不保存的情況下退出q
查看系統的idt
保存並且退出w
e 擴展分區
p 主分區
創建分區是第幾個
柱面起始點(默認是1)
柱面結束點(可以寫單位)+1G
fidisk (路徑)
n
p
1
1
+1G
n
p
2
回車
+1G
n
p
3
回車
+1G
n
e
4
回車
回車
n
回車
+1G
分區完並不能馬上使用 需要格式化分區和掛載分區
格式化命令:
mkfs -t ext4 分區設備名稱及其路徑
掛在分區命令:
mount /dev/設備名稱 掛載點(自行創建)
一個掛載點不能掛載兩個分區(雖然系統允許這個操作 會導致我們這個掛載目錄只認定最後一個掛載的分區的磁盤容量 這樣分區的意義就完全消失了 所以我們要將不同的分區掛載到不同的掛載點上去)
磁盤配額
磁盤配額是指定某個用戶對某個分區的磁盤使用限制
可以對文件的個數和磁盤的容量對用戶進行限制(磁盤配額需要使用自動掛載)
分爲軟限制和硬限制
軟限制:就是有商量的餘地 (但是寬容度不是永恆不變的)
硬限制:沒有任何的商量餘地
自動掛載: 系統中有一個文件決定了系統啓動時將會自動掛載哪些硬件設備 這個文件在/etc/下 叫做fstab 寫全路徑是/etc/fstab.
cat查看/etc/fstab的文件後 我們發現了這個文件中寫了:
UUID=sdfbahue112321nj /boot ext4 defaults 1 1
硬件設備標識號或者名稱 【查看硬件設備標識號:blkid (硬件設備)】
掛載點目錄
系統類型
支持的功能
是否需要dump(dump是一個備份工具)1是需要0是不需要
決定在系統啓動時進行磁盤檢查的順序 0是不進行檢查 1是優先 2是其次 根分區應該設爲1其他分區應該設置成2
【我們進行自動分區時候後面兩個數字設爲00即可】
之後我們進入編寫就可以了 例子:設備標識號 /media/disk1 ext4 defaults 0 0
讓系統重新識別在fstab中的文件使用命令:
mount -a
還需要讓計算機知道需要讓這個分區支持磁盤配額:
vim /etc/fstab
設備標識號/media/disk1 ext4 defaults,usrquota,grpuota 0 0
添加(usrquota,grpuota)告訴了計算機我們需要支持磁盤配額
注意:修改之後要重新掛載這個分區
保存修改之後我們需要暫時性關閉selinux,selinux是linux裏的一個防禦機制(NSA[national security apartment]編寫的防禦機制)
命令:setenforce 0
(關閉沙盒)
磁盤配額的操作:
我們要檢測配置了磁盤配額功能的分區掛載點內是否已經生成了磁盤配額文件 如果沒有自動生成 則讓他自動生成 命令:
quotacheck -ugcv 指定的分區名稱
創建了quata文件後 我們應該對指定的用戶進行配額限制的編輯了
edquota 編輯指定用戶對指定分區的使用配額
格式:
edquota -u (用戶名稱) 之後進入到edquta的文件裏進行編輯
例子:
filesytem | filesytem block | soft | hart | inodes |
---|---|---|---|---|
/dev/sdb1 | 0 | 0 | 0 | 0 |
文件系統 | 塊 | 軟限制 | 硬限制 | 節點 |
(分區名稱) | (用戶使用的空間) | (用戶的軟限制) | (用戶的硬限制) | (文件數量) |
soft | hart | |||
0 | 0 | |||
軟限制 | 硬限制 | |||
(文件數量的軟限制) | (文件數量的硬限制) |
修改後我們需要開啓磁盤配額 格式:
quotaon -ugv 需要開啓磁盤配額的名稱路徑
最後我們應該進行修改這個文件夾的權限 格式:
chmod 777 文件路徑
LVM–logical volume manager 邏輯卷
能夠更加方便快捷的修改卷(理解爲分區)的大小 比普通的分區更加靈活
輸入:
fidisk /dev/硬盤文件路徑
進行修改 將這三個分區改成lvm系統類型
使用命令將三個分區修改成物理卷pv 命令:
pvcreate 設備名稱(分區名稱)
查看是否創建了三個pv 命令:
pvs
刪除創建好的pv 命令:
pvremove 設備名稱
使用以有的pv創建卷組vg 命令:
vgcreate -s pe大小 vg名稱 組成vg的pv名稱...,
vgcreate -s 8M vg的名稱 /dev/成員名稱(可以是多個成員)
pe是在pv中最小的單元 一個pe默認是4M大小可以調整pe爲4的倍數的大小 比如:8M.16M 修改pe的大小是會影響lv容量的大小。
對已經創建的vg進行查看 命令:vgs
對當前已有的vg進行擴展,添加一個pv進去 命令:
vgextend vg的名字 pv的路徑/dev/sdc3
從vg裏刪除一個pv 命令:
vgreduce vgnew /dev/sdc1
刪除一個vg 命令:
vgremove vg名稱
創建lv 命令:
Lvcreate -l pe個數 -n lv名字 在哪個vg上創建的lv
Lvcreate -L lv大小 -n lv名字 在哪個vg上創建的lv
對已經創建的vg進行查看 命令:lvs
刪除lv :
lvremove lv的絕對路徑
縮小lv的空間大小 命令:
Lvreduce -l -多少個pe lv的絕對路徑
Lvreduce -L -容量大小 lv的絕對路徑
Lvreduce -L 剩餘容量大小 lv的絕對路徑
Lvreduce -l 剩餘多少pe lv的絕對路徑
增加lv的空間大小 命令:
Lvextend -l + 多少個pe lv的絕對路徑
Lvextend -L +容量大小 lv的絕對路徑
Lvextend -L 剩餘容量大小 lv的絕對路徑
Lvextend -l 剩餘多少pe lv的絕對路徑
還有一種改變lv大小的方法 命令:
Lvresize -l 重定義pe的個數 lv的絕對路徑
Lvresize -L 重定義lv的容量 lv的絕對路徑
格式化命令:
mkfs.ext4 邏輯卷名稱(絕對路徑)
掛載命令:
mount 邏輯卷名稱(絕對路徑) 掛載目錄
進行重新加載 命令:
resize2fs lv的絕對路徑
可以對lv邏輯卷製作快照lvm-snapshot 命令格式:
lvcreate -s -l pe數量 -n 快照卷名稱 對哪個lv做快照(絕對路徑)
lvcreate -s -L 空間大小 -n 快照卷名稱 對哪個lv做快照(絕對路徑)
快照之後我們不要進行格式化 直接進行掛載
init
進程 :pid永遠是1 配置文件/etc/inittab
init的運行級別
關機狀態0
單用戶模式1
字符界面的多用戶模式(不支持聯網)2
字符界面的完整多用戶模式3
未分配使用4
圖形界面的多用戶模式5
重新啓動 6
查看自己之前和現在處於什麼運行模式下
runlevel
查看系統服務每個等級的運行狀態
chkconfig --list network
調整服務的開啓關閉的狀態
例子:chkconfig --level 5 network off/on
ntsysv
(修改init進程的開啓關閉狀態)格式:
ntsysv --level運行級別
ps
命令 查看靜態的進程統計信息
顯示當前終端下的所有的進程信息a:
殺掉某個進程
kill all 進程名稱 刪除進程的名稱
計劃任務:
服務腳本名稱/etc/init.d/atd
at HH:MM yyyy-mm-dd (一次性的計劃任務)
輸入命令回車之後按ctrl +d 進行提交
(啓動服務)
centos 6
service 服務名稱 start
centos7
systemctl start 服務名稱
(重起服務)
centos6
service 服務名稱 restart
centos7
systemctl restart 服務名稱
(關閉服務)
centos6
service 服務名稱 stop
centos7
systemctl stop 服務名稱