Linux運維筆記--第二部

2-重要目錄結構詳解html

 

1.回顧Linux目錄結構知識

/dev/            設備目錄linux

/etc/             系統配置及服務配置文件,啓動命令的目錄nginx

/proc            顯示內核及進程信息的虛擬文件系統面試

/tmp             臨時文件目錄,公共廁所,客廳正則表達式

/home          普通用戶家目錄,大臣的家apache

/root             超級管理員的家目錄,皇宮windows

/var               變化的目錄,通常是日誌文件,cache的目錄安全

/usr               用戶程序,及數據、幫助文件、二進制命令等的目錄服務器

/bin和/sbin和/usr/sbin   用戶命令的目錄網絡

2.重要基礎命令回顧

   省略……

3.Linux網卡重要文件詳細說明及配置實戰

  必需要掌握的Linux目錄路徑知識

  /etc/sysconfig/network-scripts/ifcfg-eth0   配置網絡地址及GW等

  /etc/init.d/network restart     重啓網卡生效(影響全部網卡)

  ifdown eth0&&ifup eth0        只針對eth0網卡

  經過setupà」network configuration」  修改網卡配置文件就是在改這個文件

4. Linux服務器客戶端dns重要配置文件及實戰詳解

  /etc/resolv.conf     設置Linux本地的客戶端DNS的配置文件,能夠實現域名和IP的互相解析(網卡配置優先此配置文件)

  Setupà「network configuration」à「DNS configuration」==/etc/resolv.conf配置 

 上述設置其實是修改/etc/resolv.conf這個文件

 負責域名和IP互相解析的服務就是DNS(domain name system)

 不要在網卡配置文件裏配置DNS,而是在/etc/resolv.conf裏配。

 小結:

  1. 客戶端DNS能夠在網卡配置文件裏設置(ifcfg-eth0)
  2. 客戶端DNS也能夠在/etc/resolv.conf裏設置
  3. 網卡里的設置DNS優先於/etc/resolv.conf

   建議:工做環境中在網卡配置文件中進行設置

5.  Linux服務器主機名解析重要文件

     # hostname  /etc/hosts           查看主機名

     # vi  /etc/hosts          配置主機文件名

     #tail -l /etc/hosts       查看IP地址和主機名

       在互聯網中可經過訪問主機名或域名去訪問IP,在hosts文件中配置號IP對應的主機名便可。

       例:可把任一個IP(192.168.100.11)與www.baidu.com解析在一塊兒,訪問百度則去了IP對應的網站。

      總結:/etc/hosts : 局域網、主機名和IP解析,至關於局域網的DNS工具。 

6. host文件的企業應用及修改主機名文件詳解 (***)

   ⑴ host文件在企業裏的做用

        a. 開發、產品、測試等人員,用於經過正式的域名測試產品。

  b.服務器之間的調用能夠用域名(內部的DNS),方便遷移。

   ⑵ /etc/sysconfig/network 可修改機器名及網卡啓動,網關等配置

  a. vi /etc/sysconfig/network     network也可配置網管,是主機名的配置文件,更改後永久生效。

  b. hostname 主機名               同時修改在運行中的服務器,用此命令更改後,當前生效。

     c. cat /etc/sysconfig/network   查看network文件內容。

7. fstab文件字段詳解-原理精講-實戰反芻原理知識 (*****)

  #df -h     磁盤掛載分區信息

  fstab做用: 設置文件系統掛載信息的文件,使得開機可以自動掛載磁盤分區。

  man fstab    查看fstab文件幫助信息。

  例:  

 
要被掛載的設備(磁盤分區) 掛載點(要掛載到哪一個目錄)  文件類型  掛載選項(只讀、可寫)   是否備份(0不備份;1備份)    文件系統有問題,是否檢查(0不檢查;1檢查) 
 tmpfs    /dev/shm  tmpfs    defaults  0  0
 devpts    /dev/pts  devpts  gid=5,mode=620  0  0
 sysfs    /sys      sysfs      defaults   0  0
 proc  /proc  proc defaults   0  0

  例:  

  # mount -t ext4 -o loop,noatime,noexec  /dev/sdb/  /mnt

  # mount  -t  ext4  -o  noexec  /dev/sda  /mnt           手動掛載

  先格式化:mkfs.  ext4  /dev/sdb/

  查看掛載分區: df  -h

  卸載掛載分區:umount  /mnt

    /dev/sdb    /mnt     ext4     loop,noatime,noexec  0    0

  測試手動掛載:

  1. 建立了一個虛擬的塊設備。

    dd  if=/dev/zero  of=/dev/sdb/   bs=4906   count=100

  2. 格式化

    mkfs. ext4  /dev/sdb

  3. 掛載

   mount  -t  ext4  -o loop,noatime,noexec  /dev/sdb/  /mnt

