1. 程式人生 > 實用技巧 >4. 系統階段回顧

4. 系統階段回顧

課程階段回顧部分

  • 不會的東西要先記下來

  • 什麼叫做知識掌握了

    • 作用清楚
    • 操作熟練
    • 知識原理可以繪圖

    PS:給不清楚人能講明白

五個階段

第一個階段:伺服器硬體知識和系統概念 OK
第二個階段:系統安裝部署和遠端連線
第三個階段:系統管理基礎操作命令(新增命令)
第四個階段:目錄結構知識
第五個階段:系統基礎優化部分

1. 伺服器硬體知識和系統概念

1.1 伺服器硬體知識和系統概念

1.1.1 伺服器硬體組成 ***

  • 電源 cpu 記憶體 磁碟 風扇

1.1.2 伺服器核心知識 *****

  1. 伺服器介紹部分 **

  2. 伺服器硬體詳述 *****
    電源:

    ​ 供電 冗餘能力(雙路 UPS 發電機)

    CPU:

    ​ 2個作用 處理任務 控制硬體)

    ​ 路數 核數

    記憶體:

    ​ 儲存裝置:臨時儲存

    ​ 緩衝(寫):將資料寫入到記憶體

    ​ 快取(讀):讀取記憶體中的資料

    ​ 程式 -- 開發人員編寫的程式碼

    ​ 程序 -- 執行起來的程式

    ​ 守護程序-- 一直執行的程序

    磁碟:(機械硬碟)

    ​ 儲存裝置:永久儲存

    磁碟的介面型別:SAS > SCSI > SATA

    RAID(陣列卡)

    • 是一塊磁碟容量更大

    • 資料儲存更安全

    • 資料儲存效率更高

    配置raid方法

    • raid0、raid1 (忽略)

    遠端管理卡

    • 可以遠端開機

    • 遠端安裝系統

1.1.3 伺服器系統知識

作業系統組成:雞蛋(核心、直譯器、應用程式)

QQ軟體聊天

  • 人操作軟體(你好)--- 直譯器 ---核心 -- 計算機硬體(二進位制)(網絡卡)

系統發展過程
譚邦寧 --- 發明了教學用的unix系統

斯托曼 --- 想法:發明出類似unix更好的系統

​ FSF: 建立了一個公司,自由軟體基金會

			GNU:發明出類似unix更好的系統  核心  直譯器 軟體程式

​ GPL:通用許可協議

託瓦茲 --- 發明出了linux早期核心雛形

PS:GNU專案+linux核心雛形==linux

常見系統發行版本:
redhat:收費
centos:免費

2. 系統安裝部署與遠端連線

2.1 虛擬化環境部署:***

# 1.確認網路相關配置 
   # a.編輯--虛擬網路編輯器--vmnet8的配置
     NAT模式:		優點:不容易出現IP地址衝突 	缺點:不能直接被其他宿主機訪問
	 橋接模式:    	優點:其他宿主機可以直接訪問 	缺點:容易造成IP地址衝突
	 僅主機模式: 	優點:安全                   	缺點:不能訪問外網
	 
   # b.確認vmnet8虛擬網絡卡配置正確
     在windows主機的網路介面卡中---檢視vmnet8配置
     
   # c.確認虛擬軟體服務是否開啟
     win鍵+r---services.msc---vmware開頭的服務是否開啟
     
   # d.確認電腦bios中有沒有開啟虛擬化功能
     F2 F10 F12 DEL
	 Fn + F2 F10 F12 DEL
     
# 2. 新建虛擬主機

# 3. 系統安裝說明 ***
   # a.磁碟如何分割槽(3個分割槽方案)
   
   # b.預裝什麼軟體(centos7 最小化安裝 1236(軟體包組)  centos6 最小化安裝 235)
     yum list       --- 可以安裝和已安裝的所有軟體
	 yum grouplist  --- 可以安裝的和已安裝的所有軟體包組資訊
     yum groupinstall -y Development Tools   --- 安裝軟體包組的方法
   

2.2 遠端連線

#1. 遠端連線主機  *****
   01. 藉助軟體進行連線  xshell 免費 功能強大
   02. 如何配置xshell
   03. 進行遠端連線
   
