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

Linux系統介紹(一)

第一部分:


    1:linux基礎簡介
        1:作業系統(Operating System)
            1:作業系統是管理計算機硬體與軟體資源的程式
            2:典型作業系統
                1:UNIX、LINUX、Mac OS X、Windows iOS、Android、MS-DOS
            3:操作方式
                1:命令列介面(Command Line Interface CLI)
                    1:使用者通過鍵盤輸入指令,計算機接收到指令後,予以執行。
                    2:優點
                        1:節約計算機系統的資源
                        2:操作速度快(記住命令)
                    3:常見
                        1:DOS、UNIX、LINUX
                2:圖形使用者介面(Graphical User Interface,簡稱 GUI)
                    1:採用圖形方式顯示的計算機操作
                    2:優點
                        1:操作簡單
                        2:使用者友好
                    3:缺點
                        1:比圖形命令介面消耗資源
                    4:常見
                        1:WINDOWS、Mac OS
        2:UNIX與MINIX
            1:UNIX
                1:1969年由貝爾實驗室的肯.湯普遜、丹尼斯.裡奇帶領下開發出UNIX
                    1:肯.湯普遜:UNIX之父
                    2:丹尼斯.裡奇:C語言之父
                2:之前使用匯編語言B語言,1973年用兩人改用C語言(高階語言)重寫
            2:MINIX
                1:貝爾實驗室收回版權並且規定“不可對學生提供原始碼”。
                2:Andrew S. Tanenbaum(譚幫寧)教授為了授課,在不參考UNIX原始碼下寫出了MINIX
                    1:計算機網路、現代作業系統作者,MINIX之父。
        3:LINUX
            1:1991年,芬蘭人林納斯.託瓦茲在赫爾辛基大學自己動手寫了作業系統,就是LINUX核心(Linux kernel)。
            2:吉祥物企鵝。
            2:Linux加入GNU並遵循公共版權許可證 (GPL)。    
        4:GNU(“GNU's Not Unix”)
            1:理查德.斯托曼博士1983 年啟動建立一個完全相容於UNIX的自由軟體環境
                1:自由軟體
                    1:賦予使用者複製、研究、修改和散佈該軟體的權利,並提供原始碼供使用者自由使用    
            2:核心的作業系統核心發展受挫,於是採用Linux kernel,應用在GNU系統中
        5:GPL(General Public License 通用公共許可證)
            1:為了避免GNU開發的軟體被其他人利用成為專利軟體
            2:Copyleft(專利軟體是Copyright)
            3:目的要讓GNU永遠是免費和公開的
        6:Linux簡介
            1:Linux是一種自由和開放原始碼的類UNIX作業系統
            2:LINUX特點
                1:開放性,多使用者,多工,豐富的網路功能,可靠的系統安全,良好的可移植性,
                   良好的使用者介面(命令介面,圖形介面等),出色的速度效能
            3:LINUX組成
                1:核心
                2:Shell
                3:檔案系統
                4:應用程式
            4:LINUX版本
                1:LINUX核心(Linux kernel)
                    1:系統的心臟
                2:發行版本
                    1:廠商將Linux系統核心與應用軟體和文件包裝起來,並提供一些安裝介面和系統設定管理工具的一個軟體包的集合
                    2:常見
                        RedHat Linux,Debian,Ubuntu, Novell/SuSE Linux
        7:Ubuntu
            1:Ubuntu版本由釋出的年份和月份組成最新的版本為Ubuntu 12.10
                    檢視Ubuntu版本cat /etc/issue 或者 sudo lsb_release -a
    2:Linux系統安裝
        1:下載iso系統映象檔案燒錄光碟,一步步安裝。
            1:該步驟和安裝windows系統一樣,傻瓜式安裝
        2:Vmware虛擬機器安裝
            1:虛擬機器(Virtual Machine)是一個軟體,可以模擬出具有完整硬體系統功能的、執行在一個完全隔離環境中的完整計算機系統。
            2:安裝參看安裝文件。
            3:注意:安裝完虛擬機器後,進入網路上的芳鄰—)》屬性—》》 禁用 VMware Network Adapter VMnet1 和 VMware Network Adapter VMnet8
        3:使用Wmware安裝Ubuntu
            1:參看安裝文件。
                1:設定使用者名稱和密碼,使用者名稱不能設定為root
    3:Linux的命令列與圖形介面切換
        1:命令列介面
            1:在圖形化介面中開啟命令列視窗
                應用程式-》附件-》終端            
            2:切換到純命令列是使用Ctrl加Alt加F1~F6:
                注意: 使用ctrl+alt 和Vmware軟體有衝突,需要修改VMware的快捷鍵
                (在VMware左上角edit->preferences->hot keys,將ctrl+alt 修改為ctrl+shift+alt)
                1.Ctrl+Alt+F1  切換到控制檯1(tty1)
                2.Ctrl+Alt+F2  切換到控制檯2(tty2)
                3.Ctrl+Alt+F3  切換到控制檯3(tty3)
                4.Ctrl+Alt+F4  切換到控制檯4(tty4)
                5.Ctrl+Alt+F5  切換到控制檯5(tty5)
                6.Ctrl+Alt+F6  切換到控制檯6(tty6)
            3: 使用who命令檢視當前已經登入的使用者
                
        
        2:圖形使用者介面(Graphical User Interface,簡稱 GUI)
            2:ctrl+alt+f7切換到圖形使用者介面
    4: 普通使用者與超級管理員
        1:顯示“$”標識表示是普通使用者
            例如: 進入linux系統,控制檯出現:

