1. 程式人生 > >Linux系統介紹(二)

Linux系統介紹(二)

一.linux 作業系統概述

    1.常見作業系統

       - 服務端作業系統 : linux、unix、windows server 
       - 單機作業系統 : windows(dos 、ucdos、win95、win98、win2000、xp、vista、win7、win8)
                         MAC 、linux(ubuntu)
       - 移動作業系統 Android、IOS 、Windows phone

    2.linux作業系統介紹

      - 為什麼要學習linux作業系統 ?
        1. 大部分服務端都採用linux ,JEE部署到伺服器中
        2. 一些企業和學校採用linux研發和教學 
        3. 很多嵌入式開發 用linux  
        4. 雲端計算、大資料 是叢集網  linux : centos 
      - 特點

  
        1. 開放、開源、多使用者的網路作業系統
        2. 基於unix(unix-->minix-->linux(linus :林納斯 芬蘭 )),可以定製核心
        3. 假如了GNU組織(自由軟體組織 ,copyLeft) ,通過GPL(通用公共許可) 許可對外發布  
      - linux組成
         1. linux核心(linus 團隊管理)
         2. shell :使用者與核心互動的介面
         3. 檔案系統 : ext3、ext4 等  windows 有 fat32  、ntfs 
         4. 第三方應用軟體 
    
      - linux作業系統版本   

        1. 核心版本 (linus 團隊管理)  3.8
        2. 發行版本  :一些軟體公司以核心為基礎,再新增一些軟體和文件形成發行版本
       - red hat  : rhel(即Red Hat Enterprise Linux) ,centos
       - debian   : debian,ubuntu(桌面)
       - android  

二.安裝linux系統

   1. vmware安裝 : 建立虛擬機器的軟體 
      vitual box :oracle 公司提供

   2. 虛擬機器安裝
      - 直接安裝
        - 建立虛擬機器
    - 安裝ubuntu映象
      - 開啟虛擬機器映象: 虛擬機器+作業系統(ubuntu)
        1. 開啟*.vmx 檔案
    2. 使用者名稱  itcast  密碼  123
        

三.linux系統環境

 預設有6個命令互動通道和一個圖形介面互動通道,預設進入到的是圖形介面通道
     命令互動模式切換:ctrl+alt+f1---f6
     圖形互動介面 ctrl+alt+f7
   
   1.圖形介面互動模式
     - terminal: 圖形介面的命令終端,它是圖形介面互動通道的延伸,要依賴於圖形介面
                  
    
   2.命令互動模式 
      命令提示符:
      [email protected]:~$ 
        - itcast:使用者名稱
    - ubuntu :主機名
    - ~  :路徑 ,假如當前的路徑正好是 該使用者存放資料的根目錄 ,則顯示~
    - $ :使用者的型別  $代表普通使用者  #  代表 超級使用者
      
   3.linux檔案系統 

    - 目錄結構
    - 檔案許可權分析
      w :可寫   r: 只讀  x:可執行  - :無許可權
      檔案許可權
       1. 字元表示法
         drwxr-xr-x
      第一個字元 :檔案的型別  d :普通檔案  - :資料夾  c :串列埠檔案  l :連線檔案
           2-4 字元  : 該檔案的屬主使用者的許可權 
       5-7  字元 : 與屬主使用者同一組的其他使用者的許可權
       8-10 字元 :  不同組的其他使用者的許可權
        2. 數字表示法
       -rw-r--r--   :檔案的預設許可權   644
       drwxr-xr-x   : 目錄的預設許可權  755  
     