#2. 遠端連線異常  *****
  # 1. 檢查鏈路是否通暢
       ping 10.0.0.200
       
	#  不通的原因:
	   a 物理線路有問題
	   b 檢查網絡卡配置(IP地址 掩碼 閘道器 DNS)
	   c 網路安全策略阻止
	   d 虛擬網絡卡是否配置正確(重新初始化虛擬網路配置)
	   
  # 2. 遠端連線請求被阻止了
       客戶端進行測試
	   telnet 10.0.0.200 22
	   a 安裝策略阻止了 防火牆配置
	   
  # 3. 遠端服務沒有開啟 
       服務端進行測試
       
	   systemctl status sshd
	   ss == netstat
	   
	   [root@oldboyedu ~]# ss -lntup
       Netid State      Recv-Q Send-Q             Local Address:Port                            Peer Address:Port              
       udp   UNCONN     0      0                      127.0.0.1:323                                        *:*                   users:(("chronyd",pid=908,fd=1))
       udp   UNCONN     0      0                            ::1:323                                       :::*                   users:(("chronyd",pid=908,fd=2))
       tcp   LISTEN     0      128                            *:22                                         *:*                   users:(("sshd",pid=2540,fd=3))
       tcp   LISTEN     0      100                    127.0.0.1:25                                         *:*                   users:(("master",pid=1433,fd=13))
       tcp   LISTEN     0      128                           :::22                                        :::*
       
       -l list 			--- 列表顯示網路服務資訊
	   -n number    	--- 以數字方式進行顯示
       -t tcp           --- 網路協議
       -u udp           --- 網路協議
	   -p process       --- 顯示服務程序資訊



# 面試題:
    1. 已知一個服務的名稱,請告知服務的埠號是什麼
    2. 已知一個服務的埠,請給出埠號對應服務程序資訊		   
   
   
   
# 如何有netstat命令
	yum install -y net-tools
	   
[root@oldboyedu ~]# netstat -lntup
       Active Internet connections (only servers)
       Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
       tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3365/sshd           
       tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1433/master         
       tcp6       0      0 :::22                   :::*                    LISTEN      3365/sshd           
       tcp6       0      0 ::1:25                  :::*                    LISTEN      1433/master         
       udp        0      0 127.0.0.1:323           0.0.0.0:*                           908/chronyd         
       udp6       0      0 ::1:323                 :::*                                908/chronyd 



# 檢查有22埠的資訊
	   [root@oldboyedu ~]# ss -lntup|grep "22"
       tcp    LISTEN     0      128       *:22                    *:*                   users:(("sshd",pid=3365,fd=3))
       tcp    LISTEN     0      128      :::22                   :::*                   users:(("sshd",pid=3365,fd=4))

3. 系統基礎管理命令 ******

1)必須掌握知識

2)系統管理命令

a 所有基礎命令引數熟記

3.1檔案目錄建立命令總結

mkdir  目錄建立
  引數:-p 建立多級目錄
  touch  檔案建立 修改檔案的時間戳

3.2 vi 檢視命令總結

vi   記事本
 # a.游標快速移動快捷方式

​```
縱向移動: gg G ngg
橫向移動: 0/^  $
​```

 # b.移動游標轉為編輯狀態
    i I a A o O C cc
    
 # c.快速編輯文字內容資訊
    dd ndd yy nyy p np
    
 # d.特殊操作編輯文字方式
   # 顯示或取消顯示行號資訊
	:set nu 
	:set nonu
	
   # 撤銷文字內容編輯操作
	u  undo 
	ctrl + r  redo
	
#  快速搜尋文字指定內容
	/搜尋內容 -- n 進行選擇
	
  # PS:忽略大小寫搜尋資訊
	1. 設定方法 :set ic 		/ 取消方法 :set noic
	2. 設定方法 :set ignorecase / 取消方法 set noignorecase
	3. 查詢方法 /search-text\c
    
# 快速刪除內容到達行尾
	dG   將游標所在位置內容,到行尾資訊全部刪除

3.3 vim nodepad++(功能更強) 有顏色區分不同資訊

# 1. 取消高亮顯示
     /搜尋一個檔案中沒有的資訊

# 2. 快速移動或複製資料資訊
      :2,4move9      --- 將第幾行到第幾行的內容移動到指定行的後面
      :2,4copy9      --- 將第幾行到第幾行的內容複製到指定行的後面

