Linux
0.目錄
文章目錄
- Linux
-
- 0.目錄
- 1.Linux簡介
-
- 1.1 Linux是什麼
- 1.2 Linux發行版?
- 1.3 LInux應用領域?
- 1.4 Linux vs Windows?
- 2.Linux安裝
-
- 2.1 系統分區
- 2.2 注意事項
- 3.常用目錄結構
- 4.常用指令
- 5.VI編輯器
-
- 5.1 編輯模式
-
- 5.1.1 模式切換
- 5.1.2 移動光标
- 5.1.3 編輯
- 5.1.4 退出
- 5.2 輸入模式
- 5.3 末行模式
- 6.軟體安裝
-
- 6.1 二進制包安裝
-
- 6.1.1 RPM包安裝
- 6.1.2 yum安裝
- 6.2 源碼包安裝
- 7.使用者管理
-
- 7.1 使用者相關檔案
- 7.2 使用者管理指令
- 7.3 組管理指令
- 8.權限管理(缺)
- 9.檔案系統管理
-
- 9.1 硬碟(缺)
- 9.2 檔案系統
-
- 9.2.1 linux檔案系統特性
- 9.2.2 常見檔案系統
- 9.3 指令
- 9.4 手動建立分區
-
- 9.4.1 MBR分區
- 9.4.2 GPT分區
- 9.4.3 swap分區
- 9.5 磁盤配額
-
- 9.5.1 依賴
- 9.5.2 概念
- 9.5.3 配額步驟
- 9.6 LVM邏輯卷
-
- 9.6.1 步驟
- 10.啟動引導與修複
-
- 10.1 系統運作級别
-
- 10.1.1 開機執行檔案
- 10.2 啟動引導程式
-
- 10.2.1 grub引導程式
- 10.2.2 /boot/grub目錄
- 10.2.3 grub配置檔案
- 10.2.4 grub加密
- 10.3 系統修複模式
-
- 10.3.1 單使用者模式
- 10.3.2 CD光牒修複模式
- 11.服務管理
-
- 11.1 服務分類
- 11.2 管理
-
- 11.2.1 RPM包獨立服務
- 11.2.2 基于xinetd服務
- 11.2.3 源碼包服務
- 12.系統管理
-
- 12.1 程序管理
- 12.2 工作管理
- 12.3 資源檢視
- 12.4 定時任務
- 13.日志管理(缺)
-
- 13.1 rsyslogd服務
- 13.2 日志輪替
1.Linux簡介
1.1 Linux是什麼
- Linux是一種自由和開放源碼的類UNIX作業系統,1991年由林納斯托瓦茲建立,主要受Minix和UNIX思想啟發。
- Linux遵循GNU通用公共許可證(GPL),所有人都可以自由使用源代碼,也可以自由修改并重新發部
- Linux是基于POSIX和UNIX的多使用者、多任務、支援多線程和多CPU的作業系統
- Linux能運作主要的UNIX工具軟體、應用程式和網絡協定,繼承了UNIX以網絡為核心的設計思想。
1.2 Linux發行版?
LInux發行版簡單的來說就是将Linux核心和應用軟體做封裝
市場上主流的發行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等
1.3 LInux應用領域?
從嵌入式裝置到超級計算機、并到伺服器領域确定了地位、通常伺服器使用LAMP(Linux+Apache+Mysql+PHP)和LNMP(Linux+Nginx+Mysql+PHP)組合
目前,linux不僅在家庭中,企業中使用國家層面也在使用Linux
1.4 Linux vs Windows?
比較 | Windows | Linux |
---|---|---|
界面 | 界面統一,外殼程式固定所有 Windows 程式菜單幾乎一緻,快捷鍵也幾乎相同 | 圖形界面風格依釋出版不同而不同,可能互不相容。GNU/Linux 的終端機是從 UNIX 傳承下來,基本指令和操作方法也幾乎一緻。 |
驅動程式 | 驅動程式豐富,版本更新頻繁。預設安裝程式裡面一般包含有該版本釋出時流行的硬體驅動程式,之後所出的新硬體驅動依賴于硬體廠商提供。對于一些老硬體,如果沒有了原配的驅動有時很難支援。另外,有時硬體廠商未提供所需版本的 Windows 下的驅動,也會比較頭痛。 | 由志願者開發,由 Linux 核心開發小組釋出,很多硬體廠商基于版權考慮并未提供驅動程式,盡管多數無需手動安裝,但是涉及安裝則相對複雜,使得新使用者面對驅動程式問題(是否存在和安裝方法)會一籌莫展。但是在開源開發模式下,許多老硬體盡管在Windows下很難支援的也容易找到驅動。HP、Intel、AMD 等硬體廠商逐漸不同程度支援開源驅動,問題正在得到緩解。 |
使用 | 使用比較簡單,容易入門。圖形化界面對沒有計算機背景知識的使用者使用十分有利。 | 圖形界面使用簡單,容易入門。文字界面,需要學習才能掌握。 |
學習 | 系統構造複雜、變化頻繁,且知識、技能淘汰快,深入學習困難。 | 系統構造簡單、穩定,且知識、技能傳承性好,深入學習相對容易。 |
軟體 | 每一種特定功能可能都需要商業軟體的支援,需要購買相應的授權。 | 大部分軟體都可以自由擷取,同樣功能的軟體選擇較少。 |
2.Linux安裝
VMware虛拟機:www.vmware.com
VMware特點:
- 不需要分區和重新開機即可同一PC上兩種作業系統
- 本機和虛拟機可以網絡通信
- 可以随時修改虛拟機配置
安裝步驟:
- 略
2.1 系統分區
- 分區表
- MBR分區表
- 最大2.1TB,4分區數
- 主分區(最多四個)
- 擴充分區(1個,不能寫資料)
- 邏輯分區
- GPT分區表
- 最大9.4ZB,沒有限制分區數(理論)
- MBR分區表
- 格式化
- 又稱邏輯格式化,是指使用者標明檔案系統(類型:ext4)
- 挂載
2.2 注意事項
- linux嚴格區分大小寫
- linux一切皆檔案
- linux不靠擴充名區分檔案類型
- linux所有儲存設備都必須挂載後才能使用
- Windows程式不能直接在linux中使用
3.常用目錄結構
目錄 | 作用 |
---|---|
/bin | 存放系統指令的目錄 |
/sbin | 存放系統指令的目錄 |
/boot | 系統啟動目錄 |
/dev | 裝置檔案目錄 |
/etc | 配置檔案目錄 |
/home | 普通使用者家目錄 |
/lib | 系統調用的函數庫 |
/mnt | 挂載目錄 |
/opt | 軟體安裝目錄 |
/proc | 虛拟檔案目錄(核心、程序、外部裝置狀态、網絡狀态) |
/sys | 虛拟檔案目錄(核心相關) |
/root | root家目錄 |
/tmp | 臨時目錄 |
/usr | 系統軟體資源目錄 |
/var | 動态資料儲存目錄(緩存、日志、軟體運作檔案) |
4.常用指令
指令 | 作用 | |
---|---|---|
目錄操作 | ls | 檢視檔案 |
cd | 切換目錄 | |
pwd | 檢視目前目錄 | |
mkdir | 建立目錄 | |
rmdir | 删除目錄 | |
檔案操作 | touch | 建立空檔案、修改中繼資料 |
stat | 檢視詳細資訊 | |
cat | 檢視檔案内容 | |
more | 分屏檢視檔案内容 | |
less | 分行檢視檔案内容 | |
head | 檢視檔案頭部 | |
tail | 檢視檔案尾部 | |
ln | 軟連接配接 | |
目錄檔案都可操作 | rm | 删除 |
cp | 複制 | |
mv | 移動或者重命名 | |
權限控制 | chmod | 修改權限 |
chown | 修改檔案所有者和所屬組 | |
chgrp | 修改檔案所屬組 | |
幫助指令 | man | 顯示聯機幫助手冊 |
info | 完整的幫助資訊 | |
help | 檢視内置指令資訊 | |
搜尋指令 | whereis | 搜尋系統指令(幫助文檔位置) |
which | 搜尋系統指令 | |
locate | 搜尋普通檔案 | |
find | 在目錄中搜尋檔案 | |
grep | 顯示比對的行 | |
|管道 | 管道 | |
文本操作 | awk | 比對截取 |
grep | 比對 | |
cut | 截取 | |
sed | 截取 | |
壓縮、解壓指令 | zip | 壓縮 |
unzip | 解壓.zip | |
gzip | 壓縮 | |
gunzip | 解壓.gz | |
bzip2 | 壓縮 | |
bunzip2 | 解壓.bz2 | |
tar -c | 壓縮 | |
tar -x | 解壓.tar | |
tar -z | .tar.gz | |
tar -j | .tar.bz2 | |
關機重新開機 | sync | 重新整理檔案系統緩沖區(資料同步) |
shutdown | 關機-h或重新開機-r | |
reboot | 重新開機 | |
halt | 關機(不安全) | |
poweroff | 關機(不安全) | |
init | 關機或重新開機(不安全) | |
網絡指令 | ifconfig | 配置網絡接口 |
ping | 通過ICMP網絡探測 | |
netstat | 檢視網絡狀态、檢視端口 | |
write | 向指定使用者發資訊 | |
wall | 向所有使用者發資訊(包括自己) | |
給其他使用者發郵件 | ||
系統痕迹指令 | w | 顯示正在登陸的使用者資訊 |
who | 顯示正在登陸的使用者資訊(簡單) | |
last | 檢視所有登陸過的使用者資訊 | |
lastlog | 檢視最後登陸過的使用者資訊 | |
lastb | 檢視登陸錯誤資訊 | |
挂載指令 | mount | 挂載 |
umount | 解除安裝 |
5.VI編輯器
vi 、vim 打開檔案,進入編輯模式
三種模式:編輯模式、輸入模式、末行模式(有不同叫法)
5.1 編輯模式
5.1.1 模式切換
: 進入末行模式
i、a、o 進入輸入模式(前、後、下行)
I、A、O進入輸入模式(行首、行尾、上行)
5.1.2 移動光标
-
字元間
h: 左;j: 下;k: 上;l: 右
-
單詞
w: 移至下一個單詞的詞首
e: 跳至目前或下一個單詞的詞尾
b: 跳至目前或前一個單詞的詞首
-
行内
0: 絕對行首
^: 行首的第一個非空白字元
$: 絕對行尾
-
行間
G:文章末尾
3G:第3行
gg:文章開頭
-
翻屏
ctrl:f,b
5.1.3 編輯
-
删除&替換單個字元
x:删除光标位置字元
3x:删除光标開始3個字元
r:替換光标位置字元
-
删除指令 : d
dw,dd
-
複制粘貼&剪切
yw,yy
p
P
-
撤銷&重做
u 撤銷
ctrl+r 重做 撤銷的操作
. 重複上一步的操作
5.1.4 退出
-
直接退出
ZZ:沒修改退出
-
進入末行模式退出
wq:儲存并退出
q!:不儲存退出
5.2 輸入模式
- 标準輸入
-
模式切換
Esc進入編輯模式
5.3 末行模式
-
模式切換
Esc Esc 進入編輯模式
-
退出
:q 退出 沒有動過檔案
:wq 儲存并退出 動過了,不後悔
:q! 不儲存并退出 動過了,後悔了
:w 儲存
:w! 強行儲存
:wq --> :x
-
進階操作
:set 設定 set nu 設定行數
/ 查找
s/// 查找并替換
6.軟體安裝
軟體包分為源碼包和二進制包
6.1 二進制包安裝
6.1.1 RPM包安裝
-
指令
安裝指令:rpm -ivh 包全名
服務啟動:service 服務名 start
更新指令:rpm -Uvh 包全名
解除安裝指令:rpm -e 包名
-
預設安裝位置
/etc/ 配置檔案
/usr/bin/ 可執行檔案
/usr/lib/ 函數庫
/usr/share/doc/ 使用手冊
/usr/share/man/ 幫助檔案
6.1.2 yum安裝
- 安裝yum
- 安裝軟體:yum -y install 軟體名
6.2 源碼包安裝
安裝步驟
- 下載下傳軟體包
- 解壓縮
- 進入解壓目錄
- 編譯前準備
./configure
- 編譯
make
- 編譯安裝
make install
解除安裝:删除檔案目錄即可
7.使用者管理
7.1 使用者相關檔案
目錄 | 作用 | 說明 |
---|---|---|
/etc/passwd | 使用者資訊檔案 | 使用者名:密碼:使用者ID:組ID:使用者說明:使用者家目錄:使用者指令行 |
/etc/shadow | 影子檔案 | 使用者名:加密密碼:更改時間:更改間隔:有效期:到期前警告天數:過期後寬限天數:失效時間:保留 |
/etc/group | 組資訊檔案 | 組名:組密碼位:組内其他使用者(組) |
/etc/gshadow | 組影子檔案 | 儲存組密碼 |
/home/使用者名、/root | 使用者家目錄 | |
/var/spool/mail/使用者名 | 郵箱目錄 | |
/etc/skel | 使用者模版目錄 |
7.2 使用者管理指令
指令 | 作用 |
---|---|
useradd | 添加使用者 |
passwd | 設定密碼 |
usermod | 修改使用者 |
userdel | 删除使用者 |
su | 切換使用者 |
7.3 組管理指令
指令 | 作用 |
---|---|
groupadd | 添加使用者組 |
groupdel | 删除使用者組 |
gpasswd | 添加删除組成員 |
newgrp | 改變有效組 |
8.權限管理(缺)
9.檔案系統管理
9.1 硬碟(缺)
9.2 檔案系統
9.2.1 linux檔案系統特性
super block(超級塊):記錄date block、inode的情況
date block(資料塊):資料實際存儲
inode(i節點):類似中繼資料
9.2.2 常見檔案系統
常見檔案系統 | 簡介 |
---|---|
ext | linux早期檔案系統 |
ext2 | 更新版(更大分區和檔案) |
ext3 | 更新版(日志功能和可靠性) |
ext4 | CentOS6.x預設檔案系統(颠覆性) |
xfs | CentOS7.x預設檔案系統(XFS+LVM) |
swap | 交換分區檔案系統(暫時代替記憶體) |
nfs | 網絡檔案系統 |
iso9660 | CD光牒标準檔案系統 |
fat | Windows的fat16 |
vfat | Windows的fat32 |
NTFS | Windows的NTFS |
ufs | SunOS和Solaris |
proc | 基于記憶體的虛拟檔案系統 |
sysfs | 基于記憶體的虛拟檔案系統 |
tmpfs | 基于記憶體的虛拟檔案系統 |
9.3 指令
指令 | 作用 |
---|---|
df | 統計空間大小 |
du | 統計檔案大小 |
fsck | 檔案系統修複指令 |
dumpe2fs | 顯示磁盤狀态 |
stat | 顯示檔案狀态 |
file | 判斷檔案類型 |
fdisk | 分區指令 |
parted | 分區指令 |
parkporbe | 強制重讀分區檔案、重新挂載所有分區(幾乎不用) |
mkfs | 格式化(建立檔案系統) |
free | 檢視記憶體 |
swapon | 增加swap分區容量 |
9.4 手動建立分區
9.4.1 MBR分區
fdisk /dev/sdb #進入分區互動界面
n #建立分區
p #檢視分區
m #幫助
l #顯示檔案系統類型
w #儲存退出
mkfs -t ext4 /dev/sdb1 #格式化
mkdir /disk1 #建立挂點
mount /dev/sdb1 /disk1 #挂載
vi /etc/fstab #自動挂載
#檢視
mount
fdisk -l
df
#修複權限
mount -o remount,rw /
9.4.2 GPT分區
parted /dev/sdb #進入分區互動界面
mklabel gpt #修改類型
mkpart #建立分區
mkfs #建立檔案系統
resize #修改分區大小
re #删除分區
print #檢視分區
#挂載……
9.4.3 swap分區
fdisk /dev/sdb #進入分區互動界面
mkswap /dev/sdb1 #建立swap分區
swapon name #增加分區
9.5 磁盤配額
9.5.1 依賴
- 核心支援磁盤配額
- grep CONFIG_QUOTA /boot/config-2.6.32-279.e16.i686
- 已安裝quota
- rpm -qa |grep quota
9.5.2 概念
- 使用者配額群組配額
- 磁盤容量限制和檔案個數限制
- 軟限制和硬限制
- 寬限時間
9.5.3 配額步驟
- 将分區挂載到目錄上
- 使用者、使用者組、目錄(條件)
- 開啟磁盤配額功能
mount -o remount,usrquota /disk
vi /etc/fstab
-
defaults,usrquota
-
- 建立配額檔案(需關閉SELinux)
quotacheck -avug quotacheck -avugm(跟目錄)
- 設定配額
edquota -u username(進入指令行) edquota -p user1 -u user2(配額複制)
- 啟動關閉配額
quotaon -avug /disk/ quotaoff -avug /disk/
- 測試
dd if=/dev/zero of=/disk/testfile bs=1M count=60
- 非互動式配額
setquota -u 使用者 容量軟限制 容量硬限制
9.6 LVM邏輯卷
9.6.1 步驟
- 将實體硬碟分區(也可以整體分區)
fdisk
- 将分區建立實體卷(PV)
pvcreate /dev/sdb pvscan pvdisplay pvremove
- 将實體卷整合為卷組(VG)
vgcreate 選項 卷組名 實體卷名 vgscan
- 把卷組劃分為邏輯卷(LV)
lvcreate 選項 卷組名
10.啟動引導與修複
10.1 系統運作級别
檢視:runlevel
改變級别:init 級别
級别:
- 0:關機
- 1:單使用者模式
- 2:不完全的指令行模式(無NFS)
- 3:标準指令行模式
- 4:系統保留
- 5:圖形模式
- 6:重新開機動
永久預設啟動級别設定:/etc/inittab
10.1.1 開機執行檔案
檔案:/etc/rc.d/rc.local
- /var/lock/subsys/local 開機觸摸
10.2 啟動引導程式
10.2.1 grub引導程式
優點:更多的檔案系統、查找核心檔案、啟動時修改啟動選項、動态配置grub配置檔案
10.2.2 /boot/grub目錄
作用:
- 加載系統核心
- 選擇系統的菜單
- 調用其他引導程式,實作多系統引導
10.2.3 grub配置檔案
前四行:
- 預設啟動系統:0
- 等待選擇時間:5
- 背景檔案:
- 隐藏按鈕
後每四行:可用系統
- 标題
- 啟動目錄:
- 核心:
- 虛拟檔案系統:
10.2.4 grub加密
- grub-md5-crypt
- 将秘鑰放在grub配置檔案背景檔案後
- 不能加lock
10.3 系統修複模式
10.3.1 單使用者模式
修改密碼:
- 啟動時按e,選中grub配置檔案核心,按e
- 在grub配置檔案核心加空格1,進入系統
- passwd root修改密碼
修改啟動級别:
- 修改/etc/inittab
10.3.2 CD光牒修複模式
- CD光牒啟動
- chroot /mnt/sysimage
- 修複
11.服務管理
11.1 服務分類
- RPM包安裝服務
- 獨立服務
- 基于xinetd服務
- 源碼包安裝服務
11.2 管理
11.2.1 RPM包獨立服務
- 啟動
- 使用/etc/init.d目錄下啟動腳本啟動
/etc/init.d/httpd start
- 使用service指令啟動
service 獨立服務名 start|stop|restart
- 使用/etc/init.d目錄下啟動腳本啟動
- 自啟動
- chkconfig指令設定
chkconfig --level 級别 服務名 on|off
- /etc/rc.d/rc.local檔案配置
vi /etc/rc.d/rc.local
- ntsysv指令設定
ntsysv --level 級别
- chkconfig指令設定
11.2.2 基于xinetd服務
- 啟動
- 配置/etc/xinetd.d/telnet
service 獨立服務名 start|stop|restart
- 自啟動
- chkconfig指令設定
chkconfig 服務名 on|off
- chkconfig指令設定
11.2.3 源碼包服務
- 啟動
- 使用/usr/local/服務/bin/…啟動腳本啟動
/usr/local/服務/bin/... start
- 使用/usr/local/服務/bin/…啟動腳本啟動
- 自啟動
- /etc/rc.d/rc.local檔案配置
vi /etc/rc.d/rc.local
- /etc/rc.d/rc.local檔案配置
- 配置指令識别
- service指令識别:軟連接配接啟動腳本到/etc/init.d目錄下
- chkconfig指令識别:啟動腳本前加入
#chkconfig: 運作級别 啟動順序 關閉 #description:說明
chkconfig --add 服務名
12.系統管理
12.1 程序管理
ps 靜态檢視程序
top 動态檢視程序
pstree 檢視程序樹
kill 殺死程序
killall 殺死程序
pkill 殺死程序
12.2 工作管理
轉入背景:
- &
- ctrl+z
背景指令:
- jobs -l 檢視
- fg %工作号 恢複到前台
- bg %工作号 背景暫停>背景執行
12.3 資源檢視
vmstat 監控系統資源
dmesg 開機時核心檢查
free 記憶體使用情況
/proc/cpuinfo cpu資訊
w 已經登陸使用者資訊
who 已經登陸使用者資訊
uptime 系統啟動時間和平均負載
uname 檢視系統與核心資訊
12.4 定時任務
at 一次性定時任務
crontab 循環定時任務
anacron 關機情況定時任務
13.日志管理(缺)
常見日志檔案目錄:/var/log/
13.1 rsyslogd服務
配置檔案:/etc/rsyslog.conf
13.2 日志輪替
@筆記分享