linux操作系統與使用配置


操作系統(Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,是直接運行在“裸機”上的最基本的系統軟件,任何其他軟件都必須在操作系統的支持下才能運行。操作系統是用戶和計算機的接口,同時也是計算機硬件和其他軟件的接口。操作系統的功能包括管理計算機系統的硬件、軟件及數據資源,控制程序運行,改善人機界面,為其它應用軟件提供支持等,使計算機系統所有資源最大限度地發揮作用,提供了各種形式的用戶界面,使用戶有一個好的工作環境,為其它軟件的開發提供必要的服務和相應的接口。

 

根據操作系統在用戶界面的使用環境和功能特征的不同,操作系統一般可分為三種基本類型,即批處理系統、分時系統和實時系統。隨着計算機體系結構的發展,又出現了許多種操作系統,包括嵌人式操作系統、個人操作系統、網絡操作系統和分布式操作系統。

1. 批處理操作系統

批處理(Batch Processing)操作系統的工作方式是:用戶將作業交給系統操作員,系統操作員將許多用戶的作業組成一批作業,之后輸入到計算機中,在系統中形成一個自動轉接的連續的作業流,然后啟動操作系統,系統自動、依次執行每個作業。最后由操作員將作業結果交給用戶。

批處理操作系統的特點是:多道和成批處理。

2.分時操作系統

分時(Time Sharing)操作系統的工作方式是:一台主機連接了若干個終端,每個終端有一個用戶在使用。用戶交互式地向系統提出命令請求,系統接受每個用戶的命令,采用時間片輪轉方式處理服務請求,並通過交互方式在終端上向用戶顯示結果。用戶根據上步結果發出下一條命令。分時操作系統將CPU的時間划分成若干個片段,稱為時間片。操作系統以時間片為單位,輪流為每個終端用戶服務。每個用戶輪流使用一個時間片而使每個用戶並不感到有別的用戶存在。

分時系統具有多路性、交互性、“獨占”性和及時性的特征。多路性指,是指同時有多個用戶使用一台計算機,宏觀上看是多個人同時使用一個CPU,微觀上是多個人在不同時刻輪流使用CPU。交互性是指,用戶根據系統響應結果進一步提出新請求(用戶直接干預每一步)。“獨占”性是指,用戶感覺不到計算機為其他人服務,就像整個系統為他所獨占。及時性指,系統對用戶提出的請求及時響應。

常見的通用操作系統是分時系統與批處理系統的結合。其原則是:分時優先,批處理在后。“前台”響應需頻繁交互的作業,如終端的要求; “后台”處理時間性要求不強的作業。

3.實時操作系統

實時操作系統(RealTimeOperatingSystem,RTOS)是指使計算機能及時響應外部事件的請求在規定的嚴格時間內完成對該事件的處理,並控制所有實時設備和實時任務協調一致地工作的操作系統。實時操作系統要追求的目標是:對外部請求在嚴格時間范圍內做出反應,有高可靠性和完整性。

4.嵌入式操作系統

嵌入式操作系統(EmbeddedOperating System)是運行在嵌入式系統環境中,對整個嵌入式系統以及它所操作、控制的各種部件裝置等資源進行統一協調、調度、指揮和控制的系統軟件。

5. 個人計算機操作系統

個人計算機操作系統是一種單用戶多任務的操作系統。個人計算機操作系統主要供個人使用,功能強、價格便宜,可以在幾乎任何地方安裝使用。它能滿足一般人操作、學習、游戲等方面的需求。個人計算機操作系統的主要特點是計算機在某一時間內為單個用戶服務;采用圖形界面人機交互的工作方式,界面友好;使用方便,用戶無需專門學習,也能熟練操縱機器。

6.網絡操作系統

網絡操作系統是基於計算機網絡的,是在各種計算機操作系統上按網絡體系結構協議標准開發的軟件,包括網絡管理、通信、安全、資源共享和各種網絡應用。其目標是相互通信及資源共享。

7.分布式操作系統

大量的計算機通過網絡被連結在一起,可以獲得極高的運算能力及廣泛的數據共享。這種系統被稱作分布式系統(DistributedSystem)

 

操作系統的主要功能簡單總結為:操作系統位於底層硬件與用戶之間,是兩者溝通的橋梁。用戶可以通過操作系統的用戶界面輸入命令,操作系統則對命令進行解釋,驅動硬件設備,實現用戶要求。

 

嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適用於應用系統,對功能、可靠性、成本、體積、功耗等方面有特殊要求的專用計算機系統。

嵌入式系統與通用計算機系統的本質區別在於系統應用不同,嵌入式系統是將一個計算機系統嵌入到對象系統中,這個對象可能是龐大的機器,也可能是小巧的手持設備,用戶並不用關心這個計算機的存在。

嵌入式計算機系統同通用型計算機系統相比具有以下特點: 
  1.嵌入式系統通常是面向特定應用的。嵌入式處理器大多數是專門為特定應用設計的,都具有低功耗、體積小、集成度高等特點,一般是包含各種外圍設備接口的片上系統。
  2.嵌入式系統是涉及計算機技術、微電子技術、電子技術、通信和軟件等各行各業。它是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
  3.嵌入式系統的硬件和軟件都必須具備高度可定制性,只有這樣才能適應嵌入式系統應用的需要,在產品價格性能等方面具備競爭力。
  4.嵌入式系統的生命周期想當長。當嵌入式系統應用到產品以后,還可以進行軟件升級,它的生命周期與產品的生命周期幾乎一樣長。
  5.為了提高執行速度和系統可靠性,嵌入式系統中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存貯於磁盤等載體中。
  6.嵌入式系統本身不具備自舉開發能力,即使設計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發。

 

嵌入式系統一般包含嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用於實現對其他設備的控制、監視或管理等功能。

 

嵌入式系統的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個特點:
  1)對實時多任務有很強的支持能力,能完成多任務並且有較短的中斷響應時間,從而使內部的代碼和實時內核心的執行時間減少到最低限度。
  2)具有功能很強的存儲區保護功能。這是由於嵌入式系統的軟件結構已模塊化,而為了避免在軟件模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利於軟件診斷。
  3)可擴展的處理器結構,以能最迅速地開展出滿足應的最高性能的嵌入式微處理器。
  4)嵌入式微處理器必須功耗很低,尤其是用於便攜式的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,如需要功耗只有mW甚至μW級。

 

