00. 課程介紹部分
?1. 系統(tǒng)重要目錄與文件 解鎖開機(jī)自動掛載的功能 解鎖簡單腳本編寫--變量/環(huán)境變量 解鎖系統(tǒng)別名概念 解鎖系統(tǒng)運(yùn)行級別 解鎖系統(tǒng)安裝軟件方法 yum install -y xxx
?2. 介紹一些日志文件內(nèi)容 以及系統(tǒng)硬件信息查看方法 學(xué)習(xí)技巧: 1. 課上聽講 2. 記錄筆記 word 簡書 思維導(dǎo)圖 習(xí)慣
3. 學(xué)習(xí)準(zhǔn)備 預(yù)習(xí)視頻
4. 學(xué)習(xí)復(fù)習(xí) 一定練習(xí)?5個題庫 2個小時 3篇 每個題庫15~20
?5. 知識分享 組為單位 大神 排錯能力者
?01. 課程知識回顧(提問環(huán)節(jié))
?1. 磁盤掛載概念: 給存儲設(shè)備(文件)開了個門(掛載點目錄), 補(bǔ)充: 磁盤卸載操作 umount /mnt 2. 系統(tǒng)重要目錄
?/etc 配置文件保存目錄
?/dev 設(shè)備文件保存目錄
?/bin 二進(jìn)制文件保存目錄 命令文件保存目錄
?/sbin 管理
(root)操作命令存放路徑
?/var 存放日志文件(經(jīng)常變化數(shù)據(jù))
3. 系統(tǒng)重要文件:
網(wǎng)卡配置文件: DNS服務(wù)配置文件: 本地解析配置文件:
?02. 系統(tǒng)重要文件說明 /etc
1. 主機(jī)名稱配置文件
?主機(jī)名稱配置文件路徑: /etc/sysconfig/network --- centos6
?[root@web01 ~]# cat /etc/sysconfig/network # Created by anaconda 主機(jī)名稱在cengtos7不存在,只存在centos6
?/etc/hostname --- centos7 主機(jī)名稱配置文件信息 /etc/sysconfig/network --- centos6 HOSTNAME=主機(jī)名稱 /etc/hostname --- centos7 主機(jī)名稱
如何修改系統(tǒng)主機(jī)名稱:
?centos6 臨時修改: hostname 主機(jī)名稱
修改的名稱不會立即生效: 1. 重新連接 2.使用bash命令
?[root@oldboy63 ~]# hostname web01
?[root@oldboy63 ~]# bash
?[root@web01 ~]#
永久修改: vi /etc/sysconfig/network 主機(jī)名稱修改
重啟操作系統(tǒng) centos7 臨時修改:
hostname 主機(jī)名稱 修改的名稱不會立即生效: 1. 重新連接 2.使用bash命令
永久修改: vi /etc/hostname 主機(jī)名稱修改
重啟操作系統(tǒng)?reboot
?[root@web01 ~]# vi /etc/hostname oldboy63 2 files to edit 0ldboy63 "/etc/hostname" 2L, 10C written
Esc :wq! 保存退出
?[root@web01 ~]# cat /etc/hostname 0ldboy63
?[root@oweb01 ~]# reboot [e:\~]$ ssh root@10.0.0.200
?[root@0ldboy63 ~]# 即臨時又永久: hostnamectl set-hostname oldboyedu
?[root@0ldboy63 ~]# hostnamectl set-hostname oldboyedu
[root@0ldboy63 ~]# bash
[root@oldboyedu ~]#
?[root@oldboy63 ~]# cat /etc/hostname
oldboyedu
如何查看系統(tǒng)主機(jī)名稱信息: hostname
hostname -I(顯示有所網(wǎng)卡的IP地址)
?[root@oldboy63 ~]# hostname oldboy63
?[root@oldboy63 ~]# hostname -I 10.0.0.200
2. 磁盤掛載文件(實現(xiàn)自動掛載操作)
磁盤掛載文件路徑: /etc/fstab
磁盤掛載文件信息: # cat /etc/fstab
?UUID=9c9d613d-4605-4b85-90bd-550c92bd7c77 / xfs defaults?????????????????? 0????? ?0
UUID=e0640ceb-c9db-43a7-90e9-fc179589ad0d /boot xfs defaults???????????? ?0????? 0
UUID=74dc14b3-19f1-4bdf-bb6d-6db00d6b597b swap swap defaults????????? 0????? 0
?????????????????? 01?????????????? ?????????????????????????????????????????? 02??? ?03???? ?04??????????????? 05??? 06
?學(xué)習(xí)linux新知識的方法:
?linux系統(tǒng)中可以有幫助方法: manual 手冊-- man
01. 配置好存儲設(shè)備信息 /dev/sda1 /dev/cdrom UUID
02. 掛載點目錄信息
?03. 描述文件系統(tǒng)類型 ext3/ext4 xfs 格式化效率不一樣 存儲數(shù)據(jù)效率(數(shù)據(jù)庫服務(wù)器) 服務(wù)器磁盤處理方法 磁盤 地皮 陣列 打地基 分區(qū) 規(guī)劃 格式化 清理垃圾 創(chuàng)建文件系統(tǒng) 建房子風(fēng)格 --- 存儲數(shù)據(jù)原理方法(NTFS--沒有存儲限制 U盤-FAT32--單個文件不能大于4G)
04. 掛載參數(shù)信息 存儲服務(wù)器做詳細(xì)說明
?05. 是否對文件系統(tǒng)數(shù)據(jù)進(jìn)行備份 備份--磁盤空間會損耗
06. 是否對磁盤文件系統(tǒng)進(jìn)行檢測 磁盤檢測軟件 fsck
實踐操作:
實現(xiàn)自動掛載光驅(qū)設(shè)備 cat /etc/fstab
?/dev/cdrom???? ?/mnt??????? iso9660???? defaults???? 0??? 0
實踐: [root@oldboy63 ~]# vi /etc/fstab #
?# /etc/fstab
# Created by anaconda on Thu Jul 4 12:42:00 2019 #
?# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
?# UUID=3f89f8b8-6270-4ad0-8c83-58bc28872a61 / xfs defaults??????????????????? 0 0
UUID=bdd55916-052a-435d-bf83-f8075abbdeff /boot xfs defaults???????????????? ?0 0
UUID=6d01a6d6-a3b4-4c7c-b64f-ec5dbe02aff2 swap swap defaults???????????? ?0 0
???????????????????????????????????????????????????????? ?/dev/cdrom /mnt iso9660 defaults?????????? 0 0
~ ~ "/etc/fstab" 12L, 595C written
?[root@oldboy63 ~]# reboot
?[root@oldboy63 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 101456488 1600436 99856052 2%
?/ devtmpfs 1003148 0 1003148????????????? ?0%?/dev
?tmpfs 1014056 0 1014056????????????????????? ?0%?/dev/shm
?tmpfs 1014056 9788 1004268???????????????? 1%?/run
?tmpfs 1014056 0 1014056?????????????????????? 0% /sys/fs/cgroup
?/dev/sr0 4480476 4480476??????????????????? ?0 100% /mnt
?/dev/sda1 201380 107104 94276??????????? 54% /boot
tmpfs 202812 0 202812????????????????????????? ?0% /run/user/0
?[root@oldboy63 ~]#
3. 開機(jī)自動加載文件
自動加載文件路徑: /etc/rc.local
自動加載文件內(nèi)容:
[root@oldboy63 ~]# vi /etc/rc.local
?#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES #
?# It is highly advisable to create own systemd services or udev rules
?# to run scripts during boot instead of using this file. #
?# In contrast to previous versions due to parallel execution during boot
?# this script will NOT be run after all other services. #
?# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
?# that this script will be executed during boot.
touch /var/lock/subsys/local
mount /dev/cdrom /mnt (可以是任意你需要它開機(jī)加載的內(nèi)容) ~ ~ ~ ~ ~ ~ 退出保存 "/etc/rc.local" 14L, 495C written
?[root@oldboy63 ~]# chmod +x /etc/rc.d/rc.local 賦予權(quán)限
?[root@oldboy63 ~]# reboot 重啟系統(tǒng)
?[root@oldboy63 ~]# df 查看
Filesystem 1K-blocks Used Available Use% Mounted on
?/dev/sda3 101456488 1600776 99855712??????? ?2%
/ devtmpfs 1003148 0 1003148??????????????????????? ??0% /dev
?tmpfs 1014056 0 1014056?????????????????????????????? ?0% /dev/shm
tmpfs 1014056 9788 1004268??????????????????????????? 1% /run
?tmpfs 1014056 0 1014056??????????????????????????????? 0% /sys/fs/cgroup
?/dev/sr0 4480476 4480476 0??????????????????????????????100% /mnt 已經(jīng)自動加載
?/dev/sda1 201380 107104 94276????????????????????? 54% /boot
?tmpfs 202812 0 202812???????????????????????????????????? 0% /run/user/0
[root@oldboy63 ~]# cat /etc/rc.local
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script(腳本) will be executed(執(zhí)行權(quán)限) during boot.
請注意你一定要確保hmod +x /etc/rc.d/rc.local這個命令運(yùn)行张遭。
?這個腳本將有權(quán)限 操作運(yùn)行
systemctl restart network 開機(jī)重啟這個命令可以放在]# vi /etc/rc.local中
總結(jié): 需要將/etc/rc.d/rc.local文件修改為有執(zhí)行權(quán)限(centos 7必須)
?作用: 開機(jī)自動運(yùn)行文件中的命令信息
?[root@oldboyedu ~]# ls -l /etc/rc.local lrwxrwxrwx. 1 root root 13 Jul 3 08:25 /etc/rc.local -> rc.d/rc.local
[root@oldboyedu ~]# ls -l /etc/rc.d/rc.local -rwxr-xr-x. 1 root root 495 Jul 9 22:56 /etc/rc.d/rc.local
說明: /etc/rc.local文件實際上是/etc/rc.d/rc.local文件的快捷方式
?4. 系統(tǒng)登錄提示文件
什么是登錄提示文件:
1). 登錄前提示文件: 顯示登錄之前的信息
登錄前提示文件保存路徑: /etc/issue /etc/issue.net
登錄前提示文件保存路徑: # cat /etc/issue /etc/issue.net
system_info: \S
?system_Kernel: \r on an \m
system_info: \S
system_Kernel: \r on an \m
?[root@oldboy63 ~]# vi /etc/issue
system_info: \S
?system_Kernel: \r on an \m
?[root@oldboy63 ~]# vi /etc/issue.net
?system_info: \S
system_Kernel: \r on an \m
?[root@oldboy63 ~]# cat /etc/issue /etc/issue.net
system_info: \S
system_Kernel: \r on an \m
system_info: \S
system_Kernel: \r on an \m
斷開連接 重新連接
虛擬機(jī)上登錄前提示文件更改
?2). 登錄后提示文件: 顯示登錄之后的信息
登錄后提示文件保存路徑: /etc/motd
登錄后提示文件保存登錄:
[root@oldboyedu ~]# cat /etc/motd
操作實踐: [root@oldboy63 ~]# vi /etc/motd
???????????????????????????????????????????????????????佛祖保佑 永無BUG
保存退出
斷開連接 重新連接
Xhell上登錄后提示文件更改衫冻,顯示上述內(nèi)容
5. 系統(tǒng)變量和別名配置文件
系統(tǒng)變量或別名配置文件: /etc/profile
系統(tǒng)變量或別名文件內(nèi)容: 很多內(nèi)容
?什么是系統(tǒng)變量: x+y=10 已知x=5 已知數(shù)(設(shè)置變量)
字符信息(開始有數(shù)字) oldboy=123456
設(shè)置變量: oldboy(變量名稱)= (變量值) 數(shù)字字母皆可 注意事項: 數(shù)字不能作為變量的開始
?調(diào)用變量: $oldboy
例子:#oldboy=123456
#echo $oldboy
?#123456
變量作用: 在腳本中減少信息改動
腳本: 將多個命令操作匯總到一個文件執(zhí)行, 提高工作效
?腳本文件:
?# vi test.sh
Madir –p /oldboy01/
Touch /oldboy01/oldboy.txt
Echo abcd >/o1dboy01/oldboy.txt
?Cp /oldboy01/oldboy.txt /tmp
?Esc :wq! 保存退出
[root@oldboy63 oldboy01]# vi test.sh
?mkdir -p /oldboy01
?touch /oldboy01/oldboy.txt
echo abcd > /oldboy01/oldboy.txt
cp /oldboy01/oldboy.txt /tmp
~
?~
"test.sh" [New] 5L, 109C written
?[root@oldboy63 oldboy01]# sh test.sh
[root@oldboy63 oldboy01]# :ls -d /oldboy01 /oldboy01
?[root@oldboy63 oldboy01]# ls /oldboy01 oldboy.txt test.sh
?[root@oldboy63 oldboy01]# ls /oldboy01/ -d /oldboy01/
?[root@oldboy63 oldboy01]# cat /oldboy01/oldboy.txt abcd
?[root@oldboy63 oldboy01]# cat /tmp/oldboy.txt abcd
文件中有信息變化,如何進(jìn)行修改:
第一種方式: 利用vi命令替換功能 :
s#oldboy#oldgirl#g --- 默認(rèn)將光標(biāo)所在行指定內(nèi)容做修改替換 :
%s#oldboy#oldgirl#g --- 整體文件全部內(nèi)容指定信息都做替換 :
ns#oldboy#oldgirl#g --- 替換第n行指定內(nèi)容信息 :
n,ms#oldboy#oldgirl#g --- 從第n行到第m行指定信息做替換 :
n,$s#oldboy#oldgirl#g --- 從第n行到最后一行指定信息做替換 :
2s#oldboy#oldgirl# --- 在替換信息是不加g, 表示只將一行中匹配信息第一個做替換
?第二種方式: 利用變量
?[root@oldboyedu ~]# vi test.sh
?info=oldgirl
?echo oldboy
echo $info
echo oldboy
echo $info
echo oldboy
第三種方式: 利用高級命令 sed命令
環(huán)境變量:
1. 不需要自己設(shè)置, 默認(rèn)系統(tǒng)已經(jīng)做了設(shè)置
?2. 系統(tǒng)環(huán)境變量是大寫字母表示
?3. 環(huán)境變量設(shè)置好,全局生效
?第一個環(huán)境變量:
PATH 將命令放入環(huán)境變量,可以讓命令直接執(zhí)行
?echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin linux
系統(tǒng)開發(fā)人員: 開發(fā)一個系統(tǒng)命令
第一個里程: 編寫代碼信息 # cat cmd
echo oldboy63
二個里程: 修改權(quán)限 chmod +x cmd
?第三個里程: 需要將編寫好的命令文件放置到環(huán)境變量中
cp cmd /usr/bin
總結(jié): 命令執(zhí)行的過程: 輸入一個命令信息---> 找命令在指定環(huán)境變量中是否有
???????????????????????????????????????????????????????????? --> 有 ---> 直接執(zhí)行命令
???????????????????????????????????????????????????????????? --> 沒有 ---> No such file or directory 曾經(jīng)出現(xiàn)在環(huán)境變量路徑中
??????????????????????????????????????????????????????????????command not found 從來沒有出現(xiàn)在環(huán)境變量路徑中
?如何修改環(huán)境變量:
臨時修改: PATH="$PATH:/oldboy"
?永久修改:
切換到/etc/profile文件最后一行進(jìn)行編輯
?export PATH="$PATH:/oldboy"
PS: 如何讓配置文件信息加載生效
?1) 斷開服務(wù)連接,重新建立連接
2) 利用命令立即加載生效 source /etc/profile
03. 課程知識梳理
?1) 如何修改主機(jī)名稱信息 主機(jī)名稱配置文件
?2) 如何實現(xiàn)磁盤自動掛載 自動掛載配置文件 文件格式信息 如何獲取系統(tǒng)幫助信息: man 文件名 man 命令
?3) 如何使命令開機(jī)自動執(zhí)行 需要修改rc.local 注意事項 有執(zhí)行權(quán)限
?4) 如何實現(xiàn)登錄前和登錄后提示信息 issue issue.net motd
5) 系統(tǒng)變量和環(huán)境變量概念 如何設(shè)置變量 profile 設(shè)置變量 調(diào)用變量 變量作用 修改文件內(nèi)容方法: 2種方法: s###g 變量
?6) 永久修改環(huán)境變量
?作業(yè):
01. 重新連接或使用bash命令,都可以讓主機(jī)名稱修改生效
?02. 研究不同文件系統(tǒng)特征 adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs
03. 如果rc.local 和 fstab 都配置了掛載信息, 哪個文件優(yōu)先使用
?04. 目錄信息進(jìn)行補(bǔ)充說明
05. 系統(tǒng)基礎(chǔ)優(yōu)化操作