# 3. 檔案內容資訊進行修改替換
     %s#oldboy#oldgirl#g   --- 將檔案中指定資訊全部做替換
     % 全部做替換
      s substitute  替換
      g global      將整行符合要求的字元都做替換
     #要替換的資訊#修改成什麼資訊#		 

      替換修改檔案部分內容
      :2,4s#oldgirl#oldboy#g    --- 將第二行到第四行內容進行替換
      :12,$s#oldgirl#oldboy#g   --- 將第十二行到結尾內容進行替換

# 4. 批量修改檔案內容
   #  1. 批量進行註釋 --- 批量新增資訊
        第一個步驟:進入批量編輯狀態(檢視模式)
         ctrl+v    --- 進入試圖模式
        -- VISUAL BLOCK --		 
        
         第二個步驟:批量選中要編輯的行
         方向鍵選擇
         
         第三個步驟:進行編輯修改
         shift+i--進行單行編輯
         
         第四個步驟:實現批量修改
         按esc

   #  2. 批量刪除資訊
         第一個步驟:進入批量編輯狀態(檢視模式)
          ctrl+v    --- 進入試圖模式
         -- VISUAL BLOCK --	
         
         第二個步驟:批量選中要刪除的列
          方向鍵選擇  
          
         第三個步驟:刪除資訊
         按鍵盤字母d 或者 按鍵盤字母x		 

b 擴充套件應用實踐功能掌握

課程知識回顧

1. 第二階段回顧:系統安裝和遠端連線
   1. 虛擬化環境部署(網路配置)
      NAT模式 實現其他宿主機可以遠端連線自己的虛擬主機

   2. 進行系統安裝
      a 分割槽概念
         b 系統軟體包組安裝
         補充知識點:centos7
         命名方式:	ensxx  乙太網 槽位 
      			eth    乙太網 0 1
      修改方式:
      3. 安裝系統時--選單的介面--install centos 7選擇--teb-- net.ifnames=0 biosdevname=0
             02. 在系統中進行修改
         ①. 編輯網絡卡配置檔案中網絡卡名稱資訊
          vim /etc/sysconfig/network-scripts/ifcfg-ens33
            NAME=eth0    --- net.ifnames=0
          DEVICE=eth0	--- biosdevname=0
          ②. 重新命名網絡卡配置檔名稱資訊
          mv ifcfg-ens33 ifcfg-eth0
          ③. 修改網絡卡名稱規則核心檔案
          /etc/default/grub->net.ifnames=0 biosdevname=0 ”到GRUB_CMDLINE_LINUX變數後
          ④. 使系統重新載入grub配置檔案
          grub2-mkconfig -o /boot/grub2/grub.cfg
   4. 遠端連線
      遠端連線的異常排錯方法	   

2. 第三個階段: 系統操作管理命令
   1. 目錄和檔案建立命令
   2. vi/vim詳細使用技巧  vim

3.4 vim常見錯誤、編輯原理

1. vim命令後面一定要接檔案
 vim /etc/hosts
2. vim只能編輯存在的目錄中的檔案
3. 編輯檔案突然非正常狀態退出
    將錯誤資訊製造出來:
	編輯一個檔案,在沒有退出前,直接斷開遠端連線

解決非正常狀態退出的問題方法:
    第一個步驟: 進行檢視檔案內容
    按大寫字母O
    
    第二個步驟: 確認檔案是否需要恢復
    需要恢復: 重新編輯按R,恢復檔案內容
    不用恢復: 重新編輯按E,進行重新編輯
    
    第三個步驟: 將臨時檔案進行刪除
        1. 按大寫字母D刪除檔案
        2. 利用rm命令刪除臨時檔案
           rm -f /oldboy/.oldboy.txt.swp
=========================================
vim編輯檔案原理
1. 開始利用vim編輯一個檔案
2. 需要判斷編輯的檔案所在目錄中是否有隱藏檔案
   a 擁有: 會有報錯提示資訊
   b 沒有: 進入到命令模式
3. 在命令模式就會產生臨時檔案
4. 進入編輯模式對檔案進行編輯
5. 編輯完成之後需要確定是否正常儲存退出
   a 是正常退出: 從編輯狀態--esc--命令模式--:wq儲存退出 (將臨時檔案重新命名)
   b 非正常退出: 臨時檔案會永久保留


3.5 檢視檔案資訊方法

3.5.1 檢視檔案或者目錄的屬性資訊