Linux作為嵌入式操作系統的優勢:

  1)低成本開發系統

Linux的源代碼開放性允許任何人獲取並修改Linux的源代碼。這樣一方面降低了開發的成本,另一方面又可以提高開發產品的效率,並且還可以再Linux社區獲得支持。用戶只需向郵件列表發一封郵件,即可獲得作者的支持。

    2)可應用於多種硬件平台

Linux可支持X86、PowerPC、ARM、XSCALE、MIPS、SH、68K、Alpha、SPARC等多種體系結構,並且已經移植到多種硬件平台。這對於經費、時間受限制的研究與開發項目是很有吸引力的。Linux采用一個統一的框架對硬件進行管理,同時從一個硬件平台到另一個硬件平台的改動與上層應用無關。

    3)可定制的內核

Linux具有獨特的內核模塊機制,它可以根據用戶的需要,實時地將某些模塊插入到內核中或者從內核中移走,並能根據嵌入式設備的個性需要量體裁衣。經過裁剪的Linux內核最小可達到150KB以下,並能根據嵌入式領域中資源受限的情況。

    4)性能優異

Linux系統內核精簡、高效和穩定,能夠充分發揮硬件的功能,因此比其他操作系統的運行效率更高。在個人計算機上使用Linux,可以將它作為工作站。它也非常適合在嵌入式領域中應用,對比其他操作系統,它占用的資源更少,運行更穩定,速度更快。

    5)良好的網絡支持

Linux是首先實現TCP/IP協議棧的操作系統,它的內核結構在網絡方面是非常完整的,並提供了對包括十兆位、百兆位及千兆位的以太網,還有無線網絡、Token Ring(令牌環)和光纖甚至衛星的支持,這對現在依賴於網絡的嵌入式設備來說無疑是很好的選擇。

 
 
文件系統、分區和掛載

文件系統是指操作系統中與管理文件有關的軟件和數據。Linux的文件系統和Window中的文件系統有很大區別。
 
window:文件系統是以驅動器的盤符為基礎的,而且每一個目錄與相應的分區對如應,如E:\workplace是指此文件在E盤這個分區下。目錄結構屬於分區。
 
Linux:文件系統是一個文件樹,並且它的所有文件和外設都是以文件(一切皆文件)的形式掛載在這個文件樹上,如/usr/local。分區屬於目錄結構。
 
 
主分區、擴展分區和邏輯分區
 
硬盤分區是針對一個硬盤進行操作的,它可以分為主分區、擴展分區、邏輯分區。
 