四、linux的常用命令 

   1.登出、關機、重啟
     - 登出 :logout :登出 、exit 
     - 關機 :
        shutdown - h  時間
      - h :關機
      - 時間 :
        1. now :馬上
        2. 12.30 :指定具體時間
        3. 3  :幾分鐘以後
     sudo : superuser do :由超級使用者來執行該命令
       要配置sudo 命令 : 授權 哪些使用者能執行哪些命令
        由超級使用者配置  sudo 
         /etc/sudoers 
       sudo shutdown -h now    當前賬號:itcast  
     - 重啟 :
        shutdown -r  時間
      -r :restart 
   2.linux基本命令 :檔案操作命令
    
     1. ls   : 檢視目錄內容
        - l :檢視詳細資訊
    - a :檢視所有檔案(隱藏)
        man :manual : 手工,幫助 ,幫助命令,好比windows help 
     命令: man ls
     2. mkdir :建立目錄 
          Desktop:
        - java
          - JEE : aa.txt  bb.txt  
          - Android
     3. cd  切換目錄
        - cd ..  記得要加空格
    - cd ./java  進入當前目錄的子目錄
    - cd ../xxx  進入上一級目錄的子目錄
       tab :自動補全
     4. touch  :建立一個空白的普通檔案
        touch aa.txt 
     5. echo  :把內容重定向到指定的檔案中 ,有則開啟,無則建立
     6. cat、more  :檢視檔案內容
        - cat :檢視檔案內容
    - more :分頁檢視檔案內容,按空格鍵換頁
         
     7. cp、mv、rm   
        - cp :複製
       cp bj.txt ./java/jee
    - mv :剪下、重新命名
       1. 剪下 :mv aa.txt ../android/
       2. 重新命名 :假如剪下的檔案 存放在同一個目錄中 ,則是重新命名
           mv bb.txt cc.txt

    - rm :刪除檔案或者資料夾
      -f : 假如要刪除的檔案不存在,也不提示
      -i : 刪除前提示 ,預設不刪除,要刪除,輸入y
      -d : 刪除空白目錄 
      -r :遞迴刪除
     8. wc :word count :統計字元數
         154  233 3418 
     - 154 :行數
     - 233 :單詞數
     - 3418 :字元數
       命令: wc bj.txt
        
     9. ln :建立連線檔案
        - 預設建立的是硬連線,好比複製 ,但是兩個檔案會同步 
       命令:ln ./java/android/aa.txt  aaa
    - s :建立的是軟連線
        
     10. pwd   :檢視當前目錄的絕對路徑 
       
     11. 管道命令 |
       命令: ls -la | wc 
     12. 重定向
        - > :覆蓋模式
    命令:  echo "ww">aaa
    - >>:追加模式
    命令: echo "ww">>aaa
     13. passwd   :設定密碼  ,ubuntu預設 root賬號是沒有開啟 ,只要設定root密碼即可開啟
         sudo passwd root

     14. su  切換目錄
         su root 
     root使用者切換到其他賬號不需要密碼

   3.linux 系統命令
     1.stat   :檢視檔案的詳細資訊
       stat bj.txt
     2.who與whoami
       who : 檢視線上的使用者
       whoami :檢視當前自己的使用者
     3.hostname : 顯示主機名
       hostname
     4.uname  :顯示系統資訊
        -a :顯示完整的系統資訊
        
     5.top :顯示當前耗時的進行的資訊 ,每3秒重新整理一次 
         cltr+c 中斷 
     6.ps :顯示當前程序的快照 
       - axu
     7.du :顯示檔案的大小資訊 
     8.df :磁碟使用情況  disk free
     9.ifconfig :檢視或者配置網絡卡資訊 ,好比windows 的ipconfig
        ipv4:32位  2-32次方     ipv6  128位     是 ipv4  2-96次方倍數
    設定虛擬機器ip地址:
      1. 設定vmware的連線方式
         - 共享宿主機的ip地址,在網路上的芳鄰找不到
         - 橋接方式,需要單獨設定ip,可以在網路上的芳鄰查詢
      2. 圖形介面設定ip地址 
          edit connection --》ipv4--》manual(手工設定)--》add  (ip地址,子網掩碼)
          3.命令方式設定ip地址
         靜態設定ip:
         sudo ifconfig eth0 192.168.15.122 netmask 255.255.255.0 
        
     10.ping  測試與目標主機連線情況
        

     11.clear  : 清除螢幕  windows: cls  
     12.man  :幫助命令
         man 命令
     13.kill  :殺死程序
        kill  pid 
     14.netstat  :網路連線詳細資訊
       
     15. useradd 
        - 檢視使用者資訊
       sudo cat /etc/passwd
     itcast:x:1000:1000:UbuntuA,,,:/home/itcast:/bin/bash
      - itcast:使用者名稱
      - x :密碼 :已經加密 ,密碼存放在  /etc/shadow 
      - 1000: 賬號id ,userId
      - 1000: 組id ,group id
          - UbuntuA,,,  :賬號描述
          - /home/itcast :該賬號存放檔案的預設位置  ~
      - /bin/bash:該使用者的shell指令碼的解析方式  ,sh 、bash、rbash
 
        - 建立使用者 
      sudo useradd lijun -d  /home/lijun   -s /bin/bash 
       -d :指定該使用者的home 路徑 
       - s :該使用者的shell解析方式
      步驟:
        1. 建立 /home/lijun 目錄
        2. 執行 useradd 命令
        3. 用 passwd 設定密碼
        4. su 切換使用者

      

 五、打包、壓縮檔案   

    windows : zip、rar    
    linux :gz ,bzip,zip

     1.tar :打包、拆包命令 
        tar - cxzjvf  <打包後的檔案>   <欲打包的目錄>
      - c :建立的一個歸檔檔案 ,即打包資料夾
      - x :拆包
      - z :以gzip 格式壓縮,預設壓縮倍數 6倍  (0-9)
      - j :以bzip2格式壓縮
      - v :顯示打包或者拆包的檔案資訊
      - f : 後面緊接一個 歸檔檔案

       - 打包檔案
          tar -cvf news.tar  ./java   摘要  
       - 拆包檔案
          tar -xvf news.tar
     2.gzip 、bzip2 壓縮與解壓
        1. 壓縮檔案
      gzip news.tar
    2. 解壓檔案
      gzip -d news.tar.gz
        -d :解壓
     3.打包及壓縮 
       - 打包及壓縮
          tar -czvf news.tar.gz ./java
       - 拆包及壓解縮
          tar -xzvf  news.tar.gz

 六、軟體管理 

   windows : .exe     安裝 、解除安裝 
       安裝:  mysql.exe  cc.exe   
       解除安裝 : 該軟體唯一的標識  ,包名   alibaba
    android : *.apk   解除安裝 包名
    red hat :*.rpm 
    ubuntu  : 對debian的升級  *.deb 格式


     1.安裝軟體
       - dpkg :debian  package 
          離線安裝:
      安裝 : sudo dpkg - i  <檔名> 
        -i :install
       命令:sudo dpkg -i ./tree_1.6.0-1_i386.deb
      解除安裝 : sudo dpkg - r  <包名> 
        -r :remove
           命令:sudo dpkg -r tree
       - apt-get  :advance  package  tools 
         對dpkg命令的升級,線上安裝
      安裝 : sudo apt-get -install  <包名>
      解除安裝 : sudo apt-get -remove  <包名>
     2.vim 軟體  :好比記事本 ,但是比記事本要強大  
        
     1. 安裝vim
     2. 使用vim 
       操作模式:
         1. 一般模式 ,預設進入的一般模式,該模式不能編輯文件 ,只能檢視
            按 i(insert)  進入 插入模式 
         2. 編輯模式、插入模式 
             該模式可以編輯文件,按esc 退出插入模式,進入到一般模式 
         3. 命令模式 :在 一般模式中按:進入命令模式
            - q: 安全退出,當沒有操作該文件,則直接按q退出vim 
        - q!:當修改了內容,但是不想儲存,則q!強制退出
        - wq :儲存退出
        - set number 顯示行號
        - set nonumber 取消行號顯示
           

     
 七、搭建Java伺服器,並且實現遠端安全訪問linux系統

   
    1.通過ssh實現安全遠端訪問linux系統 
       ssh :secure shell
         加密:
       1. 對稱加密 (加密金鑰與解密金鑰相同)
          des 、aes
       2. 非對稱加密(加密金鑰與解密金鑰不同)
          RSA :公鑰、私鑰 
     數字摘要:
       md5 \sha1 
        
      
       1. 檢視是否安裝了ssh服務端與客戶端
         sudo apt-cache policy openssh-client openssh-server
       2. 安裝ssh 服務端與客戶端軟體
          sudo dpkg -i ./ssh/*
           
       3. 通過windows ssh客戶端來訪問linux服務端
          - putty :遠端登入
      - winscp433setup.exe :檔案傳輸

    2. 安裝jdk
       進入 root使用者
       實現步驟:
        1. jdk 存放在哪裡  /opt
    2. 把軟體拷貝到/opt
    3. 綠色軟體,解壓 
    4.設定環境變數
       vim /etc/profile 
    export JAVA_HOME="/opt/jdk1.6.0_39"
        export PATH="$JAVA_HOME/bin:$PATH"
    5. 重新整理配置 ,讓配置生效
       source /etc/profile
    6. 編寫Demo.java,測試 
       -javac Demo.java
           - java Demo

    3. 安裝tomcat 
       步驟:
        1. 安裝在哪裡 /opt
    2. 拷貝、解壓
       tar -xzvf  apache-tomcat.tar.gz
    3. 執行
       - ./startup.sh
       - ./shutdown.sh
       
      
    4. 安裝Eclipse
       步驟:
         1.安裝在/opt
     2. 拷貝、解壓
       cp eclipse.tar.gz  /opt
       tar -xzvf  eclipse.tar.gz
      
重點:
  1.linux系統環境
     命令互動通道
     命名提示符
  2. linux 目錄結構、檔案許可權
    drwxr-xr-x
  3. linux 命令
    - 開關機
    - 檔案操作 
    - 系統命令
       1. top 2. who 3. ifconfig 4. ping 5. kill 6. man 7.clear 8.netstat
  4. 軟體管理
     - dpkg :離線  .deb  .rpm  .apk 
     - apt-get :線上 
  5. 壓縮解壓
     tar -cxgzvf 打包後的檔案 要打包的檔案
  6. vim 的使用
     三種模式
  7. ssh理解 secure shell
  8. java開發環境搭建