1. 程式人生 > 實用技巧 >2. 系統的目錄結構

2. 系統的目錄結構

1. 系統的目錄結構

1.1 linux目錄結構

一切從根開始,一個倒掛的樹

1.2 windows目錄結構

按照碟符進行劃分 C盤:

2. linux系統中的掛載 mount

linux系統中的掛載技術???

  • 讓使用者可以將一個目錄作為一個儲存裝置的掛載點,通過掛載點可以看到儲存裝置中的資料

實際操作演示linux系統掛載過程?

# 第一個步驟:擁有一個儲存裝置-光碟機
使光碟機載入光碟

# 第二個步驟:在linux系統中找到光碟機裝置
[root@oldboyedu oldboy]# ls -l /dev/cdrom 
lrwxrwxrwx. 1 root root 3 Mar 29 12:02 /dev/cdrom -> sr0

# 第三個步驟:需要將儲存裝置進行掛載
掛載命令語法格式:
	mount 掛載裝置檔案資訊 掛載點(目錄資訊)

# PS:掛載點目錄必須存在
mount /dev/cdrom /mnt

[root@oldboyedu /]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@oldboyedu /]# cd /mnt
[root@oldboyedu mnt]# ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@oldboyedu mnt]# cd
[root@oldboyedu ~]# umount /mnt
[root@oldboyedu ~]# cd /mnt
[root@oldboyedu mnt]# ls
[root@oldboyedu mnt]# 

3. 系統的基礎目錄結構

[root@oldboyedu /]# ls -l /
total 20
lrwxrwxrwx.   1 root root    7 Mar 28 10:40 bin(快捷方式)-> usr/bin # 存放單使用者模式下還可以操作的命令
dr-xr-xr-x.   5 root root 4096 Mar 28 10:45 boot    # 系統載入程式+系統核心
drwxr-xr-x.  19 root root 3180 Mar 29 12:02 dev     # 裝置、光碟機、硬碟
drwxr-xr-x.  79 root root 8192 Apr  2 08:41 etc		# 系統或服務的配置檔案
drwxr-xr-x.   3 root root   20 Mar 28 10:45 home	# 使用者家目錄
lrwxrwxrwx.   1 root root    7 Mar 28 10:40 lib -> usr/lib # 庫檔案存放目錄
lrwxrwxrwx.   1 root root    9 Mar 28 10:40 lib64 -> usr/lib64  # 庫檔案存放目錄(64位)
drwxr-xr-x.   2 root root    6 Apr 11  2018 media   # 用於掛載裝置檔案的目錄
drwxr-xr-x.   2 root root    6 Apr 11  2018 mnt		# 臨時的掛載點目錄
drwxr-xr-x.   2 root root    6 Apr 11  2018 opt		# 放置第三方的軟體
dr-xr-xr-x. 103 root root    0 Mar 29 12:02 proc    # 目錄中的資料都儲存到記憶體
dr-xr-x---.   2 root root  135 Mar 28 12:33 root	# 系統管理員的家目錄
drwxr-xr-x.  25 root root  680 Apr  1 11:42 run		# 
lrwxrwxrwx.   1 root root    8 Mar 28 10:40 sbin -> usr/sbin # 只有root使用者能使用的命令
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv		# 一些網路服務的資料檔案目錄
dr-xr-xr-x.  13 root root    0 Mar 29 12:02 sys		# 虛擬的目錄 記憶體資訊
drwxrwxrwt.  11 root root 4096 Apr  2 09:37 tmp		# 臨時檔案的存放位置   垃圾堆
drwxr-xr-x.  13 root root  155 Mar 28 10:40 usr		# 存放使用者的程式
drwxr-xr-x.  19 root root  267 Mar 28 10:48 var		# 主要存放經常變化的檔案,如日誌

/lost+found    # 當檔案系統發生錯誤時,將一些丟失的檔案片段存放在這裡
/usr+local	   # 使用者自行安裝的軟體
/usr/share	   # 幫助與說明檔案,也可放置共享檔案
/proc          # 虛擬檔案系統,例如系統核心,程序,外部裝置及網路狀態等

詳細瞭解目錄結構中總要檔案資料資訊

4. 網絡卡配置檔案 (重點)

# 1)檔案內容資訊
[root@oldboyedu tmp]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
   TYPE=Ethernet       --指定網路型別 乙太網Ethernet 電話10M 軍用(幀中繼) 金融公司(FastEthernet)
   BOOTPROTO=none      --網路啟動協議 如何讓主機得到IP地址
                      a 自己手動配置 none static(靜態)
   				      b 自動獲取地址 dhcpd(瞭解)
   NAME=eth0           -- 主機網絡卡的名稱 邏輯名稱
   UUID=31d48995-e74f-4f99-8e19-0da439ea257b   -- 虛擬主機,會給每個硬體一個標識
   DEVICE=eth0         -- 主機網絡卡的名稱 裝置名稱物理名稱
   ONBOOT=yes          -- 設定網絡卡是否處於開啟狀態(啟用狀態)
   IPADDR=10.0.0.200   -- 靜態配置IP地址 標識主機身份 相當於人的名字
   PREFIX=24           -- 定義網路中可以有多少主機    房間裡面可以有多少人         
   GATEWAY=10.0.0.2    -- 一個網路到另一個網路的必經之路  人從一個國家到另一個國家必經之路(海關)
   DNS1=223.5.5.5      -- DNS(建立名稱和IP地址的對應關係) 14.215.177.38 -- 名稱

# blkid

# 2)配置檔案修改重啟服務
方法一:
systemctl restart network  針對所有網絡卡進行重啟
systemctl status  network  
方法二:企業中常見用法
ifdown eth0 && ifup eth0   針對指定網絡卡進行重啟

# 異常問題:網絡卡配置檔案正確,無法重啟網路服務
systemctl stop NetworkManager   網路管理服務關閉

5. DNS解析配置檔案(瞭解)

[root@oldboyedu ~]# vi /etc/resolv.conf 
Generated by NetworkManager
  search com
  nameserver 10.10.10.10

課程知識點總結
1)介紹了系統常用快捷方式
2)系統掛載概念
3)根目錄下的常見目錄結構 bin etc usr var home
4)網絡卡配置檔案
5)DNS解析檔案

6. 主機名配置檔案 (重要)

# 1. 主機名稱檔案配置檔案 (重要)

# 如何修改主機名稱:  
1. centos7:
# 臨時修改:
   hostname oldboy-sz-01
   
# 永久修改:(重啟系統才能載入配置檔案)
[root@oldboy-sz-01 ~]# cat /etc/hostname 
oldboy-sz-01
   
# 通過命令:直接可以即臨時修改,又永久修改
hostnamectl set-hostname oldboysz-01

2. centos6:
# 臨時修改:
   hostname oldboy-sz-01
# 永久修改:
   vi /etc/sysconfig/network

# 補充:如何檢視系統版本
   [root@oldboy-sz-01 ~]# cat /etc/redhat-release 
   CentOS Linux release 7.5.1804 (Core)  

7. 解析對映檔案(重要)hosts

# hosts檔案:在本地建立IP地址和主機名稱的對應關係

# windows本地解析檔案位置:C:\Windows\System32\drivers\etc\hosts

# linux本地解析檔案位置:  
[root@oldboysz-01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.200  oldboyedu.com 

8. 磁碟掛載檔案 fstab

/etc/fstab  --- 實現儲存裝置開啟自動掛載配置檔案

[root@oldboysz-01 mnt]# cat /etc/fstab 
UUID=e2fc8646-2b36-47cc-a35a-8c13208f4d0b /       xfs     defaults        0 0
UUID=34fc45ba-c38c-42bc-a120-90f9d5dd2382 /boot   xfs     defaults        0 0
UUID=62100743-6f8a-4f83-a37d-e2088c4830e2 swap    swap    defaults        0 0
定義儲存裝置檔案資訊                        掛載點  
/dev/cdrom                                /mnt    ???  defaults        0 0

9. 開機自動載入檔案 rc.local

# 一般設定服務開機自動啟動
ls /etc/rc.local
[root@oldboysz-01 ~]# ls -l /etc/rc.local 
lrwxrwxrwx. 1 root root 13 Mar 28 10:41 /etc/rc.local -> rc.d/rc.local

[root@oldboysz-01 ~]# ls -l /etc/rc.d/rc.local 
-rw-r--r--. 1 root root 495 Apr  3 09:39 /etc/rc.d/rc.local

[root@oldboysz-01 ~]# chmod +x /etc/rc.d/rc.local
[root@oldboysz-01 ~]# ls -l /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 495 Apr  3 09:39 /etc/rc.d/rc.local


vi /etc/rc.local
	systemctl start sshd


# 總結:rc.loacl檔案作用
1. 檔案中的內容資訊,會在系統啟動之後進行載入
2. 檔案中的編寫內容,一定是命令資訊


# 練習:實現開機自動建立/oldgirl/oldgirl.txt檔案
#		並且檔案中有"oldgirl.com"資訊內容
vi /etc/rc.local
echo "oldgirl.com" > /oldgirl/oldgirl.txt

PS: 運維人員工作的宗旨:簡單 高效 穩定

10. 系統執行級別(重點 面試題)

windows--系統出現故障--安全模式
系統啟動:服務程式 網路 安全服務 --啟動級別
          系統服務啟動           -- 啟動級別

# 檢視系統執行級別方法:
[root@oldboysz-01 ~]# runlevel
N 3

# 切換執行級別:
臨時調整:
   init 切換的執行級別
        
永久調整:
  centos6:
      vi /etc/inittab
            
  centos7:
  
# 檢視所有target資訊
[root@oldboysz-01 ~]# ls -l /usr/lib/systemd/system/runlevel*target
lrwxrwxrwx. 1 root root 15 Mar 28 10:41 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Mar 28 10:41 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Mar 28 10:41 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Mar 28 10:41 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Mar 28 10:41 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Mar 28 10:41 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Mar 28 10:41 /usr/lib/systemd/system/runlevel6.target -> reboot.target

# 永久設定執行級別 
[root@oldboysz-01 ~]# systemctl set-default rescue.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/rescue.target.

# 檢查預設執行級別
[root@oldboysz-01 ~]# systemctl get-default
rescue.target

# centos6 
    # 啟動級別:
    00  系統的關機級別   init 0 進入到關機狀態
    01  系統的單使用者模式 用於修復系統 或重置密碼資訊     沒有網路
    02  系統的多使用者模式                            沒有網路
    03  系統的多使用者模式 正常系統執行級別多使用者模式級別  有網路
    04  預留級別
    05  圖形化介面級別
    06  系統的重啟級別   
	
# centos7
    # 啟動級別:target目標
    00  系統的關機級別   init 1 進入到維修模式                  poweroff.target
    01  系統的單使用者模式 用於修復系統 或重置密碼資訊	             rescue.target
    02  系統的多使用者模式                            沒有網路    multi-user.target
    03  系統的多使用者模式 正常系統執行級別多使用者模式級別  有網路     multi-user.target
    04  預留級別                                             multi-user.target
    05  圖形化介面級別                                       graphical.target
    06  系統的重啟級別                                       reboot.target

# 總結: 
   1. 每個級別有什麼用
   2. 如何檢視此時系統執行級別
   3. 如何修改設定執行級別

11. 變數載入檔案 profile

變數載入檔案
# 什麼是變數	
   兩種方式解釋:
     1.看書
       目錄  內容
       變數  變數值
         
     2.小學算術題
       x+1=5 x=4
       x=4
       x+y=5 y=1

       x=4
     已知變數=數值
     變數=變數值
   
# 設定變數方法 
[root@oldboysz-01 ~]# X=1234
# 調取變數方法
[root@oldboysz-01 ~]# echo $X
1234
 
 
# 指令碼概念:
1. 將多個命令整合在一個檔案
2. 通過執行載入一個檔案可以完成多件事
   
# 指令碼檔案
[root@oldboysz-01 ~]# vi oldboy.sh 
dir=oldgirl
mkdir /$dir/oldboy01
mkdir /$dir/oldboy02
mkdir /$dir/oldboy03
   
# /etc/profile  
# 作用:讓變數資訊永久生效
 
# 直接讓檔案生效方法:
source /etc/profile
x=11
   
   
# 系統中變數的型別:
1. 普通變數:需要人為設定
2. 環境變數:系統預設就有的變數

11.1 環境變數

# 環境變數PATH作用
[root@oldboysz-01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@oldboysz-01 ~]# which cat
/usr/bin/cat
[root@oldboysz-01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.200  oldboyedu.com
[root@oldboysz-01 ~]# ls /oldboy
oldboy01  oldboy02  oldboy03
[root@oldboysz-01 ~]# mv /usr/bin/cat /oldboy
[root@oldboysz-01 ~]# ls /usr/bin/cat
ls: cannot access /usr/bin/cat: No such file or directory
[root@oldboysz-01 ~]# cat /etc/hosts
-bash: /usr/bin/cat: No such file or directory
  
# 修改PATH環境變數方法:
   臨時修改: 
   PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/oldboy
   
   永久設定:
   vi /etc/profile 
   export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/oldboy

11.2 系統別名的概念

# 系統別名概念
[root@oldboysz-01 ~]# ls -l /etc/hosts
-rw-r--r--. 1 root root 184 Apr  3 09:09 /etc/hosts
[root@oldboysz-01 ~]# ll /etc/hosts
-rw-r--r--. 1 root root 184 Apr  3 09:09 /etc/hosts

# 說明: ll命令就是ls -l命令的別名
# 作用: 別名可以使命令操作更加簡單
   
   
# 需求01: 如何讓一下命令操作簡單
cat /etc/sysconfig/network-scripts/ifcfg-eth => catnet
   
# 檢視系統別名預設設定:
[root@oldboysz-01 ~]# alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'



# 臨時設定別名的語法:
	alias 別名名稱='命令資訊'	
	
alias catnet='cat /etc/sysconfig/network-scripts/ifcfg-eth'
[root@oldboysz-01 ~]# alias
alias catnet='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
   
   
# 需求02:rm 命令執行 == echo "rm command is weixian,not use"
alias rm='echo rm command is weixian,not use'
[root@oldboysz-01 ~]# rm -rf /oldboy/
rm command is weixian,not use -rf /oldboy/
   
# 使別名功能失效:
    1. 取消別名
       unalias rm
    2. 利用撬棍
       \rm -rf /oldboy
    3. 絕對路徑方式執行命令
       /usr/bin/rm -rf /oldgirl

# 總結:/etc/profile檔案作用
01. 永久設定變數資訊
02. 設定別名資訊


# 別名如何永久設定
# 需求:讓rm命令等價echo "command not exec"?
    # 第一個里程:編寫profile檔案
    vi /etc/profile
    alias rm='echo command not exec'

    # 第二個里程:載入profile檔案內容
    
    # 第三個里程:修改使用者家目錄中.bashrc
   
   # 檢視隱藏資料方法
	[root@oldboyedu ~]# ls -a     //說明:linux系統中隱藏檔案都是以點開頭
    .  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc
    vi /root/.bashrc
	#alias rm='rm -i'    //註釋掉系統自帶的


# 總結:和環境變數配置以及別名配置相關的檔案有哪些
	01 /etc/profile == /etc/bashrc        國法(全域性生效)     強姦法:違背婦女和兒童意志
	02 ~/.bashrc    == ~/.bash_profile    家規(指定使用者生效)  不能和男生髮生關係


# source 
========================================
	補充:系統中將命令分為倆個大類
	01. 外接命令  需要進行安裝
	02. 內建命令  所有系統都內建的命令
    
# 檢視內建或外接命令方法
[root@oldboyedu ~]# type cd
    cd is a shell builtin
[root@oldboyedu ~]# type mkdir
    mkdir is /usr/bin/mkdir
========================================
    

12. 今日總結

系統中重要資料檔案

1. 主機名稱檔案
   /etc/hostname(catos7)
   /etc/sysconfig/network(centos6)
   如何修改主機名稱 (臨時修改 永久修改)
2. 本地解析檔案
   /etc/hosts  
3. 磁碟開機自動掛載檔案
   /etc/fstab 
4. 系統開機自動命令資訊的檔案
   /etc/rc.local    --- 設定伺服器開機啟動命令
5. 系統執行級別
   /etc/inittab                     --- 配置centos6執行級別
   systemctl set-default xx.target  --- 配置centos7執行級別	   
   系統中有什麼執行級別 7種
   單使用者級別如何重置密碼
6. 系統的變數和別名配置檔案
   /etc/profile 
   什麼是系統變數--指令碼?? 變數==目錄==已知變數
   什麼是環境變數
   1. 系統預設設定好的變數
   2. 又大寫字母組成變數
      什麼是系統別名?

13. 課程回顧

01. 課程知識回顧
    /etc目錄下面重要檔案進行講解
	1. 主機名配置檔案
	   centos6
	   /etc/sysconfig/network
	   centos7
	   /etc/hostname
	   
	   檢視主機名稱方法
	   hostname
	   設定主機名稱方法
	   centos6
	   臨時修改
	   hostname 主機名
	   永久修改
	   vi /etc/sysconfig/network
	   centos7 
	   永久修改
	   hostnamectl set-hostname 
	
	2. 本地解析檔案
	   /etc/hosts
	   作用:建立名稱和地址的對應關係
	   
	3. 磁碟掛載檔案
       /etc/fstab	
	   作用:實現磁碟裝置開機自動掛載
	   
	4. 開機自動載入檔案
	   /etc/rc.local
	   作用:檔案中的命令資訊,在開機時會自動執行
	   mount /dev/cdrom /mnt
	   注意:在檔案中新增資訊 echo "mount /dev/cdrom /mnt" >>/etc/rc.local
	   
	5. 系統執行級別 (基礎面試題)
	   centos6 (級別)
	   0  關機級別
	   1  單使用者級別(重置密碼)
	   2  多使用者級別 無網路
	   3  多使用者級別 有網路
	   4  預留
	   5  圖形化級別
	   6  重啟級別
	   
	   檢視當前級別:runlevel
	   修改當前級別:
	   臨時修改
	   init 級別數值
	   永久修改
	   vi /etc/inittab
	   
	   centos7 (target)
	   /usr/lib/systemd/system/runlevel*target
	   通過以上路徑資訊,可以獲得centos7對應centos6執行級別的關係
	   /usr/lib/systemd/system/runlevel0.target -> poweroff.target
       /usr/lib/systemd/system/runlevel1.target -> rescue.target
       /usr/lib/systemd/system/runlevel2.target -> multi-user.target
       /usr/lib/systemd/system/runlevel3.target -> multi-user.target
       /usr/lib/systemd/system/runlevel4.target -> multi-user.target
       /usr/lib/systemd/system/runlevel5.target -> graphical.target
       /usr/lib/systemd/system/runlevel6.target -> reboot.target

	   檢視執行target
	   systemctl get-default
	   修改執行target
	   systemctl set-default graphical.target
	   
	6. 變數資訊和別名資訊配置檔案
       /etc/profile == /etc/bashrc
       作用:	   
	   # System wide environment and startup programs, for login setup
	     01. 設定環境變數資訊和程式啟動相關的資訊,為了對登入之後系統環境做準備
       # Functions and aliases go in /etc/bashrc
	     02. 可以配置函式和別名功能 最好配置在/etc/bashrc
	   
	   變數:
	   作用:
	   01. 普通變數:使簡化指令碼的編寫
	   02. 環境變數:系統的環境配置有關 PATH(可以讓命令操作可簡便)
	   
	   別名:
	   作用:
	   1. 讓命令操作更簡單 長的命令-短命令(別名)
	   2. 讓危險操作更安全 rm別名=echo
	   
	   別名設定方法:
	   臨時設定:
	   alias 別名='命令資訊'

14. 登入提示檔案 motd

# 1.登入之後提示檔案
    /etc/motd
    cat /etc/motd
    
    Connecting to 10.0.0.200:22...
    Connection established.
    To escape to local shell, press 'Ctrl+Alt+]'.
    
    Last login: Thu Apr  4 09:55:53 2019 from 10.0.0.1
    oldboy-sz-01
    [root@oldboyedu ~]# 
	# 作用:可以對作業系統的使用者進行注意事項說明


# 2.登入之前提示檔案
    /etc/issue
    /etc/issue.net
    [root@oldboyedu ~]# cat /etc/issue
    \S
    Kernel \r on an \m
    
    [root@oldboyedu ~]# cat /etc/issue.net 
    \S
    Kernel \r on an \m

# 如何清空檔案內容
	echo "" >/etc/issue   -- 清空檔案
	>/etc/issue           -- 清空檔案
    [root@oldboyedu ~]# >/etc/issue
    [root@oldboyedu ~]# >/etc/issue.net 
	
# 在檔案中新增資訊
	[root@oldboyedu ~]# echo oldboy-sz-01 >/etc/issue
	

15. 軟體安裝相關目錄 /usr/local

# 和程式軟體安裝相關的目錄
    /usr/local	   
    [root@oldboyedu ~]# ll -d /usr/local/
    drwxr-xr-x. 12 root root 131 Mar 28 10:40 /usr/local/
	
# 系統中如何安裝軟體(吃飯)
	01. 訂餐點外賣 (做好的飯 筷子)  yum安裝軟體  簡單快捷  (掌握)
	02. 買半成品   (速凍餃子 加工)  rpm安裝軟體  需要有軟體安裝包
	03. 自己做飯   (食材     做飯)  編譯安裝軟體 可以靈活調整
	
# 下載安裝軟體利用yum方式
#	第一個里程:本地配置原始檔
	[root@oldboyedu ~]# cd /etc/yum.repos.d/
    [root@oldboyedu yum.repos.d]# ll
    total 32
    -rw-r--r--. 1 root root 1664 Apr 29  2018 CentOS-Base.repo
    [base]
    name=CentOS-$releasever - Base
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

#	統一yum安裝的環境:
	https://opsx.alibaba.com/mirror
	curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#	命令作用:
	從阿里雲下載一個yum原始檔,更新預設的/etc/yum.repos.d/CentOS-Base.repo,使下載環境統一
	
#	第二個里程:安裝軟體命令
	yum install 軟體名稱
	yum install -y vim tree wget net-tools nmap bash-completion(補全centos7的部分命令引數)

	
#    總結:yum安裝軟體常見問題
#    排錯流程:
    01. 能不能訪問外網
        a 訪問外網IP地址不通   網絡卡地址配置有問題
        b 訪問外網名稱不通		DNS配置有問題
	
	02. 檢查是否已經有下載的程序
	    ps -ef == windows 工作管理員-程序   PID為程序編號
		kill -9 PID 程序號   # -9表示強制刪除

	03. yum原始檔被修改調整

16. 日誌儲存目錄 /var/log/

# 日誌檔案儲存目錄
    ll /var/log/ 
# 兩個重要的系統日誌檔案
	messages        -- 記錄系統或服務程式執行的狀態資訊 和 錯誤資訊
	secure(安全)   -- 使用者登入資訊
	                  作用:可以進行監控檔案的資訊,檢查是否有過多失敗記錄
	
[root@oldboyedu ~]# cat /var/log/secure
	    01             02        03               04  
    Apr  4 11:35:29 oldboyedu sshd[3568]: Accepted password for root from 10.0.0.1 port 54913 ssh2
    Apr  4 11:35:29 oldboyedu sshd[3568]: pam_unix(sshd:session): session opened for user root by (uid=0)
    # 各部分的含義
        01. 使用者是什麼時間登入的
        02. 登入的主機名稱
        03. 使用什麼方式進行遠端登入
        04. 登入情況說明
            a 正確登入情況說明
            b 錯誤登入情況說明
		
#	如何檢視日誌資訊
	head -5 /etc/profile    --- 檢視前面幾行資訊 (預設檢視前面10行內容)
    tail -6 /etc/profile    --- 檢視倒數幾行資訊(預設檢視倒數10行內容)
	tail -f /var/log/secure --- 檢視日誌檔案方法 一直追蹤檢視檔案內容的變化

17. 系統硬體資訊檢視方法

# 系統硬體資訊檢視方法
# CPU:
	# a.利用檔案進行檢視:
	 cat /proc/cpuinfo 
	   model name: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz  -- CPU品牌型號
	   physical id	: 0                                     -- 表示CPU顆數  1顆
       processor	: 0                                     -- 表示CPU核數  1核
	   cpu cores	: 1
	   
	   physical id	: 0   第一段  physical id	: 0         -- 有兩顆CPU
	   physical id	: 0   第二段
	   physical id	: 1   第三段  physical id	: 1
	   physical id	: 1   第四段

       physical id	: 0   processor	: 0                     -- 一顆CPU有兩個核心
	   physical id	: 0   processor	: 1                   
	   cpu cores	: 2
	   
	   physical id	: 1   processor	: 0                     -- 一顆CPU有兩個核心
	   physical id	: 1   processor	: 1                   
	   cpu cores	: 2
	   
	   總共伺服器有多少顆CPU 有多少核心
	   有兩顆CPU --> 2路的伺服器
	   有4核心   
	   
	# b.利用命令程序檢視:
	 lscpu --> 調取cpuinfo檔案中的內容
	  Socket(s):(插槽)             2    --- 顯示伺服器CPU顆數
	  Core(s) per socket:          2    --- 每顆CPU有幾核
	  CPU(s):                      4    --- 整個伺服器有幾核
	  
# 負載:(CPU處理任務過多)  
    # a.利用檔案進行檢視:(監控)
	 cat /proc/loadavg
      0.00        0.01              0.05             負載值CPU核數有關
	  1分鐘平均   5分鐘平均負載    15分鐘平均負載
	  
	  eg: 伺服器4核的伺服器   -- 負載值3左右,就要關注
	      伺服器128核的伺服器 -- 負載值100(資料庫伺服器)
	  
	# b.利用命令進行檢視:
	  [root@oldboyedu ~]# w         //檢視負載資訊,檢視系統使用者登入資訊
       12:41:06 up 38 min,  2 users,  load average: 0.00, 0.01, 0.05

# 記憶體:記憶體使用情況
   # a.利用檔案進行檢視:
	[root@oldboyedu ~]# cat /proc/meminfo 
    MemTotal:        2030172 kB      --- 記憶體總的容量
    MemFree:         1738164 kB      --- 記憶體的空閒容量
    MemAvailable:    1714096 kB      --- 記憶體的可用容量
    Buffers:            2076 kB      --- baffer空間
    Cached:            90616 kB      --- cacahe空間
    SwapCached:            0 kB      --- 交換分割槽使用情況

   # b.利用命令程序檢視:
	[root@oldboyedu ~]# free -h      --- 以人類可讀方式顯示記憶體容量資訊
                  total        used        free      shared  buff/cache   available(*)
    Mem:           1.9G        137M        1.7G        9.5M        148M        1.6G
    Swap:          1.0G        0B(*)       1.0G

# 磁碟資訊/掛載資訊:
   # a.利用檔案進行檢視:
	  cat /proc/mounts
	  /dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
   # b.利用命令程序檢視:
      [root@oldboyedu ~]# df -h
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/sda3        49G  1.6G   48G   4% /
      devtmpfs        981M     0  981M   0% /dev
      tmpfs           992M     0  992M   0% /dev/shm
      tmpfs           992M  9.6M  982M   1% /run
      tmpfs           992M     0  992M   0% /sys/fs/cgroup
      /dev/sda1       197M  102M   95M  52% /boot
      tmpfs           199M     0  199M   0% /run/user/0

18. 課程總結

09. 課程知識總結 
    01. 環境變數和別名配置檔案
	    /etc/profile /etc/bashrc    國法 
		~/.bash_profile ~/.bashrc   家規(優先)
		
	02. 如何在系統中安裝軟體
	    yum 安裝軟體
		01. 更新yum原始檔
		02. 直接下載安裝軟體
		    yum install -y  軟體名稱

    03. 硬體資訊檢視方法
	    cpu	 :lscpu 
		記憶體	:free -h 
		磁碟	:df -h
		負載	:w
		
		
基礎作業:
01. 將之前的課程進行回顧總結
02. 總結命令/引數
03. 預習系統優化方法
04. vim使用技巧
05. 每天發了測驗題 週一下午測驗

作業:

# 基礎作業:
    1. 如何實現光碟機開機自動掛載
    2. 總結系統7個執行級別作用
       centos7 檢視執行級別方法 以及永久設定方法
    3. 利用單使用者模式重置密碼方法 centos7 
    4. 如何永久設定別名 rm別名
 
    1. 將之前的課程進行回顧總結
    2. 總結命令/引數
    3. 預習系統優化方法
    4. vim使用技巧

# 擴充套件作業:
	1. 安裝部署一個centos6的系統