主分區就是包含操作系統啟動所必需的文件和數據的硬盤分區。要在硬盤上安裝操作系統,則該硬盤必須要有一個主分區,而且其主分區的數量可以是1~3個;
擴展分區就是除主分區外的分區,它不能直接使用,必須將其划分為若干個邏輯分區才能使用,其數量可以有0或1個;
邏輯分區則在數量上沒有限制。
 
SWAP交換分區
 
在硬件條件有限的情況下,為了運行大型的程序,Linux在硬盤上划出一個區域,當做臨時的內存,Windows操作系統把這個區域叫做虛擬內存,而Linux把它叫做交換分區SWAP。
 
分區格式
 
不同的操作系統選擇了不同的格式,同一操作系統也可能支持多種格式。windows就選擇了FAT32、NTFS兩種格式,但是windows不支持Linux上常用的分區格式。Linux是一個開放的操作系統,它最初使用Ext2格式,后來使用Ext3格式,但它同時支持非常多的分區格式,包括很多大型機上UNIX使用的XFS格式,也包括微軟公司的FAT及NTFS格式。
 
GRUB
 
GRUB是一種引導裝入器(類似於bootloader),它負責裝入內核並引導Linux系統,位於硬盤的起始部分。
 
Root權限
 
Linux也是一個多用戶系統(類似於Windows XP),不同的用戶和用戶組會有不同的權限,其中把具有超級權限的用戶成為root用戶。root的默認主目錄在/root下,而其他普通用戶的目錄則在/home下。root的權限極高,它甚至可以修改Linux的內核。
 
 
文件類型及文件屬性(Linux中一切皆文件!)
 
 
1)普通文件
普通文件是用戶日常使用最多的文件,包括文本文件、shell腳本、二進制的可執行文件和各種類型的數據。
 
2)目錄文件
在Linux中目錄也是文件,它們包含文件名和目錄名及指向那些文件和目錄的指針。目錄文件是Linux中存儲文件名的唯一地方,當把文件和目錄相對應起來時,也就是用指針將其鏈接起來之后,就構成了目錄文件。因此在對目錄文件進行操作時一般不涉及對文件內容的操作,而只是對目錄名和看文件名的對應關系進行操作。
 
在Linux系統中每個文件都被賦予一個唯一的數值,而這個數值被稱作索引節點。索引節點存儲在一個稱作索引節點表(Inode Table)中,該表在磁盤格式化時被分配。每個實際的磁盤或分區都有其自己的索引節點表。一個索引節點包含文件的所有信息,包括磁盤上數據的地址和文件類型。
 
Linux文件系統把索引節點號1賦給根目錄,這就是Linux的根目錄文件在磁盤上的地址。根目錄文件包含文件名、目錄名及他們各自的索引節點號的列表,Linux可以通過查找從根目錄開始的一個目錄鏈來找到系統中的任何文件。
 
Linux通過上下鏈接目錄文件系統來實現對整個文件系統的操作,例如,把文件從一個磁盤目錄移到另一個磁盤的目錄時(實際上是通過讀取索引節點來檢測),這時原來文件的磁盤索引號刪除,從而在新磁盤上建立相應的索引節點。
 
3)鏈接文件
鏈接文件類似於Windows中的快捷方式,但是它的功能更為強大。它可以實現對不同的目錄、文件系統甚至是不同的機器上的文件直接訪問,並且不必重新占用磁盤空間。
 
4)設備文件
Linux把設備都當做文件一樣來進行操作,這樣就大大方便了用戶的使用。在Linux下,與設備相關的文件一般都在/dev目錄下,包括兩種:字符設備文件和塊設備文件。
字符設備主要是指串行端口的接口設備。
塊設備文件是指數據的讀/寫設備,它們是以塊(如由柱面和扇區編址的塊)為單位的設備,最簡單的如硬盤(/dev/hda1)等。
 
 文件屬性
 
- rwx rwx rwx
 首先Linux中文件擁有者可以把文件的訪問屬性設成3種不同的訪問權限:可讀(r)、可寫(w)、可執行(x)。文件又有3個不同的用戶級別:文件擁有者(u)、所屬用戶組(g)和系統中的其他用戶(o)
 
 
 第一個字符顯示文件的類型如下:
- 普通文件
d 目錄文件
l 鏈接文件
b 塊設備文件
s 套接字文件
c 字符設備文件
p 命令管道文件
 