# 命令: ls檢視資料資訊
[root@oldboyedu ~]# ls /oldboy        		 	--- 檢視目錄中有什麼資料資訊
oldboy01  oldboy.txt  oldgirl.txt
[root@oldboyedu ~]# ls /oldboy/oldboy.txt 		--- 檢視目錄中檔案資訊是否存在				
/oldboy/oldboy.txt
[root@oldboyedu ~]# ls -l /oldboy/oldboy.txt 	--- 檢視檔案屬性資訊
-rw-r--r--. 1 root root 50 Apr  1 10:24 /oldboy/oldboy.txt
[root@oldboyedu ~]# ls -ld /oldboy/ 				--- 檢視目錄屬性資訊
drwxr-xr-x. 3 root root 59 Apr 11 10:23 /oldboy/
[root@oldboyedu ~]# ls -la /oldboy/ 				--- 檢視目錄中所有資料資訊,包含隱藏檔案
total 8
drwxr-xr-x.  3 root root  59 Apr 11 10:23 .
dr-xr-xr-x. 21 root root 282 Mar 29 16:21 ..
drwxr-xr-x.  3 root root 100 Apr  1 11:00 oldboy01
-rw-r--r--.  1 root root  50 Apr  1 10:24 oldboy.txt
-rw-r--r--.  1 root root  18 Apr 11 10:23 oldgirl.txt

#  企業工作的一個問題:
多個運維人員維護伺服器,下班著急回家,交代:將oldboy目錄中最新的資料檔案需要繼續編輯好
ls -ltr /etc/   # 按照時間進行排序顯示資料資訊,並且是反向排序

3.5.2 檢視檔案內容資訊方法

# 命令: cat
   [root@oldboyedu ~]# cat /oldboy/oldboy.txt     --- 檢視單個檔案
   hello world
   oldboy shenzhen 01
   oldboy shenzhen 02
   [root@oldboyedu ~]# cat /oldboy/oldboy.txt  /oldboy/oldgirl.txt  --- 檢視多個檔案
   hello world
   oldboy shenzhen 01
   oldboy shenzhen 02
   oldboy01
   oldboy02
   [root@oldboyedu ~]# cat -n /oldboy/oldboy.txt   --- 檢視檔案時,顯示每行的行號
        1	hello world
        2	oldboy shenzhen 01
        3	oldboy shenzhen 02
        
        
# 命令: less/more
   # less /etc/service  --- 類似於看書,一點點檢視檔案內容
   向下逐行顯示:  回車
   向下逐頁顯示:  空格
   向上逐行顯示:  方向鍵上
   向上逐頁顯示:  字母b
   搜尋資訊: /搜尋的字串資訊
   
   [root@oldboyedu ~]# less -N /etc/services 
   1 # /etc/services:
   2 # $Id: services,v 1.55 2013/04/14 ovasik Exp $
   3 #
   4 # Network services, Internet style
   5 # IANA services version: last updated 2013-04-10
   按q結束檢視

   # more /etc/service  --- 類似於看書,一點點檢視檔案內容
   向下逐行顯示:  回車
   向下逐頁顯示:  空格
   向上逐行顯示:  字母f/b

   head 前幾行
   tail 後幾行

3.6 直接編輯檔案命令方法

3.6.1 如何直接在檔案中新增單行內容

echo "oldboy" >>/oldboy/oldboy.txt

補充: echo命令用法說明:
  1. 請在螢幕上輸出 oldboyedu.com資訊

  2. 請在螢幕上輸出 1 2 3 .... 100 的數字資訊
   # 輸出序列資訊
   	# a.顯示連續的序列
   [root@oldboyedu ~]# echo {1..100}
   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
   [root@oldboyedu ~]# echo {01..100}
   001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100
   
   # b.顯示不連續的序列
      #1.不連續有規律的序列
      問題: 
      顯示1..10 的奇數資訊 1 3 5 7 9
      顯示1..10 的偶數資訊
      [root@oldboyedu ~]# echo {01..10..2}
      01 03 05 07 09
      [root@oldboyedu ~]# echo {02..10..2}
      02 04 06 08 10
      #2.不連續無規律的序列
      mkdir -p /oldboy/oldboy01/oldboy02/{www,bbs,blog}
      
練習題一:
在oldboy目錄下面創建出20個檔案,二十個檔名稱為 oldboy01,oldboy02 ..oldboy20
touch 

3.6.2 如何直接在檔案中新增多行內容

