天天看點

linux基礎-指令

1、 Linux概述

什麼是Linux

     簡單地說,Linux是一套免費使用和自由傳播的類Unix作業系統,它主要用于基于Intel x86系列CPU的計算機上。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix相容産品。 Linux最早由一位名叫芬蘭人林納斯•托瓦茲(Linus Torvalds)的計算機愛好者開發,他的目的是設計一個代替Minix的作業系統,這個作業系統可用于386、486或奔騰處理器的個人計算機上,并且具有Unix作業系統的全部功能。 

     Linux以它的高效性和靈活性著稱。它能夠在個人計算機上實作全部的Unix特性,具有多任務、多使用者的能力。Linux作業系統軟體包不僅包括完整的Linux作業系統,而且還包括了文本編輯器、進階語言編譯器等應用軟體。它還包括帶有多個視窗管理器的X-Windows圖形使用者界面,如同我們使用Windows NT一樣,允許我們使用視窗、圖示和菜單對系統進行操作。

     Linux之是以受到廣大計算機愛好者的喜愛,主要原因有兩個,一是它屬于自由軟體,使用者不用支付任何費用就可以獲得它和它的源代碼,并且可以根據自己的需要對它進行必要的修改和無限制地繼續傳播。另一個原因是,它具有Unix的全部功能,任何使用Unix作業系統或想要學習Unix作業系統的人都可以從Linux中獲益。

2、  Linux系統的主要特點

•開放性:指系統遵循世界标準規範,特别是遵循開放系統互連(OSI)國際标準。

•多使用者:是指系統資源可以被不同使用者使用,每個使用者對自己的資源(例如:檔案、裝置)有特定的權限,互不影響。

•多任務:它是指計算機同時執行多個程式,而且各個程式的運作互相獨立。

•良好的使用者界面 :Linux向使用者提供了兩種界面:使用者界面和系統調用。Linux的傳統使用者界面是基于文本的指令行界面,即shell。Linux還為使用者提供了圖形使用者界面。它利用滑鼠、菜單、視窗、滾動條等設施,給使用者呈現一個直覺、易操作、互動性強的友好的圖形化界面。系統調用給使用者提供程式設計時使用的界面,使用者可以在程式設計時直接使用系統提供的系統調用指令,系統通過這個界面為使用者程式提供低級、高效率的服務。

•裝置獨立性:是指作業系統把所有外部裝置統一當作成檔案來看待,隻要安裝它們的驅動程式,任何使用者都可以象使用檔案一樣,操縱、使用這些裝置,而不必知道它們的具體存在形式。Linux是具有裝置獨立性的作業系統,它的核心具有高度适應能力。

•提供了豐富的網絡功能: Linux 内置了很豐富的免費的網絡伺服器軟體、資料庫和網頁的開發工具,如Apache、Qmail、VsFtp、SSH、MySQL 、PHP和JSP等。近年來,越來越多的企業在Linux下建立了企業的網絡伺服器。

•可靠的安全系統:Linux采取了許多安全技術措施,包括對讀、寫控制、帶保護的子系統、審計跟蹤、核心授權等,這為網絡多使用者環境中的使用者提供了必要的安全保障。

•良好的可移植性:是指将作業系統從一個平台轉移到另一個平台使它仍然能按其自身的方式運作的能力。Linux是一種可移植的作業系統,能夠在從微型計算機到大型計算機的任何環境中和任何平台上運作。

3、  Linux系統的組成

•LINUX的核心:核心是系統的心髒,是運作程式和管理像磁盤和列印機等硬體裝置的核心程式。

•LINUX SHELL: Shell是系統的使用者界面,提供了使用者與核心進行互動操作的一種接口。它接收使用者輸入的指令并把它送入核心去執行。Shell也有多種不同的版本,如Bash、Korn shell、C shell等。

•LINUX檔案系統: Linux檔案系統是檔案存放在磁盤等儲存設備上的組織方法。Linux能支援多種檔案系統,如EXT2、EXT3、VFAT、ISO9660、NFS、SMB等。