第一個字符之后有3個三位字符組:
第一個三位字符組表示文件擁有者(u)對該文件的權限
第二個三位字符組表示文件用戶組(g)對該文件的權限
第三個三位字符組表示系統其他用戶(o)對該文件的權限
若該用戶組對此沒有權限,則顯示"-"字符
 
 
文件系統類型
 
Ext2和Ext3
Ext3是現在Linux常見的默認文件系統,它是Ext2的升級版本。從Ext2轉換到Ext3主要有四個理由:可用性、數據完整性、速度及易於轉化。Ext3中采用了日志式的管理機制,它使文件系統具有很強的快速恢復能力,並且由於從Ext2轉換到Ext3無須進行格式化,因此更加推進了Ext3文件系統的推廣。
 
SWAP文件系統
該文件系統是Linux中作為交換分區使用的。在安裝Linux時,交換分區是必須建立的,並且它所采用的文件系統類型必須是SWAP而沒有其他選擇。
 
VFAT文件系統
Linux中把DOS中采用的FAT文件系統(包括FAT12、FAT16、FAT32)都稱為VFAT文件系統。
 
NFS文件系統
NFS文件系統是指網絡文件系統,它可以很方便地在局域網內實現文件共享,並且使多台主機共享同一主機上的文件系統。而且NFS文件系統訪問速度快、穩定性高,已經得到了廣泛的應用,尤其是在嵌入式領域。使用NFS文件系統可以很多方便地實現文件本地修改,從而免去了一次次讀/寫Flash的憂慮。
 
ISO 9660文件系統
這是光盤所使用的文件系統,在Linux中對光盤已有了很好的支持,它不僅可以提供對光盤的讀/寫,還可以實現對光盤的刻錄。
 
 
Linux目錄結構

    可以把Linux系統看作由四部分構成:內核、用戶界面、文件結構和實用工具

 

         /bin 普通用戶的可執行文件,系統的任何用戶都可以執行該目錄中的命令

         /boot 存放Linux操作系統啟動時所需要的文件

         /dev 系統中所有設備文件

         /etc 系統中的配置文件

         /home 普通用戶的宿主目錄,每個用戶在該目下都有一個於用戶名同名的目錄。

         /mnt 中的子目錄用於系統中可移動設備的掛載點

         /root 超級用戶root的宿主目錄

         /sbin 系統中的管理命令,普通用戶不能執行

         /tmp 系統的臨時目錄

         /usr  系統應用程序的相關文件

         /var 系統中經常變化的文件如日志文件和用戶郵件

                   /

               /   \

                /     \

             etc    home

             /       /

            /       /

         profile   xiaoming

         /            \

   配置系統          .bash_profile

   環境變量          配置用戶的環境變量

環境變量:配置.bashrc文件可以指定某些程序在用戶登錄的時候就自動啟動

     系統環境變量設置:在root目錄下  Vi .bash_profile

         修改PATH=$PATH:$HOME/bin :/安裝目錄/bin

         需要退出(quit),重新登陸

 當希望臨時加入某個環境變量:用export PATH =$PATH : $HOME /bin:/root/test/t1

已定義好的環境變量:

         SHELL:默認的shell

         PATH:路徑

         USER:當前登錄用戶的用戶名

顯示變量內容:echo $PATH

               echo $USER

               echo $SHELL

也可以使用env命令顯示環境變量

通配符:

         * 代表多個字母或數字

         ?    一個

別名:

         命令:alias顯示系統當前定義的所有alias

         alias cp ='cp-i'

         alias ll='ls -l --color = tty'

linux 基本命令

重啟

   shutdown - h now   立刻關機

         shutdown - r now   重啟

         reboot             重啟

文件查看和連接命令

           cat   cat [選項] <file1> …

more                  顯示文件內容,帶分頁

           less              顯示文件內容,帶分頁

             grep             在文本中查詢指定內容

|        管道命令[把上一個命令的結果給|后的命令處理]

         grep   "shunping" aaa.java

         grep -n ......         顯示行數 

         grep -n "shunping" aaa.java > kkk.bak 重定向命令

        

         ls -l > a.txt           列表的內容寫入文件 a.txt(覆蓋寫)

         ls -l >> a.txt     追加寫到文件的末尾

        

         find的使用:

                   在特定目錄下搜索並顯示指定名稱的文件和目錄,搜索一段時間內被存     取/變        更的文件或目錄。

         find /home -amin -10  十分鍾內存取的文件和目錄

         find /home -atime -10 十小時

         find /home -cmin -10 十分鍾內更改過的

         find /home -size +10k  大小為10k的

 將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來。

  # find . -name "*.c"

  將目前目錄其其下子目錄中所有一般檔案列出

  # find . -ftype f

  將目前目錄及其子目錄下所有最近 20 分鍾內更新過的檔案列出

  # find . -ctime -20