[email protected]:~$ 
             ~使用者的根目錄
        2:顯示“#”標識表示是超級管理員:
        3:切換使用者
            切換使用者(使用su命令切換使用者):
            當從普通使用者切換到root使用者(超級管理員)或其他使用者時,需要輸入目標使用者的密碼。
            當從root使用者切換到普通使用者時,不需要輸入密碼。
    5:Linux目錄結構
        1:Linux所有內容是以檔案形式進行管理
        2:/ 根目錄
            1:bin  存放二進位制可執行檔案(ls,cat,mkdir等)
            2:boot 存放用於系統引導時使用的各種檔案
            3:dev 用於存放裝置檔案
                dev是device的簡寫,就是“裝置”的意思。Linux把每個硬體也看作是一個檔案
            4:etc  存放系統配置檔案
                1:例如安裝jdk配置環境變數
            5:home 存放所有使用者檔案的根目錄
                1:使用者登入系統後預設所在的目錄
            6:mnt  系統管理員安裝臨時檔案系統的安裝點
                例如:掛載光碟機。
            7:opt  額外安裝的可選應用程式包所放置的位置
                例如:我們可以安裝自定義程式1:安裝eclipse,安裝tomcat
            8:root  超級使用者目錄
                1:管理員
            9:sbin  存放二進位制可執行檔案,只有root才能訪問
            10:usr  用於存放系統應用程式,有些類似windows的Program Files
                 例如:軟體中心下載的軟體預設安裝在usr/bin中。
                 我們也可以將jdk安裝在此目錄中。
            圖形化介面檢視
                Places -Documents-File System (/ 根目錄)

第二部分:

Linux的常用命令:
    1.登出、關機、重啟命令
        登出:logout或exit
        關機:halt或shutdown -h now(要是root使用者或是有授權才可以)
        重啟:reboot或shutdown -r now(要是root使用者或是有授權才可以)
    2:Linux的基本命令
        1:ls 顯示檔案和目錄列表  
            1: -l 列出檔案的詳細資訊
            2: -a 列出當前目錄所有檔案,包含隱藏檔案
        2:mkdir 建立目錄  ( 刪除?rmdir  非空) 
            1:-p 父目錄不存在情況下先生成父目錄
        3:cd 切換目錄
        4:touch 生成一個空檔案    
        5:echo 生成一個帶內容檔案     
            1:echo abcd>a.txt
        6:cat、tac 顯示文字檔案內容
        7:cp 複製檔案或目錄
            1:cp a.txt /home/itcast/abc/ddd
        8:rm 刪除檔案
            1:rm a.txt
            2:rm -rf abc
        9:mv 移動檔案或目錄、檔案
            1:mv  aaa bbb 將aaa改名為bbb
            2:mv bbb /home/itcast/abc/ccc
        10:find 在檔案系統中查詢指定的檔案
            1:find  -name  檔名
        11:wc 統計文字文件的行數,字數,字元數 
            1:wc a.txt
        12:grep 在指定的文字檔案中查詢指定的字串
            1:grep aa a.txt
        13:pwd 顯示當前工作目錄 
        命令練習:
            建立一個目錄 家庭A(目錄)
            進入familyA
            家庭A中有一個父親,母親,女兒,兒子(4個空檔案)
            家庭有房子(目錄)
            房子有廚房,衛生間,3臥室(目錄)
            男孩房有床(空檔案),有書(帶內容的檔案)
            女孩房同樣有床和書,女孩房有娃娃(空檔案)。
            男孩房也要有娃娃(空檔案),男孩把娃娃刪掉。將房間的沙發移動到男孩房。
            刪除廚房            
        14:ln 建立連結檔案(***)
            1:ln -s /home/itcast/familyA/house/roomB   /home/roomB 
                1:當訪問一個目錄較深的檔案,可以建立連結檔案。
                2: 遇到 Permission denied(許可權拒絕)說明itcast使用者沒有權利做這件事
                    1:使用sudo 可以借用root的許可權,輸入itcast的密碼
                3:在home下就可以直接訪問roomB的檔案
                4:例如安裝jdk路徑需要配置環境變數,如果路徑較長書寫麻煩可以配置連線檔案
            第一,ln命令會保持每一處連結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化;
            第二,ln的連結又 軟連結和硬連結兩種,軟連結就是ln –s ** **,它只會在你選定的位置上生成一個檔案的映象,不會佔用磁碟空間
            硬連結ln ** **,沒有引數-s, 它會在你選定的位置上生成一個和原始檔大小相同的檔案,無論是軟連結還是硬連結,檔案都保持同步變化。
             如果你用ls察看一個目錄時,發現有的檔案後面有一個@的符號,那就是一個用ln命令生成的檔案,用ls –l命令去察看,就可以看到顯示的link的路徑了。    
        15:more、less 分頁顯示文字檔案內容 
            1:檢視配置檔案時,很長需要分頁處理
            2:more(一頁一頁翻)
                1:空格鍵向下翻頁
                2:Enter鍵向下滾動一行
                3::f 顯示出檔名及當前的行數
                4:    q 離開more
                5: b 往回翻
            3:less(一頁一頁翻)
                1:空格 向下翻一頁
                2:PageDown 向下翻一頁
                3:PageUp 向上翻一頁
                4:q 離開
        16:head,tail分別顯示檔案開頭和結尾內容
        17:man 命令幫助資訊查詢
            1:man ls
        18:管道(***)
            1:  cat /etc/passwd | wc -l
                使用cat命令顯示passwd檔案中的內容,但是並沒有顯示在螢幕上,而是通過管道“|” 接受,wc命令從管道中取出內容進行統計,然後顯示結果
                這個輸出時該檔案有多少行(多少個使用者)
        19:重定向
            1:>
                cat /etc/passwd>/home/itcast/a.txt
                echo "hello java">a.txt  (覆蓋上一個a.txt)
            2:>>
              1:追加,不會覆蓋
                cat /etc/passwd>>/home/itcast/a.txt 
                echo "---------">>a.txt               
    3:Linux系統命令
        1:stat 顯示指定檔案的相關資訊 
            1:stat familyA
                access 進入
                Modify 修改
                Change 改變
                access time是文件最後一次被讀取的時間。因此閱讀一個文件會更新它的access時間,
                                但它的modify時間和change時間並沒有變化。cat、more 、less、grep、tail、head這些命令都會修改檔案的access時間。
                                change time是文件的索引節點(inode)發生了改變(比如位置、使用者屬性、組屬性等);
                                modify time是文字本身的內容發生了變化。[文件的modify時間也叫時間戳(timestamp)
        2:who、顯示線上登入使用者 
            1:想要知道當前有多少使用者登入系統。
            2:who
                1:顯示2個一個是命令列,一個是圖形介面的只有一個itcast
        3:whoami 顯示使用者自己的身份 
        4:hostname 顯示主機名稱 
            1:hostname
            2:hostname -i 顯示主機IP
        5:uname 顯示系統資訊 
            1:uname -a 顯示全部資訊 
            Linux ubuntu 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux
        6:top 顯示當前系統中耗費資源最多的程序 動態顯示過程,實時監控
            1:類似於windows的工作管理員
            2:主要看 cpu mem command
            3;ctrl+c 退出,或者q
        7:ps 顯示瞬間程序狀態
            1:ps -aux  顯示所有瞬間程序狀態
        8:du 顯示指定的檔案(目錄)已使用的磁碟空間的總量 
            1:du
            2:du familyA  (以K為單位)
            3:du -h familyA 
        9:df 顯示檔案系統磁碟空間的使用情況 
            1:df -h 
        10:free 顯示當前記憶體和交換空間的使用情況     
        11:ifconfig 顯示網路介面資訊 
            1:windows 是ipconfig
        12:ping 測試網路的連通性 
        13:clear 清屏
        14:kill 殺死一個程序
        15:關機/重啟命令 
            1:shutdown 命令可以安全的關閉Linux系統,shutdown命令必須有超級使用者才能執行。shutdown命令執行後會以廣播的形式通知正在系統中工作的所有使用者,
                1:shutdown  -h now  (關機不重啟)
                2:shutdown  -r now  (關機重啟)
                3:shutdown  now (關機)
                4:shutdown  15:22
            2:halt 關機後關閉電源 
            3:reboot 重新啟動
    4:備份壓縮命令
        1:tar
            1:打包
                1:tar -cvf familyA.tar familyA (tar -cvf 儲存路徑/包名 打包目錄)
            2:拆包
                1:tar -xvf /home/itcast/familyA.tar 
        2:gzip 命令
            gzip 壓縮(解壓)檔案,壓縮檔案字尾為gz 
            1:壓縮
                1:把/home/itcast目錄下的familyA目錄下所有檔案壓縮成.gz檔案
                    1:gzip只能壓縮檔案,目錄(資料夾不能處理),需要使用tar對資料夾打包
                    1:gzip familyA.tar 進行壓縮

            2:檢視壓縮檔案
                1:gzip -l familyA.tar.gz 檢視壓縮包詳細資訊
                    1:compressed 壓縮後大小
                    2:uncompressed 原始大小
                    3:ratio  壓縮比
                    4:uncompressed_name  原始檔名
            3:解壓
                1:gzip -d familyA.tar.gz   顯示檔名和壓縮比
            4:壓縮比
                1:高壓縮(速度稍慢)
                    gzip -9 familyA.tar 高壓縮比
                    gzip -l familyA.tar.gz 
                2:低壓縮比(速度快)
                    gzip -d familyA.tar.gz (解壓)
                    gzip -1 familyA.tar 低壓縮比
                    gzip -l familyA.tar.gz
                3:預設是6
        3:bzip2 命令
            bzip2 壓縮(解壓)檔案或目錄,壓縮檔案字尾為bz2 
            1:壓縮
                1:把/home/itcast目錄下的familyA目錄下所有檔案壓縮成.bz2檔案
                    1:bzip2 -z familyA.tar 壓縮需加上引數-z
            2:解壓縮
                1:bzip2 -d familyA.tar.bz2 
        4:tar命令壓縮和解壓
            1:將整個/home/itcast/familyA目錄下的檔案全部打包成為/home/itcast/familyA.tar
                1:僅打包,不壓縮
                    1:tar -cvf familyA.tar familyA
                2:打包後,以gzip壓縮
                    1:tar -zcvf familyA.tar.gz familyA
                    拆包
                    sudo tar -zxvf familyA.tar.gz
                3:打包後,以bzip2壓縮
                    1:tar -jcvf familyA.tar.bz2 familyA
                    拆包
                    sudo tar -jxvf familyA.tar.bz2 

第三部分:

軟體管理
    1:直接安裝.deb包 dpkg軟體包
        1:安裝以.deb結尾的軟體包,需要使用root的許可權
            1:sudo dpkg -i 軟體包名
        2:解除安裝
            1:sudo dpkg -r 軟體包名
        3:安裝tree
            1:進入file檔案 cd /home/itcast/Desktop/file
            2:sudo dpkg -i tree_1.5.3-1_i386.deb
        4:看Ubuntu系統已安裝所有軟體包列表
            1:sudo dpkg -l
        很多情況軟體安裝:/usr/local之下
    2:使用apt-get管理軟體(推薦使用)
        1:前提連線網際網路,自動搜素,自動下載自動安裝
        2:安裝
            1:sudo apt-get install eclipse
            2:sudo apt-get install openjdk-6-jdk
        3:解除安裝
            1:sudo apt-get remove packagename   
        3:使用廣泛,預設下載路徑
            1:/var/cache/apt
        同時也可以可以更新和搜尋軟體
        1.執行“apt-get update”更源列表
        2.執行“apt-cache search 名稱”搜尋軟體    
        ubuntu系統如何檢視軟體安裝的位置?裝到哪裡去了,可以這樣看:
        程式碼:    
            dpkg -L  軟體名
        軟體中心下載的軟體預設儲存路徑:/var/cache/apt/archives.
    9:vim編輯器
        編輯模式
        插入模式
        命令模式
        VIM的執行模式 <C-F12>
        編輯模式:等待編輯命令輸入
        插入模式:編輯模式下,輸入 i 進入插入模式,插入文字資訊
        命令模式:在編輯模式下,輸入 “:” 進行命令模式    
        1:安裝
            1:安裝進入入file檔案 cd /home/itcast/Desktop/file
            2:sudo dpkg -i vim-runtime_7.2.330-1ubuntu4_all.deb
            3:sudo dpkg -i vim_7.2.330-1ubuntu4_i386.deb  
            4:檢查安裝成功 敲入vim即可 退出 :q。
        2:在/home/itcast/目錄下建立一個bank.txt檔案
            1:cd /home/itcast/familyA/
            2:touch bank.txt
        3:使用vim編輯
            1:    vim bank.txt
            2:資料命令i 進入插入模式
            3:輸入內容
                ICBC
                RMB:10000000000
                USD:100000000000
                user:familyA.father
            4:ctrl+C 退出插入模式或者敲ESC切換至命令模式
            5::wq 回車 儲存
        4:編輯bank.txt 內容不儲存 退出
            1:vim bank.txt        
            2:資料命令i 進入插入模式
            3:隨便輸入內容
            4:ctrl+C 退出插入模式或者敲ESC
            5::q! 回車 強制退出
            6:cat bank.txt  使用cat檢視內容
        5:顯示行號
            1:vim bank.txt        
            2::set number 回車
            3::q 回車 正常退出
        6:取消行號
            1::set nonumber

第四部分:

    搭建Java伺服器並進行遠端管理
    檢視linux 是否開始SSH 服務(是否安裝服務端)
    sudo apt-cache policy openssh-client openssh-server
    1:搭建SSH伺服器            
        1:在Ubuntu Linux伺服器上安裝SSH軟體
            執行“apt-get install openssh-server”            
        2:在Windows客戶機上訪問SSH伺服器
            使用“putty.exe”登入伺服器(命令列),可用於在伺服器端執行命令。
            使用“winscp.exe”連線伺服器,可用於上傳下載檔案。
    2:搭建Java環境(JDK6)
        方法一:執行“apt-get install openjdk-6-jdk”    
        注意: 需要聯網.                
        方法二:
        1.進入opt目錄
            cd /opt
        2.在opt目錄下建立java安裝目錄
            sudo mkdir java
        3.將jdk-6u24-linux-i586.bin拷貝到java目錄下
            sudo cp /home/itcast/Desktop/file/jdk-6u39-linux-i586.bin /opt/java
        4.安裝jdk
            cd /opt/java
            sudo ./jdk-6u39-linux-i586.bin    
        配置JAVA_HOME            
        修改/ect/profile檔案
        編輯配置檔案
            sudo vim /etc/profile
        新增如下內容:    
            export JAVA_HOME="/opt/java/jdk1.6.0_39"
            export PATH="$JAVA_HOME/bin:$PATH"
        重啟機器。或者(source /etc/profile)                
        3:驗證環境
        檢視環境變數
            env
        驗證JAVA_HOME是否配好:
        echo $JAVA_HOME
        echo $PATH
        注意:     
            $是取環境變數的值
            JAVA_HOME是環境變數            
        驗證PATH是否配好:
        java -version
    3: 搭建Tomcat伺服器
        1,從tomcat官網上下載.tar.gz包,並放到伺服器上。
        2,解壓tomcat.tar.gz包:“tar -zxvf tomcat6.tar.gz”。
            sudo tar -zxvf 該命令位元組進.gz的檔案包解壓。
        3,執行“/opt/tomcat6/bin/startup.sh”便可啟動Tomcat。
        如果啟動不了,請嘗試
        sudo -i 切換到root使用者再重新啟動
        sudo ./startup.sh
        測試http:127.0.0.1:8080/
         sudo firefox (如果無法正常開啟瀏覽器使用該命令)    
    4: 安裝eclipse
        1,從eclipse官網下載eclipse-jee-helios-linux-gtk.tar.gz包,放到伺服器上。
        2,解壓eclips.tar.gz包:“tar -zxvf 解壓eclips.tar.gz”。
        3,執行“/opt/eclipse/eclipse” 便可啟動eclipse
        如果eclipse無法正常啟動,可以經jre拷貝一份到eclipse目錄下(cp -a 拷貝目錄)
    5.安裝mysql
        檢視mysql 安裝文件