•LINUX應用系統:标準的Linux系統都有一整套稱為應用程式的程式集,包括文本編輯器、程式設計語言、X Window、辦公套件、Internet工具、資料庫等。

4、  Linux系統的主要版本

Linux發行版本可以大體分為兩類,一類是商業公司維護的發行版本,一類是社群組織維護的發行版本,前者以著名的Redhat(RHEL)為代表,後者以Debian為代表。

1.Red Hat Linux:國内,乃至是全世界的Linux使用者所最熟悉、最耳聞能詳的發行 版。目前Red Hat分為兩個系列:由Red Hat公司提供收費技術支援和更新的Red Hat Enterprise Linux,及由社群研發的免費的Fedora Core。

2.Debian GNU/Linux:Debian或者稱Debian系列,包括Debian和Ubuntu等。 Debian是社群類Linux的典範,是迄今為止最遵循GNU規範的Linux系統。

3.

SUSE是德國最著名的Linux發行版,在全世界範圍中也享有較高的聲譽。SUSE自主研發的軟體包管理系統YaST也大受好評。SUSE于2003年年末被Novell收購。

4.

Ubuntu 嚴格來說不能算一個獨立的發行版本, 是基于Debian的unstable版本加強而來,可以這麼說,Ubuntu就是一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的Linux桌面系統。

5.

Turbolinux簡單易用的圖形安裝程式;友好的圖形界面;豐富的軟體包;提供了完整的源代碼程式。

6.其他:

SlackWare、 OpenLinux 、BluePoint、RedFlag、Centos …  

常用的Linux版本:

redhat 9.0、REHL(Red Hat Enterprise Linux)AS4.0、AS5.0、AS5.2、AS5.3、AS5.5、Turbolinux10.5、11.2、SUSE9、10

5、  Linux系統的安裝流程(以redhat為例)

1、把準備好的Linux CD光牒放入CD光牒驅動器,重新啟動伺服器,CD光牒自動運作如下圖:圖中提示選擇安裝 “圖形界面操作模式” 或 “文本操作模式”,直接Enter開始安裝。

2、選擇右側的skip按鈕,跳過對CD光牒媒體的掃描檢測。

3、選擇安裝過程中的語言為英語,跟根你自已的不同選取語言,預設為英語。

4、選擇鍵盤類型為美國英語。

5、分區方式有兩種:自動分區和手動分區。使用自動分區的話,那麼所有的分區都會放在根目錄上。若使用手動分區,則要建立獨立的/、swap、home等分區。Swap分區一般設為記憶體的2倍。

6、設定啟動菜單名稱,直接點選下一步即可。

7、設定網絡連接配接。點選“Edit”按鈕。輸入IP位址和子網路遮罩。

8、選擇“Enable firewall”,即啟用防火牆。

9、選擇安裝好之後的作業系統語言是英語,(英語相容性更好亦可顯示中文),但你要選上中文的編碼的語言包。

10、選擇時區為“Asia/Shanghai”。

11、輸入root密碼。

12、選擇安裝軟體清單。這裡務必選擇Customize自定義方式,否則安裝程式會安裝不必要的圖形界面,并占用數GB的磁盤空間。因為這裡做為伺服器用的,如果你有不同,可以按你要求選取安裝。

13、選擇所需的軟體包,點選下一步開始安裝。

14、安裝完成,CD光牒會被自動彈出,點選Reboot重新啟動伺服器。

6、  Linux系統的開機啟動流程

一、加載BIOS

        打開電源,主機首先加載Bios,檢測硬體的資訊,了解整個系統硬體的狀态,如cpu、記憶體、顯示卡等。

二、讀取MBR

        硬碟上第0磁道第一個扇區被稱為MBR,也就是Master Boot Record,即主引導記錄,它的大小是512位元組,可裡面卻存放了預啟動資訊、分區表資訊。系統将其複制到記憶體。

三、Boot Loader

        Boot Loader 就是在作業系統核心運作之前運作的一段小程式。Boot Loader有若幹種,其中Grub和Lilo是常見的Loader。系統讀取記憶體中的grub配置資訊(grub.conf),并依照此配置資訊來選擇啟動不同的作業系統。