命令的操作

more  more [選項]  <file>…分屏顯示命令

less   less [選項] <filename> 按頁顯示命令

clear  清除屏幕命令

history            查看歷史命令記錄

目錄相關命令

cd ..              可進入上一層目錄

cd -                進入上一個進入的目錄

cd ~                   可進入用戶的home目錄

pwd                顯示當前在哪個路徑

ls                 列出文件和目錄

ls -a              顯示隱藏文件

ls -l              顯示常列表格式

mkdir                    建立目錄

rmdir              刪除空目錄

touch              建立空文件

文件權限、用戶組

文件操作

      cp                        復制命令   將檔案 aaa 復制(已存在),並命名為 bbb:

  cp aaa bbb

  將所有的C語言程式拷貝至 Finished 子目錄中:

  cp *.c Finished

         cp -r dir1 dir2    遞歸復制(復制子目錄信息)

         mv               移動文件和改文件 將檔案 aaa 更名為 bbb:

  mv aaa bbb

  將所有的C語言程式移至 Finished 子目錄中:  mv -i *.c

         rm                 刪除文件和目錄

         rm -rf *      刪除所有內容(包括目錄和文件)

如何修改文件的訪問權限

                   chmod 777 along

范例 :將檔案 file1.txt 設為所有人皆可讀取:

  chmod ugo+r file1.txt

  將檔案 file1.txt 設為所有人皆可讀取:

  chmod a+r file1.txt

  將檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入:

  chmod ug+w,o-w file1.txt file2.txt

 

  將 ex1.py 設定為只有該檔案擁有者可以執行:

  chmod u+x ex1.py

  將目前目錄下的所有檔案與子目錄皆設為任何人可讀取:

  chmod -R a+r *

用戶組操作

         su-                切換成系統管理員

         su                用戶之間的切換

         logout             用戶注銷

         useradd  xiaoming  添加用戶(root下)

         passwd   xiaoming  設置xiaoming的密碼

         userdel  xiaoming  刪除用戶

         userdel -r xiaoming刪除用戶及其主目錄

每個用戶必須屬於某一個組,不能獨立於組外。

         每個文件有所有者、所在組、其它組的概念

         *1,所有者:一般指創建者

            用ls -ahl 命令可以查看文件的所有者

            用chown 用戶名 文件名 來修改文件的所有者

         *2,文件所在組 ----用戶所在的組

            ls -ahl  可以看見文件的所有組

            chgrp 組名 文件名 修改文件所在組

         *3,其它組---除開文件的所有者和所在組的用戶外,

             系統其他用戶都是文件的其他組

         添加組 ---groupadd policeman

         查看Linux中所有組 : vi /etc/group 查看該文件或cat /etc/group | more

         創建用戶並指定將該用戶分配到哪個組

         useradd -g 組名 用戶名

         查看Linux中所有用戶信息:vi /etc/passwd 或者cat /etc/passwd

         文件權限:-----分為三種:r-可讀,用四表示

          |   |     |               w-可寫,用2表示

         -|rw-|r--|r--            x-可執行,用1表示

          |   |     |

         上圖中由右向左:

                   第1部分:其它組的用戶對該文件的權限

                   第2部分:文件所在組對該文件的權限

                   第3部分:文件的所有者對該文件的權限

                   第4部分:文件類型 ---普通文件(-),目錄(d),鏈接(l)

-d <dirName>:指定用戶主目錄,默認情況下,將會在/home目錄下新建一個與用戶名相同的用戶主目錄

刪除用戶的命令為userdel,該命令的格式為:userdel <用戶名>

修改用戶屬性

usermod –g<主組名> -G <組名> -d <用戶主目錄> -s <用戶shell>

在添加用戶時,可以指定將該用戶添加到哪個組中,同樣的用root的管理權限可以改變     某個用戶所在的組:usermod -g 組名 用戶名

         可以用 usermod -d 目錄名 用戶名 改變該用戶登錄的初始目錄 

增加用戶組

           groupadd <新組名>

刪除用戶組

      groupdel <組名>

修改組成員:直接編輯/etc/group文件,將用戶名寫到對應的組名的后面

whoami命令的功能在於顯示用戶自身的用戶名。

who [選項]:該命令主要用於查看當前在線的用戶情況

w命令 :用於顯示登錄到系統的用戶情況