8. 實踐fstab掛載磁盤機開機自動掛載實踐

  fsck  -A磁盤檢查(不要檢查好磁盤,可能壞掉),卸載狀態檢查。

9. fstab 文件損壞或者配錯沒法啓動系統故障解決

  第一列掛載的設備,能夠是設備或UUID,或磁盤標籤。

  fstab出問題修復:

  1. 開機提示,輸入密碼,修復。

  2. 救援模式:rescure  rescue

  若是/etc/fstab 爲只讀狀態,用mount -o rw,remount  /        修改後再編寫

10. rc.local 文件詳解及與fstab區別詳解

  讓一個程序開機啓動

  1. chkconfig  (/etc.int.d/sshd)

     2. 把程序放入 /etc/rc.local  (若是沒有特別要求,選擇rc.local啓動)

  mount掛載和fstab的區別:

  NFS網絡文件系統掛載時,網卡還沒起,就已經加載fstab了,網絡文件系統只能用rc.local 啓動,不適合fstab  .

11. inittab重要文件講解及Linux開機啓動過程介紹

  /etc/inittab做用:設定系統啓動時init進程把系統設置成什麼樣的runlevel運行級別及加載相關級別對應啓動文件設置。

  cat  /etc/inittab  查看運行級別

12. 其餘重要目錄知識詳解及實戰演示做用

  /etc/init.d    (yum/rpm安裝的軟件服務都在該目錄下)

  /etv/profile  (定義變量,包括系統的和自定義的)

  /etc/profile.d    (該目錄放程序和腳本,重啓後便執行)

  /etc/motd    (該目錄存放啓動執行的字符串)

13. etc目錄下的重要文件及目錄詳解

  cat  /etc/redhat-release  查看Linux版本號

  /etc/group      設定用戶的組名與相關信息

  /etc/passwd   帳號信息文件

  /etc/shadow   密碼信息文件

  /etc/sudoers  能夠執行使用sudo命令的配置文件

  /etc/securetty   設定哪些終端可讓root登錄

  /etc/login.defs  全部用戶登錄時的缺省配置

  /etc/modprobe.conf  內核模塊額外參數設定

*   /etc/syslog.conf 日誌設置文件    限Centos 5.x

*   /etc/rsyslog.conf   日誌設置文件    限Centos 6.x

*      /usr/local         這個目錄通常是用來存放用戶自編譯安裝軟件的存儲目錄。經過源碼包安裝的軟件,若是沒有特別指定安裝目錄,便安裝在這個目錄中。

            至關於windows中c:\program files文件夾。

  /usr/src  內核源碼存放目錄,好比下面有內核源碼目錄,好比:Linux-2.xxx.xx目錄等。

  1. rpm -ivh 包名.rpm

  2. yum install 包名 (yum  update 包名        更新軟件包)

14. var目錄下重要文件及目錄詳解

  /var             日誌文件

  /var/log            各類系統日誌存放地

*      /var/log/messages     系統信息默認日誌文件,很是重要。按周自動輪循。

     /var/log/secure      安全日誌,SSH鏈接日誌

  /var/spool/cron/root  定時任務crond配置文件。 

  /pro 下的重要路徑知識

*      /pro 虛擬目錄,是內存的映射,內核和進程的虛擬文件系統的信息

*      /pro/version    內核版本

*   /pro/sys/kernel     系統內核功能

*      /pro/cpuinfo         關於處理器的信息。如類型、廠家、型號和性能等。

*   /pro/meminfo       系統內存信息,free  -m

       /proc/devices       當前運行內核所配置的全部設備清單

    /proc/dma     當前正在使用的DMA通道

*      /proc/filesystems  當前運行內核所配置的文件系統

  /pro/interrupts  正在使用的中斷,和曾經有多少箇中斷。

  /proc/ioports    當前正在使用的I/O端口

*      /pro/loadavg     系統負載平均值信息

**   有關目錄結構的總結: http://yangrong.blog.51cto.com/6945369/1288072

15. 一大波命令超細講解前運維思想

  1. 學會總結是學好運維的重要前提。

  2. 經過案例或例子來總結一個技術點或者命令。

  3. 畫一張邏輯圖,形象的卡通記憶這個知識技術點。

  4. 經過管道過濾數據時,最好先輸出結果,而後回退再使用管道看看結果過濾。

  學習博客資源:

  1. 億圖(專業原理圖)基本技巧分享:http://v.youku.com/v.show/id_XOTEZOTKZMjMz.html

  2. 2015 年學習方法分享:(密碼:oldboy)  http://v.youku.com/v_show/id_XOTEwNTYyMjQw.html

  3. 學會使用搜索引擎查找內容:    http://www.tudou.com/programs/view/clnRk05L5hk/

16.  ls及正則表達式深刻實戰案例講解

  考題: 如何過濾出已知當前目錄下 raymond 中的全部一級目錄(提示:不包含raymond目錄下面目錄子目錄及隱藏目錄,即只能是一級目錄)

  答案:a.   ls -l  | grep "^d"    (^表示以xxx開頭,^raymond,以raymond開頭)    

        b. ls  -lf | grep  /    

        c. ls -lf | grep "1$"  (1$以"1"結尾的)

  ls -lF   (F給不一樣的文件類型加標識號,例*,/,@,=)

17. ls-grep-find組合命令解決企業問題實戰

  以16節考題爲例的 tfind方法:

  1. find  /  -maxdepth  |  -type  d                  2.  find  /raymond  -maxdepth  1  -type d ! -name  "raymond"

18. tree命令重要實戰及超級重要運維思想講解

  以16節考題爲例的 tfind方法:  tree  -L 1  -d

  運維思想:當一個命令的輸出,含有咱們須要的內容的時候,咱們要想到這個命令可能會有對應的參數直接顯示,咱們須要的內容。

  awk,sed的過濾

  1. ls -lF | awk  '/^d/'

  2. ls -lF | sed -n '/^d/p'

19. cd命令案例及重要字符知識實踐

  (cd  -  切換到更改前的上一目錄)(cd .  當前目錄  )(cd ..   上級目錄)(cd  ~   返回家目錄)

  (ls   -p 給目錄加斜線;-r  reverse反轉排序;-他按修改時間排序) (ls,grep) --color = auto  給輸出的不一樣類型文件加不一樣顏色。

20. find命令超級重要企業級案例應用詳解

  企業面試題:已知apache服務的訪問日誌按天記錄在服務器本地目錄/opt/logs下,因爲磁盤空間如今要求只能保留最近7天。訪問日誌!請問如何解決?請給出解決辦法或配置

  或處理。 提示:能夠從apache服務配置上着手,也能夠從生成出來的日誌上着手。

  find  /oldboy/test  -type  f  -name  "access *.log"  -mtime +7 | xargs  rm  -f  (-exec  rm  -f  { }  \ ;)

  find  -ctime  按文件修改時間查找    -atime  按文件訪問時間查找

21. tail 命令的企業級最多見重要應用講解

  tail  -f  /var/log/message    跟蹤一個文件結尾的變化

  tailf     /var/log/message

  tail  -F /var/log/message

22. 打印行號的8種命令方法頭腦風暴及實踐

  例:打印配置文件nginx.conf內容的行號及內容,該如何作?

  1. cat  -n  oldboy.txt 

  2. nl  oldboy.txt

  3. grep  -n  "."  nginx.conf      grep  -n 「abc」  oldboy.txt     把匹配abc字符串的行號打印出來。

  4. less  -N nginx.conf

  5. awk  '{print  NR, $0}'  message         NR表示行號,$0表示整行內容

  6. sed  '='  /etc/rsyslog.conf

23. chkconfig 命令核心案例及核心原理

  反覆看視頻

24. chkconfig 命令學生理解誤區

  chkconfig 管理腳本的要求

  1. 執行/etc/init.d/oldboy  restart    格式正常服務

  2. 腳本里開頭增長以下:

  #chkconfig:  35  56  24

  #description:oldboy  linux  test

  特別注意:

  /etc/init.d/oldboy  start    讓程序當前運行

  chkconfig是管理是否開機自啓動

  二者沒有什麼關係    (反覆看視頻)

25. 運行級別-中文亂碼-Linux優化方案彙總

  Linux系統運行級別通常爲0-6,下面爲每一個級別的含義:

  0 :關機模式

  1 :單用戶模式(綠色)

  2 : 無NFS的多用戶模式(NFS網絡文件系統)

  3 :文本模式(完整的多用戶模式)

  4 : 未使用的

  5 : 圖形模式

  6 : 重啓模式

  提示:綠色爲重要的須要有限記住的。查看當前運行級別的命令爲:

  #runlevel

  中文亂碼解決:  # ./etc/sysconfig/i/8n                     #echo  $LANG   顯示的字符集和secureCRT軟件設置要一致便可。

  如何優化Linux系統?共13條。     博客優化:http://oldboy.blog.51cto.com/2561410/988726

26. tar命令核心應用案例及多重要參數詳解

  案例:/etc/目錄爲Linux系統的默認的配置文件及服務啓動命令的目錄

  a. 請用tar打包/etc整個目錄(打包及壓縮)

  b. 請用tar打包/etc整個目錄(打包及壓縮。但須要排除/etc/services文件)

  c. 請把a點命令的壓縮包,解壓到/tmp指定目錄下(最好只用tar命令實現)

  a. 解答:# tar zcvf  etc.tar.gz   /etc

      打包總結:儘可能切換到打包目錄的上級目錄,而後用相對路徑打包。   tar  zcvf  [路徑隨意] / 匡  [相對路徑]  一堆蘋果

  b. # tar zcvf  etc.tar.gz  --exclude = /etc/services  /etc

  c. # tar xf a.tar.gz  -C /tmp/  (解壓到指定目錄 -C) (不加-C,默認解壓到當前目錄)

27. tar命令打包格式及組合find應用原理及誤區詳解

  # tar jcvf test.tar.bz  ./test (bz打包命令)

  #tar  jxvf  test.tar.bz

  還有 gzip/unzip  zip

  案例:打包oldboy目錄下全部文件

  1. # find  /oldboy/ -type f | xargs tar zcvf oldboy.tar.gz

  2. # tar  zcvf  /root/oldboy.tar.gz   ' find  /oldboy  -type  f '

28. cut命令及參數企業級案例講解及awk對比實戰

  案例:# echo "I am oldboy myqq is 4900048">>oldboy.txt

        # cat  oldboy.txt

  顯示: I  am oldboy myqq is 49000448    取出字符串oldboy和4900048

  解答1:# awk '{print $3 " " $6}'  oldboy.txt  (-f 取第幾列)

  解答2:# cut -d " "  -f 3,6  oldboy.txt   (-d  指定分隔符)

  解答3:# cut -c 6-11,20-   oldboy  (-c 從字符排序位數截取字符串)

29. awk 多分隔符功能及wc命令案例及企業級應用場景

  例:I am oldboy,myqq is 49000448 取字符串oldboy,4900048

    #awk -F "[, ]"  '{print $3 " " $6}' oldboy.txt

    顯示:oldboy  49000448  

    awk博客:深刻淺出三劍客之awk,sed必殺技一例 (老男孩博客搜索)

    awk (http://oldboy.bolg.51cto.com/256141/950730)

    sed (http://oldboy.blog.51cto.com/2561410/949365) 

    例:如何查看/etc/services文件有多少行?

    解答:a. wc -l  /etc/services   查看文件行數

          b. 全部查行號的均可以相似cat  -n file | tail -1

       c. # awk '{print NR $0}'  /etc/services/tail  -1

          d. # grep  -n "."  /etc/services/tail  -1

          e. # sed  -n  '$='  /etc/services

       wc -lcmL  a.txt  ( b:行數;c:字符數  m:字符數  L:?)

                wc  打印行數,字節,字符數等。重要參數-l (企業案例用的多)

  例:過濾出/etc/services文件包含3306或1521兩數的行的內容

  解答:1. # grep -E  "3306|1521"  /etc/services

      2. # egrep --color=auto  "3306|1521"  /etc/services

相關文章
相關標籤/搜索