[root@oldboyedu ~]# cat /oldboy/oldboy.txt 
hello world
oldboy shenzhen 01
oldboy shenzhen 02

[root@oldboyedu ~]# cat >> /oldboy/oldboy.txt <<EOF
> oldboy01
> oldboy02
> oldboy03
> EOF

> [root@oldboyedu ~]# cat /oldboy/oldboy.txt 
> hello world
> oldboy shenzhen 01
> oldboy shenzhen 02
> oldboy01
> oldboy02
> oldboy03

> [root@oldboyedu ~]# cat >> /oldboy/oldboy.txt <<oldboy
> oldboy04
> oldboy05
> oldboy

> [root@oldboyedu ~]# cat /oldboy/oldboy.txt 
> hello world
> oldboy shenzhen 01
> oldboy shenzhen 02
> oldboy01
> oldboy02
> oldboy03
> oldboy04
> oldboy05

3.7 過濾篩選檔案內容命令

三劍客命令
老三: grep    過濾篩選資訊
老二: sed     修改替換檔案內容 擅長對檔案中的行進行操作
老大: awk     擅長統計分析檔案內容  擅長對檔案中列進行操作

# grep命令如何進行過濾:
	# 編輯一個測試檔案
    [root@oldboyedu ~]# cat >> /oldboy/test.txt <<EOF
    > oldboy01
    > oldgirl01
    > olddog01
    > oldboy02
    > oldgirl02
    > olddog02
    > EOF
    
    > [root@oldboyedu ~]# cat /oldboy/test.txt 
    > oldboy01
    > oldgirl01
    > olddog01
    > oldboy02
    > oldgirl02
    > olddog02
    
  # > 需求01: 請篩選出有oldboy的資訊
    > [root@oldboyedu ~]# grep "oldboy" /oldboy/test.txt 
    > oldboy01
    > oldboy02
    
  # > 需求02: 篩選有oldgirl的資訊,但是要有oldgirl資訊的上一行資訊也顯示
    > [root@oldboyedu ~]# grep -B 1  "oldgirl" /oldboy/test.txt 
    > oldboy01
    >
    > oldgirl01
    > --
    >
    > oldboy02
    > oldgirl02
    
  # > 需求03: 篩選有oldgirl的資訊,但是要有oldgirl資訊的下一行資訊也顯示
    > [root@oldboyedu ~]# grep -A 1  "oldgirl" /oldboy/test.txt 
    > oldgirl01
    >
    > olddog01
    > --
    >
    > oldgirl02
    > olddog02
    
  # > 需求04.篩選有oldgirl的信, 但是要有oldgirl資訊的下一行和下一行資訊也顯示
    > [root@oldboyedu ~]# grep -C 1  "oldgirl" /oldboy/test.txt 
    > oldboy01
    > oldgirl01
    > olddog01
    > oldboy02
    > oldgirl02
    > olddog02
    
   
  # > 需求05. 統計oldgirl資訊在檔案中出現了幾次
    > [root@oldboyedu ~]# grep -c  "oldgirl" /oldboy/test.txt 
    
  # 過濾出檔案中沒有#號的內容
  	grep -v "^#" /etc/selinux/config

# sed 命令如何進行過濾資訊
    [root@oldboyedu ~]# sed -n "/oldboy/p" /oldboy/test.txt 
    oldboy01  edu.com
    oldboy02
    
    p  print   將過濾資訊輸出
    -n         取消原檔案的所有內容輸出(取消預設輸出)

# awk 命令如何進行過濾資訊
[root@oldboyedu ~]# awk "/oldboy/" /oldboy/test.txt 
oldboy01  edu.com
oldboy02

3.8 修改檔案部分內容資訊

3.8.1 sed命令 (師傅: 真正修改檔案內容)

需求: 修改test.txt檔案內容 將所有oldboy資訊修改替換為 python
vim 替換: :%s#oldboy#python#g
sed 's#oldboy#python#g' /oldboy/test.txt

實踐操作
[root@oldboyedu ~]# sed 's#oldboy#python#g' /oldboy/test.txt     ---沒有實際修改
python01  edu.com
oldgirl01
olddog01
python02
oldgirl02
olddog02
[root@oldboyedu ~]# cat /oldboy/test.txt 
oldboy01  edu.com
oldgirl01
olddog01
oldboy02
oldgirl02
olddog02

[root@oldboyedu ~]# sed -i 's#oldboy#python#g' /oldboy/test.txt     ---實際修改
[root@oldboyedu ~]# cat /oldboy/test.txt 
python01  edu.com
oldgirl01
olddog01
python02
oldgirl02
olddog02

3.8.2 tr命令 (徒弟: 假裝修改檔案內容)

# 需求: 修改test.txt檔案內容 將所有python資訊修改替換為 oldboy
[root@oldboyedu ~]# tr "python" "oldboy" </oldboy/test.txt 
oldboy01  edu.com
oldgirl01
olddog01
oldboy02
oldgirl02
olddog02
[root@oldboyedu ~]# cat /oldboy/test.txt
python01  edu.com
oldgirl01
olddog01
python02
oldgirl02
olddog02

# tr用法
[root@oldboyedu ~]# echo 123|tr "123" "abc"
abc

# 小於號用法1:
[root@oldboyedu ~]# tr "123" "abc" < /oldboy/test01.txt  ---沒有實際修改
abc
[root@oldboyedu ~]# cat /oldboy/test01.txt
123

#  替換資訊的情況: tr命令替換資訊是1對1的替換

 #  1. 替換的內容字元數 > 修改後的內容字元數   abcd > 123
      [root@oldboyedu ~]# echo abcd|tr "abcd" "123"
      1233
      
#   2. 替換的內容字元數 < 修改後的內容字元數   abc  < 1234
      [root@oldboyedu ~]# echo abcd|tr "abc" "1234"
      123d
      
#   3. 替換的內容字元數 = 修改後的內容字元數   abcd = 1234
      [root@oldboyedu ~]# echo abcd|tr "abcd" "1234"
      1234
      
#   4. 極特殊情況 
      abcba 12345  54345
      c - 3
      b - 4
      a - 5

課程知識總結:

1) vim編輯命令常見異常情況
2) vim編輯命令的執行原理
3) 如何檢視檔案內容命令  cat less more head tail
4) 如何編輯檔案內容(直接編輯)
   單行編輯  echo >> > {} 序列符號
   多行編輯  cat >> 檔案 << EOF ... EOF 
5) 過濾篩選檔案內容 
   三劍客  grep sed awk 
6) 修改替換檔案內容 
   1) 真正修改替換  sed 
   2) 假裝修改替換  tr


擴充套件命令:

1. tail命令引數 -f 或者 -F

課程知識回顧

1) vim的常見錯誤
2) vim的執行原理(理解複述 學著畫圖)
3) 檢視文字資訊命令 cat less/more head tail
4) 直接編輯檔案資訊 echo cat(編寫多行) {} 序列符號
5) 進行篩選過濾資訊 grep sed awk
6) 進行資訊內容替換 sed tr
   [root@oldboyedu ~]# cat /oldboy/oldgirl.txt 
   oldboy01
   oldboy02
   [root@oldboyedu ~]# tr "a-z" "A-Z" < /oldboy/oldgirl.txt 
   OLDBOY01
   OLDBOY02

4. 目錄結構知識回顧

# 如何解除安裝軟體:
1. yum erase cowsay -y	  --- 極其不建議
   erase          Remove a package or packages from your system
2. rpm -e 軟體名稱  --nodeps  --- 推薦使用

5. 系統優化知識回顧

5.1 檢視系統資訊的方法

  • **uname **
  • cat /etc/redhat-release

5.1 批量建立使用者