finger命令可用於查找和顯示用戶信息,並且在查找后顯示指定賬號的相關信息

chfn命令能夠改變系統存儲的用戶信息

 切換用戶身份:su [用戶名]

幫助命令

man  <command>     info <command>   help [command]

vi 編輯命令

vi有三種基本工作模式,分別是:命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode) 

進入vi:

命令“vi 文件名”

命令“vi”,在退出vi時再指定文件名

選項“+n”,表示希望在進入vi之后,光標處於文件中第n行上,

選項“+”表示希望在進入vi之后光標處於文件最末行。

保存文件:

1.在命令模式下,連按兩次大寫字母<Z>。

2.在末行模式下:

 :w   vi保存當前編輯的文件,但並不退出vi,而是繼續等待用戶輸入命令。 :w <newfile>

 :w! <newfile>  把當前文件的內容保存到指定的文件newfile中,如果newfile已經存在,則覆蓋原有內容。

在末行模式下,有四種方法可以退出vi返回到shell:

 :q   系統退出vi返回到shell。在用此命令時,若編輯的文件沒有被保存,則vi在窗口的最末行給出提示信息。

 :q!  vi放棄所作修改而直接退到shell下。

 :wq         先保存文件,然后再退出vi返回到shell。

 :x    該命令的功能與命令模式下的ZZ命令功能相同

0(數字0) 移到當前行的行首

$  移到當前行的行尾

設備硬盤操作

掛載設備

查看設備:使用命令“fdisk –l”可以查看系統的存儲設備

掛載設備 :首先使用mkdir命令建立掛載點目錄,然后再使用mount命令掛載相關設備

mkfs [選項][-t <文件系統類型>] [設備名稱] [區塊數]

說明:把指定的設備格式為指定的文件系統。

         查看磁盤使用情況

            df [-參數] 比如, df-l

         查看某個目錄是在哪個分區

             df [目錄全路徑]

         查看Linux系統分區具體情況

             fdish -l

網絡配置

配置網絡接口可以使用三種不同的工具來完成:

使用網絡接口配置程序netconfig

使用圖形配置工具

使用終端命令ifconfig

監控網絡狀態信息:

                   顯示網絡統計信息的命令netstat

                   此命令用來顯示整個系統目前的網絡情況。例如目前的連接、數據包傳遞數據         、或路由表的內容。如 netstat -an      netstat -anp|more (查看網絡端口的使用的情況)

         顯示數據包經過歷程命令:traceroute

         route 查看路由表

**********************************************

         1.追蹤路由 :tracert 目標ip/域名

         2.測試兩個ip是否暢通:ping 目標IP

         3.window下查看IP情況:ipconfig

         4.Linux/unix下查看IP情況:ifconfig

         5.linux 網絡環境配置:

         第一種:

                   (1) 用root身份登陸,運行setup命令進入到text mode setup utility

                   對網絡進行配置,這里可以進行ip、子網掩碼、默認網管、dns的設置

                   (2) 這時網卡的配置沒有立即生效,運行

                   /etc/rc.d/init.d/network restart命令我們剛才作的配置生效。

         第二種:

                   (1)ifconfig eth0 x.x.x.x對網卡進行設置

                   (2)infconfig eth0 network x.x.x.x對子網掩碼設置

                   對廣播地址和dns使用默認的

                   注意:這樣配置網絡會立即生效,但是是臨時生效

         第三種:

                   (1) 修改/etc/sysconfig/network-scripts/ifcfg-eth0

                   這個文件的各個屬性可以修改,包括ip,子網掩碼、廣播地址、默認網關

                   (2)這是網卡的配置沒有生效

                   運行/etc/rc.d/init.d/network restart 命令我們剛才做的設置才生效

                   Linux中的所有設備都是文件,這種方法是最底層的方法,永久性修改

         VMware下Linux和window ping

                   (1) windows下ipconfig查看VM網卡IP

                   (2) 配置Linux的IP使兩者處於同一個子網的 即可以ping通

ifconfig <設備名> <IP地址> netmask <掩碼>

例如:

ifconfig eth0 192.168.15.11 netmask 255.255.255.0

在網絡配置界面中,通過“激活”或者“解除”按鈕可以啟動或者禁用網絡接口,

網絡控制程序network

/etc/rc.d/init.d/network  start|stop|restart

命令ifconfig :

ifconfig <設備名> [up|down]

命令ifup/ifdown

ifup eth0

ifdown eth0

 

配置文件名

功能