四、加載核心

              根據grub設定的核心映像所在路徑,系統讀取核心映像,并進行解壓縮操作。此時,螢幕一般會輸出“Uncompressing Linux”的提示。當解壓縮核心完成後,螢幕輸出“OK, booting the kernel”。

五、init依據/etc/inittab檔案來設定運作等級

            核心被加載後,第一個運作的程式便是/sbin/init,該檔案會讀取/etc/inittab檔案,來設定linux運作級别。 Linux的運作等級設定如下:

     0:關機 1:單使用者模式    2:無網絡支援的多使用者模式

     3:有網絡支援的多使用者模式4:保留,未使用

     5:有網絡支援有X-Window支援的多使用者模式

     6:重新開機系統,即重新開機

六、init程序執行rc.sysinit

             在設定了運作等級後,Linux系統執行的第一個使用者層檔案就是/etc/rc.d/rc.sysinit腳本程式,它做的工作非常多,包括設定PATH、網絡配置(/etc/sysconfig/network)、啟動swap分區、根據/etc/fstab挂載所有分區等等。

七、啟動核心子產品

            依據/etc/modules.conf檔案或/etc/modules.d目錄下的檔案來裝載核心子產品

八、執行不同運作級别的腳本程式

            根據運作級别的不同,系統會運作/etc/rc0.d到rc6.d中的相應的腳本程式,來完成相應的初始化工作和啟動相應的服務。

九、執行/etc/rc.d/rc.local

          /etc/rc.d/rc.local檔案是開機自啟動的配置檔案。是以,如果需要什麼程式開機啟動的話,可以寫個腳本或指令到這裡面。

十、執行/bin/login程式,進入登入狀态

             進入login界面,輸入使用者名和密碼,和/etc/passwd、/etc/shadow檔案作比較,成功則進入系統,不成功,繼續等待輸入。

7、  Linux的檔案系統

 1、樹形目錄結構

          檔案系統是檔案存放在磁盤等儲存設備上的組織方法,主要展現在對檔案和目錄的組織上。目錄提供了管理檔案的一個友善而有效的途徑。Linux使用标準的目錄結構,在linux安裝的時候,安裝程式就已經為使用者建立了檔案系統和完整而固定的目錄組織形式,并指定了每個目錄的作用和其中存放的檔案類型。

•/bin:存放二進制可執行指令檔案

•/dev:存放裝置檔案。

•/etc:系統管理和配置檔案

•/home:使用者主目錄的基點。

•/lib: 标準程式設計庫

•/sbin:系統管理指令目錄

•/tmp:公用的臨時檔案目錄

•/root:系統管理者的主目錄

•/mnt:用于使用者臨時安裝其他檔案系統的目錄

•/proc:虛拟目錄,是系統記憶體的映射。可直接通路這個目錄擷取系統資訊

•/var:某些大檔案的溢出區,存放例如各種服務的日志檔案

•/usr:最龐大的目錄,會用到應用程式和檔案幾乎都在這個目錄下

2、Linux檔案存儲的三種權限

rwx,suid,sgid,stricky

Linux存儲檔案的三種使用者類型

owner,group,other

3、檔案權限的修改方法

       chmod  【使用者類型+權限類型】  檔案名

       例如:chmod  o+x 檔案名  對屬主使用者加執行權限

                    chmod  a+rwx  檔案名  a表示所有使用者加讀、寫、執行權限

       chmod   【權限表示的二進制數字】檔案名

       -rw------- (600) 隻有所有者才有讀和寫的權限

       -rw-r--r-- (644) 隻有所有者才有讀和寫的權限,組群和其他人隻有讀的權限   

       -rwxr-xr-x (755) 隻有所有者才有讀,寫,執行的權限,組群和其他人隻有讀和執行的權限 

      -rw-rw-rw- (666) 每個人都有讀寫的權限

      -rwxrwxrwx (777) 每個人都有讀寫和執行的權限 

8、  Linux的常用指令

    1、 shutdown 指令安全地将系統關機。

    2、halt----最簡單的關機指令

         其實halt就是調用shutdown -h。halt執行時﹐殺死應用程序﹐執行sync系統調用﹐檔案系統寫操作完成後就會停止核心。

    3、reboot

         reboot的工作過程差不多跟halt一樣﹐不過它是引發主機重新開機﹐而halt是關機。它的參數與halt相差不多。

     4、init

         init是所有程序的祖先﹐它的程序号始終為1﹐是以發送TERM信号給init會終止所有的使用者程序﹑守護程序等。shutdown 就是使用這種機制。

      5、Ctrl+Alt+Del鍵重新開機系統。

      6、ps  顯示使用終端有關的程序資訊

            ps –u 使用者名 顯示某使用者的程序(如ps -u abc)

            ps –e 顯示所有正在運作的程序資訊

            ps –f  長清單顯示每個程序資訊

            ps -ef  長清單顯示每個正在運作的程序資訊

    7、kill 指令殺掉背景程序

         kill 程序号

         kill -9 程序号 強制殺掉程序

    8、df  檢視磁盤剩餘空間

           df  -h

    9、du  顯示指定的目錄或檔案所占用的磁盤空間。

           du -h

   10、 fsck 用來檢查和維護不一緻的檔案系統。若系統掉電或磁盤發生問題,可利用fsck指令對檔案系統進行檢查。

     fsck的指令格式如下 :

                 fsck [-aANrsTV][-t  fstype][filesys...]

     -a   自動修複檔案系統,不詢問任何問題。

    -A   依照/etc/fstab配置檔案的内容,檢查檔案内所列的全部檔案系統。

    -N   不執行指令,僅列出實際執行會進行的動作

    -r   采用互動模式,在執行修複時詢問問題,讓使用者得以确認并決定處理方式。

    -s   依序執行檢查作業,而非同時執行。

    -t   指定要檢查的檔案系統類型。

    -T   執行fsck指令時,不顯示标題資訊。

    -V   顯示指令執行過程。

   11、檢視系統資訊

    cat  /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx) 

    cat  /proc/ioports - 裝置IO端口 

    cat  /proc/meminfo - 記憶體資訊(i.e. mem used, free, swap size) 

    cat  /proc/partitions - 所有裝置的所有分區 

    cat  /proc/swaps - 所有Swap分區的資訊 相當于swapon -s 

    cat  /proc/version - Linux的版本号 相當于 uname -a

    uname -r - 看系統核心等資訊

   12、檢視系統日志

     cat /var/log/messages 系統啟動後的資訊和錯誤日志

     cat /var/log/secure      與安全相關的日志資訊

9、 Linux常用工具和實用程式

    1、vi 編輯器

     vi編輯器是所有Unix及Linux系統下标準的編輯器,它的強大不遜色于任何最新的文本編輯器, 

 基本上vi可以分為兩種狀态,分别是指令模式(command mode)、插入模式(Insert mode) 。 按Esc可切換模式。

           vi 檔案名    對檔案 進行編輯

             a 将在光标所在位置之後插入文本(append)

            A 将在光标所在行末插入文本

            i将在光标所在位置之前插入文本(insert)

            I将在光标所在行的第一個非空字元前插入文本

    2、find指令    在指定目錄及其子目錄下查找符合條件的特定檔案。

        指令格式:find  目錄  檔案名

    3、 tar指令

       tar -xvf  *.tar  解壓tar包     tar -cvf   *.tar 目錄   打成tar 包

       tar zcvf  *.tar.gz 檔案名   打包指令

       tar zxvf  *.tar.gz                解壓包指令

   4、unzip指令

         unzip *.zip 解壓Windows 下的zip壓縮軟體

   5、mount指令

        mount /dev/hdd /cdrom /mnt/cdrom 挂載光驅  

   6、scp指令

     scp –r  /downloads/*  username@IP:/uploads/   把本機目錄 /downloads 的内容傳輸到遠端機器上的 uploads 目錄.

   7、top指令 實時顯示 process 的動态

   8、rpm指令

         rpm –ivh      安裝一個包

         rpm –Uvh    更新一個包

         rpm –e         移走一個包

         rpm –q         查詢一個包是否被安裝

    安裝參數 

     --force 即使覆寫屬于其它包的檔案也強迫安裝