# 建立使用者: useradd 
   方法一: 建立多個使用者(藉助nodepad++)
   alt+c功能: 可以生成數字序列
   
   方法二: 藉助sed命令建立多個使用者???
   
   方法三: 利用shell指令碼的 迴圈語句
   [root@oldboyedu ~]# for num in {01..20};do useradd oldgirl$num;done
   [root@oldboyedu ~]# for num in {01..20};do id oldgirl$num;done
   uid=1021(oldgirl01) gid=1021(oldgirl01) groups=1021(oldgirl01)
   uid=1022(oldgirl02) gid=1022(oldgirl02) groups=1022(oldgirl02)
   uid=1023(oldgirl03) gid=1023(oldgirl03) groups=1023(oldgirl03)
   uid=1024(oldgirl04) gid=1024(oldgirl04) groups=1024(oldgirl04)
   uid=1025(oldgirl05) gid=1025(oldgirl05) groups=1025(oldgirl05)
   uid=1026(oldgirl06) gid=1026(oldgirl06) groups=1026(oldgirl06)
   uid=1027(oldgirl07) gid=1027(oldgirl07) groups=1027(oldgirl07)
   uid=1028(oldgirl08) gid=1028(oldgirl08) groups=1028(oldgirl08)
   uid=1029(oldgirl09) gid=1029(oldgirl09) groups=1029(oldgirl09)
   uid=1030(oldgirl10) gid=1030(oldgirl10) groups=1030(oldgirl10)
   uid=1031(oldgirl11) gid=1031(oldgirl11) groups=1031(oldgirl11)
   uid=1032(oldgirl12) gid=1032(oldgirl12) groups=1032(oldgirl12)
   uid=1033(oldgirl13) gid=1033(oldgirl13) groups=1033(oldgirl13)
   uid=1034(oldgirl14) gid=1034(oldgirl14) groups=1034(oldgirl14)
   uid=1035(oldgirl15) gid=1035(oldgirl15) groups=1035(oldgirl15)
   uid=1036(oldgirl16) gid=1036(oldgirl16) groups=1036(oldgirl16)
   uid=1037(oldgirl17) gid=1037(oldgirl17) groups=1037(oldgirl17)
   uid=1038(oldgirl18) gid=1038(oldgirl18) groups=1038(oldgirl18)
   uid=1039(oldgirl19) gid=1039(oldgirl19) groups=1039(oldgirl19)
   uid=1040(oldgirl20) gid=1040(oldgirl20) groups=1040(oldgirl20)

# 設定密碼資訊:

   1. 交換式設定密碼
         passwd 使用者名稱 -- 輸入兩次密碼
   2. 免互動設定密碼
         [root@oldboyedu ~]# echo 123456|passwd --stdin oldboy02
         Changing password for user oldboy02.
         passwd: all authentication tokens updated successfully.

# 建立使用者同時,設定使用者密碼資訊
   useradd olddog01 ;echo 123456|passwd --stdin olddog01

作業

基礎作業:
1. 總結網路中的服務埠號
2. 總結vi/vim使用方法
3. 總結vi/vim使用的異常錯誤

基礎作業:
01. 一個軟體安裝好了,如何利用rpm命令進行解除安裝
02. 總結第一個階段課程知識
03. 進行一天課程內容複述,錄音(全民K歌)
	
擴充套件作業:
01. 如何建立多個使用者(建立50個使用者 oldboy1..oldboy100)

擴充套件作業
1. tr命令替換資訊的原理
   [root@oldboyedu ~]# tr "oldgirl" "oldboy" </oldboy/test.txt 
   oydboyy01
   oyddob01
   oydboyy02
   oyddob02   
   為什麼檔案資訊替換亂了

作業題目講解 tail tr

作業題目:

1. tail命令引數 -f 或者 -F
   tail -f追蹤檔案資訊時: 檔案被刪除或移動走, 需要進行重新追蹤
   tail -F追蹤檔案資訊時: 檔案被刪除或移動軸, 不需要進行重新追蹤,只要檔案恢復回來會繼續追蹤

   日誌檔案: 檔案資料會不斷增加,歷史悠久的日誌檔案會清空
   tail -F 日誌資訊 

2. tr命令替換資訊的原理
   [root@oldboyedu ~]# tr "o l d g i r l" "o l d b o y " </oldboy/test.txt 
   oydboyy01  ok
   oyddob01   ok
   oydboyy02  ok
   oyddob02   ok
   為什麼檔案資訊替換亂了

   oldgirl  oldboy  > oydboyy      
   o - o    
   d - d 
   g - b
   i - o
   r - y
   l - y

   o l d d o g >>  o 

   替換資訊的情況: tr命令替換資訊是1對1的替換

   1. 替換的內容字元數 > 修改後的內容字元數   abcd > 123
      [root@oldboyedu ~]# echo abcd|tr "abcd" "123"
      1233
   2. 替換的內容字元數 < 修改後的內容字元數   abc  < 1234
      [root@oldboyedu ~]# echo abcd|tr "abc" "1234"
      123d
   3. 替換的內容字元數 = 修改後的內容字元數   abcd = 1234
      [root@oldboyedu ~]# echo abcd|tr "abcd" "1234"
      1234
   4. 極特殊情況 
      abcba 12345  54345
      c - 3
      b - 4
      a - 5

   問題: oldboy -- oldgirl --> ildgir