/etc/sysconfig/network

最基本的網絡信息,系統啟動時讀取該文件

/etc/sysconfig/network-scripts/*

此目錄下的文件是系統啟動時用來初始化網絡的一些信息,例如:第一塊以太網卡對應的文件為ifcfg-eth0

/etc/host.conf

域名解析的控制文件

/etc/hosts

域名或主機名與IP地址的映射文件

/etc/resolv.conf

域名服務器設置文件

/etc/protocols

定義使用的網絡互聯協議及協議號

/etc/services

設定主機的不同端口的網絡服務

安裝軟件:

獲取最新版本的Apache源代碼

將源代碼解壓縮

./configure –- prefix=/home/myapache

執行編譯命令:make

執行安裝命令:make install 

賬號和用戶管理

用戶和組的配置信息保存在以下三個文件中:

/etc/passwd

/etc/shadow

/etc/etc/group

更改文件所有者命令chown

         chown [選項] user[:group] <file>...

更改文件訪問權限命令chmod

         chmod [選項] <mode> <file>...

        mode:[ugoa][[+-=][rwxX]...][,…],

         mode也可以用數字來表示權限:

        chmod abc file

a,b,c各為一個數字,分別表示User、Group、及Other的權限。權限是關於可讀(r)、可寫(w)、可執行(r)三個屬性設置值的和,其中r=4,w=2,x=1,

例如:

若要rwx屬性,則4+2+1=7;

若要rw-屬性,則4+2=6;

若要r-x屬性,則4+1=7

進程管理

Linux操作系統包括三種不同類型的進程,每種進程都有自己的特點和屬性:

交互進程:由shell啟動的進程。

批處理進程:這種進程和終端沒有聯系,是一個進程序列。

守護進程:在后台持續運行的進程。

前台啟動:一般地,用戶鍵入一個命令,就已經啟動了一個前台的進程。

后台啟動 :對於非常耗時進程,可以然進程在后台運行。從后台啟動進程其實就是在命令結尾加上一個“&”號

每個進程,都會對應一個父進程,而這個父進程可以復制多個子進程

         每個進程都可能以兩種方式存在:后台或前台

         進程就是正在執行的程序

         顯示系統執行的進程:ps命令,可以不加任何參數

                   1. ps -a :顯示當前終端的所有進程信息

                   2:ps -u :以用戶的格式顯示進程信息

                   3. ps -x :顯示后台進程運行的參數

                   ps -aux

         終止進程:kill/killall

         終止某個進程:kill 進程號  如:kill 6251

         kill -q 5222 :因為某些進程會捕捉某些信息,如果直接不能結束進程,可以使用“          -q”傳送信息

         動態監控進程:top

         top和ps類似,top在執行一段時間可以更新正在進行的進程

                   1.監視特定用戶

                   top:輸入此命令,按回車鍵,查看執行的進程

                   u:然后輸入“u” 回車,在輸入用戶名即可

                   2.終止指定的進程

                   top:

                   k: 輸入k回車,再輸入要結束的進程ID

                   3.top -d 10 :指定系統更新進程的時間為10秒

                   按小q退出

任務調度命令

         任務調度指系統在某個時間執行的特定的命令和程序

         任務調度分類:

         1.系統工作:有些重要的工作必須周而復始的執行,如病毒掃描.....

         2.個別用戶工作:個別用戶可能希望執行某些程序

         置任務調度文件:/etc/crontab

         設置個人任務調度:執行crontab -e命令

                   接着輸入任務到調度文件

                   如:5**** ls -l /etc/ > /tmp/to.txt

         意思是說每小時的第五分鍾執行ls -l /etc/ > /tmp/to.txt

         任務調度的使用:

         1.設置任務 crontab -e

         2.每隔一定時間去執行 data > /home/mydata1

         希望每天凌晨2:00執行 date >> /home/mydate

                   02*** date >> /home/mydate

         調度文件的規則:

         字段名稱                      說明              范圍

         分鍾                   每小時第幾分鍾          0~59

         小時                   每日的第幾個小時     0~23

         日期                   每月的第幾天              1~31

         日歷                  每年的第幾個月          1~12

         星期                   每周的第幾天              0~6

         3.怎么樣調度多個任務?

         a.在crontab -e 中直接寫

         b.可以把所有的任務寫入一個可執行文件(shell編程)

         例子: vi mytask.sh

                   date >> /home/mydate

                   cp /home/mydate /root

                   chmod 744 mytask.sh

                   crontab -e

                   ***** /root/mytask.sh

         終止任務調度:     crontab -r :終止任務調度

                            crontab -l :列出當前有哪些任務調度

at命令

在shell提示符下輸入”at 時間”,然后按回車鍵。這時在下一行shell會等待用戶繼續輸入要執行的命令。每一行輸入一個命令,所有命令都輸入完畢后按Ctrl+d鍵結束。

將各個命令寫入shell腳本中,然后使用下面格式設置在指定時間執行shell腳本中的命令:

at 時間 –f腳本文件。

batch命令

crone命令在系統啟動時由一個shell腳本自動啟動,進入后台。

cron啟動后搜索/var/spool/cron目錄,尋找以/etc/passwd文件中的用戶名命名的crontab文件,被找到的這種文件將載入內存。

如果沒有crontab文件,就轉入“休眠”狀態,釋放系統資源。

cron每分鍾“醒”過來一次,查看當前是否有需要運行的命令。

如果發現某個用戶設置了crontab文件,它將以該用戶的身份去運行文件中指定的命令。命令執行結束后,任何輸出都將作為郵件發送給crontab的所有者,或者/etc/crontab文件中MAILTO環境變量中指定的用戶。

內存查看命令free

磁盤空間用量查看命令df

設置系統日期:

                   1.date命令。可以直接輸入date 來查看系統時間

                   2.利用date命令來更改系統時間

                   date MMDDHHMCCYY.SS:指定月月日日時時分分年年年年.秒秒

                   3.查看日歷:cal 3 2002  :查看2001年3月的日歷

                   4.查看年歷:cal 2008

軟件安裝

         1.linux JDK的安裝

                   a.把**.iso 文件掛載在虛擬機上做好配置

                            mount /mnt/cdrom

                            unmount /mnt/cdrom

                   b.把安裝文件拷貝到 /home

                            cp 文件 /home

                   c.cd /home

                   d.安裝

                            ./**.bin

                   e.看看文件 /etc/profile[環境配置文件]

                   f.配置剛才自己安裝的JDK

         2.eclipse

                   a.安裝文件拷貝到 /home

                   b.安裝

                            tar -zxvf **.tar.gz

                   c.啟動eclipse[進入圖形界面]

                            startx   ./eclipse

                   ./eclipse & 后台方式運行

shell

         作為命令語言互動式地解釋和執行用戶輸入的命令只是shell功能的一個方面

另外shell還可以進行程序設計,他提供了定義變量和參數的手段以及豐富的程序控制結構。使用shell類似於DOS中的批處理文件稱為shell script

         shell有很多,常用的有3種:/bin/sh  /bin/csh   /bin/ksh

查看shell種類 :ls -l /bin/*sh

         1.查看目前使用的是哪種shell

         env [該命令可以顯示當前操作系統的環境變量]

         2.shell的修改:

         直接輸入:chsh -s 輸入新的shell 如:/bin/csh

RPM管理

         介紹:一種用於互聯網下載包的打包及安裝工具,它包含在某些Linux分發版中。它生成     具有.RPM擴展名的文件。

         RPM是RedHat Package Manager(RedHat軟件包管理工具)的縮寫

         RPM包的名稱格式:apache-1.3.23-11.i386.rpm

         **RPM 常用命令

         rpm -qa:查詢所安裝的所有rpm軟件包

                   rpm -qa | more

                   rpm -pa | grep x

         rpm -q 軟件包名 (查詢軟件包是否安裝)

                   rpm -q foo

         rpm -qi 軟件包名:查詢軟件包信息

                   rpm -ql file

         rpm -ql 軟件包名 :查詢軟件包中的文件

                   rpm -ql file

         rpm -qf文件全路徑名:查詢文件所屬的軟件包

                   rpm -qf /etc/passwd

         rpm -qp包文件名:查詢包的信息、對這個軟件包的介紹

                   rpm -qp jdk-1-5_linux -i586.rpm

         安裝rpm包:

                   rpm -i RPM包路徑名稱:安裝包到當前系統

                   i = install

                   rpm -ivh RPM包全路徑名稱:安裝包到當前系統有提示信息

                   參數說明:i = install 安裝

                              v = verbase 提示

                              h = hash 進度條

         刪除rpm包:rpm -e jdk

                  如果其它軟件包依賴於您要卸載的軟件包,卸載時則會產生錯誤的信息

             如果忽略這個錯誤信息繼續卸載,使用 --nodeps命令行選項

         升級rpm包:

                   rpm -u RPM包全路徑包


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM