linux的簡單瞭解和使用

1、 Linux概述 

1.1. 簡介 

Linux是一個自由的,免費的,源碼開放的操做系統。也是開源軟件中最著名的例子。其最主要的目的就是爲了創建不受任何商品化軟件版權制約的,全世界都能使用的類Unix兼容產品.而咱們將服務器部署在Linux將會更加的穩定、安全、高效以及出色的性能這時windows沒法比的。html

 1.2.Linux做者前端

 林納斯·本納第克特·託瓦茲(Linus Benedict Torvalds, 1969~ ),著名的電腦程序員、黑客。Linux內核的發明人及該計劃的合做者。託瓦茲利用我的時間及器材創造出了這套當今全球最流行的操做系統(做業系統)內核之一。現受聘于開放源代碼開發實驗室(OSDLOpen Source Development Labs, Inc),全力開發Linux內核。java

 1.3.Linux 發行版python

 發行版是基於 Linux 內核的一個操做系統。它帶有用戶可使用的軟件集合。更多的,它還包含系統管理包。目前有許多 Linux 發行版。由於咱們不能數清目前全部的 Linux 發行版,因此咱們來看一下一些有名的版本: UbuntuFedoraOpensuseRed hat Linux Debian 等是幾個很是受歡迎的 Linux 發行版。linux

1.4.Linux的特色

開放性,多用戶,多任務,豐富的網絡功能,可靠的系統安全,良好的可移植性,具備標準兼容性程序員

2、環境準備

2.1. Vmware

2.1.1 Vmware簡介

大多數服務器的容量CPU,內存,磁盤等)利用率不足 30%,這不只致使了資源浪費,也加大了服務器數量。實現服務器虛擬化後,多個操做系統能夠做爲虛擬機在單臺物理服務器上運行,而且每一個操做系統均可以訪問底層服務器的計算資源,從而解決效率低下問題。web

Vmware虛擬機化技術由此誕生,它能夠將一臺服務器虛擬化出多臺虛擬機,供多人同時使用,提升資源利用率。正則表達式

2.1.2 Vmware workstation 安裝

詳細見vmware安裝文檔shell

2.2. linux安裝

詳細參照網上教程,不少
apache

2.3.網絡配置

2.3.1 查看網關

 

2.3.2 配置IP(NAT模式)

1.編輯配置文件,添加修改如下內容

vi  /etc/sysconfig/network-scripts/ifcfg-eth0

i 進入文本編輯模式,出現遊標,左下角會出現INSERT,便可以編輯

 

 

應包含如下配置,

 DEVICE=eth0     #網卡設備名,請勿修更名字

TYPE=Ethernet #網絡類型,以太網

BOOTPROTO=static   #啓用靜態IP地址

ONBOOT=yes  #開啓自動啓用網絡鏈接

IPADDR=192.168.78.100  #設置IP地址

NETMASK=255.255.255.0  #設置子網掩碼

GATEWAY=192.168.78.2   #設置網關

DNS1=114.114.114.114  #設置備DNS

 

ESC退出編輯模式

:wq  #保存退出

 

2.修改完後執行如下命令

service network restart  #重啓網絡鏈接

 ifconfig  #查看IP地址

 

3.驗證是否配置成功:

虛擬機能ping通虛擬網關

 

 

 虛擬機與物理機(筆記本)相互可ping

 

 

 虛擬機與公網上的百度網址相互可ping通(此步ping通,才說明網絡配置成功,Ctrl+C中止)

命令:ping  www.baidu.com 

 

注意:

a.保證VMware的虛擬網卡沒有被禁用

 

b.網關IP不能被佔用

 

 

2.4.XShell安裝使用

2.4.1安裝步驟

除了安裝路徑須要修,其餘一直下一步

2.4.2 鏈接虛擬機

1. 打開xshell軟件新建一個會話

 

 

 2. 填寫所要鏈接的虛擬機IP,會話名稱可改可不改,點擊肯定。

 

 

3.鏈接虛擬機。

 

 

4.輸入root用戶名,能夠勾選記住用戶名

 

 

5.填寫密碼,能夠勾選「記住密碼」

 

 

6.登陸成功。

 

 

3、文件系統

Linux文件系統中的文件是數據的集合,文件系統不只包含着文件中的數據並且還有文件系統的結構,全部Linux 用戶和程序看到的文件、目錄、軟鏈接及文件保護信息等都存儲在其中。

 

Linux目錄結構:

 

   bin  存放二進制可執行文件(ls,cat,mkdir)                                                           

  boot  存放用於系統引導時使用的各類文件

  dev 用於存放設備文件

  etc  存放系統配置文件

  home 存放全部用戶文件的根目錄

  lib  存放跟文件系統中的程序運行所須要的共享庫及內核模塊

  mnt  系統管理員安裝臨時文件系統的安裝點

  opt  額外安裝的可選應用程序包所放置的位置

  proc  虛擬文件系統,存放當前內存的映射

  root  超級用戶目錄

  sbin  存放二進制可執行文件,只有root才能訪問

  tmp  用於存放各類臨時文件

  usr  用於存放系統應用程序,比較重要的目錄/usr/local 本地管理員軟件安裝目錄

var  用於存放運行時須要改變數據的文件

 

3.1.目錄操做

3.1.1切換目錄

命令:cd + 目錄的路徑  

查看當前目錄的完整路徑 pwd

 命令 cd .. 返回到父目錄

 3.1.2新建目錄

命令:mkdir + 目錄名字

查看當前目錄下擁有的子目錄和文件: ls

 3.1.3拷貝目錄

cp source dest  -r

 3.1.4刪除目錄

rmdir directory

 注意:rmdir只能刪除空目錄,若要刪除非空目錄則用rm命令

rm -rf dir

3.1.5移動/更改 目錄

移動文件或目錄:mv + 目錄/文件名字 + 其餘路徑

  mv test /     test目錄移動到 根目錄/ 下

 更改文件或目錄的名字:mv + 舊目錄名字新目錄名字。

 3.2.文件操做

3.2.1新建文件:(一切皆文件)

touch web.log   建立一個空文件。

 3.2.2 複製文件

     cp web.log web_cp.log

 複製文件,加個-r 參數,表明遍歷複製,此時可用於複製一個目錄。

3.2.3 刪除文件

rm web_cp.log

 此時須要手動輸入y ,表明確認刪除。可加 –f參數,直接刪除,無需確認。當須要一個目錄下全部東西時,加-r參數,表明遍歷刪除。

 rm -f web.log

 3.2.4 查看

3.2.4.1查看目錄下的東西

ls / ll

   命令 ls -l 等價於 ll

 查看目錄下的全部東西(包括隱藏文件) 

命令:ls –al 等價於  ll –a

 3.2.4.2查看文件內容

cat filename: 一次性顯示整個文件的內容

 注意:當文件較大時,文本在屏幕上迅速閃過(滾屏),用戶每每看不清所顯示的內容。

 所以,通常用more等命令分屏顯示.

more filename 該命令一次顯示一屏文本,滿屏後停下來,而且在屏幕的底部出現一個提示信息,給出至今己顯示的該文件的百分比

Space鍵,顯示文本的下一屏內容。
Enier鍵,只顯示文本的下一行內容。

B鍵,顯示上一屏內容。

Q鍵,退出。

 

 

 

    

less命令 與 more命令 很是相似

less filename:

h 顯示幫助界面

Q 退出less 命令

u 向滾動半頁

d 向翻半頁

空格鍵 滾動一 

b 向後翻一頁

回車鍵 滾動一

[pagedown]: 向下翻動一頁

[pageup]: 向上翻動一頁

以及上下鍵,向上一行,向下一行

 3.2.4.3頭打印文件內容

head  -10 filename  打印文件1到10行

  3.2.4.4尾部打印文件內容

  tail -10 filename 打印文件最後10行

 注意:tail 還常常能夠拿來查看文件的內容變化

-f參數,tail –f filename

 

3.2.5查找文件或目錄

find  pathname –name filename

      例子:find / -name profile

      該命令表示爲,在/目錄下查找 名字爲profile的文件或目錄,最後列出它的絕對路徑

       最後發現,linux系統根目錄/ 下 一共有兩個名字爲profile,其中/etc/profile是一個文件,/etc/lvm/profile爲目錄

還能夠按正則表達式來查找,且pathname越精確,查找的範圍越小,速度越快。

      find /etc -name pro*

      該命令表示爲:在/etc目錄下查找以pro開頭的文件或目錄。

 

 4、文本編輯

4.1.vi

 

編輯模式

vi filename :打開或新建文件,並將光標置於第一行首

vi +n filename :打開文件,並將光標置於第n行首

vi + filename :打開文件,並將光標置於最後一行首

vi +/pattern filename:打開文件,並將光標置於第一個與 pattern匹配的串處

 

命令行模式

• w保存

• q退出

• q!:不保存文件並退出vi

– 在VI的命令模式下輸入「:set nu」,就有行號了。

– 在VI的命令模式下輸入「:set nonu」,取消行號。

 

 

通常模式

• yy 複製光標所在行(經常使用)

• nyy 複製光標所在行的向下n行,例如, 20yy則是複製20行(經常使用)

• p,P   p爲複製的數據粘貼在光標下一行, P則爲粘貼在光標上一行(經常使用)

G:光標移至第最後一行

nG:光標移動至第N行行首

n+:光標下移n行

n-:光標上移n行

H :光標移至屏幕頂行

M :光標移至屏幕中間行

L :光標移至屏幕最後行

 

• dd:刪除 行

x或X:刪除一個字符,x刪除光標後的,而X刪除光標前的

• u 恢復前一個動做(經常使用)

 

刪除第N行到第M行:

  :N,Md

 

4.2.vim

Vim是從 vi 發展出來的一個文本編輯器。代碼補完、語法高亮編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被普遍使用.

安裝vim 軟件

yum install vim

 

y確認, 這中間一共要按兩次確認

 

能夠在書寫命令時就加y,這樣就不用逐一確認。

yum install vim  -y

   vim 打開/etc/profile 文件,會發現編輯器對文本的內容進行了高亮,使整個文件的內容可讀性大大增強

命令:vim /etc/profile

 

5、傳輸

5.1.遠程拷貝

5.1.1將本地文件複製到遠程機器

 

scp local_file remote_username@remote_ip:remote_folder   

 

第一次遠程拷貝時,須要在箭頭1初輸入yes確認一下,驗證一下遠程主機。而後在箭頭2處輸入一下遠程主機的密碼。

 5.1.2將本地目錄複製到遠程機器

scp -r local_folder remote_username@remote_ip:remote_folder 

 test目錄下建立一個myfile文件,而後將test目錄遠程拷貝到192虛擬機的根目錄下。

 5.2.上傳

需先安裝lrzsz :  yum  install  lrzsz  -y

安裝好後,輸入上傳的命令rz,彈出一下界面:

 選擇一個windows系統裏的文件上傳至虛擬機的當前目錄下,而後ll命令,查看結果

 

5.3.下載

  下載命令爲sz,sz命令只能下載文件,不能是目錄,可先將目錄壓縮成一個包,再下載至windows系統。下載完以後,按ctrl+c結束。

 

5.4Xftp的安裝與使用

    除了能夠用rz sz命令進行本地windows系統和虛擬機之間的文件傳輸,還可使用XFTP軟件。

6、網絡指令

6.1.查看網絡配置信息

命令:ifconfig

 

 

箭頭1指向的是本機IP,箭頭2爲廣播地址,箭頭3位子網掩碼。

6.2.測試與目標主機的連通性

命令:ping remote_ip

 

 

輸入ping 192.168.78.192表明測試本機和192主機的網絡狀況,箭頭1表示一共接收到了3個包,箭頭2表示丟包率爲0,表示二者之間的網絡順暢。注意:linux系統的ping命令會一直髮送數據包,進行測試,除非認爲的按ctrl + c中止掉,windows系統默認只會發4個包進行測試,如下爲windows的dos命令。

 

6.3.顯示各類網絡相關信息

命令:netstat 

-a (all)顯示全部選項,默認不顯示LISTEN相關
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的所有轉化成數字。
-l 僅列出有在 Listen (監聽) 的服務狀態

-p 顯示創建相關連接的程序名
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid
-s 按各個協議進行統計
-c 每隔一個固定時間,執行該netstat命令。

提示:LISTENLISTENING的狀態只有用-a或者-l才能看到

 

7、系統配置

7.1 主機名配置

  若要修改主機名字,可在/etc/sysconfig/network文件裏修改.

vim /etc/sysconfig/network

       機器重啓才能生效

 

 

7.2 DNS配置

    hosts文件的做用至關於DNS,提供IP地址hostname的對應,可在這個文件裏添加映射。域名解析

vi /etc/hosts

 

測試:直接ping 主機名

/etc/resolv.conf DNS服務器的地址文件

 

 

7.3 環境變量

Linux系統的環境變量是在/etc/profile文件裏配置。

首先考慮一個問題,問什麼咱們先前敲的yum, service,date,useradd等等,能夠直接使用,系統怎麼知道這些命令對應的程序是放在哪裏的呢?

這是因爲不管是windows系統仍是linux系統,都有一個叫作path的系統環境變量,當咱們在敲命令時,系統會到path對應的目錄下尋找,找到的話就會執行,找不到就會報沒有這個命令。以下圖:

 

 

咱們能夠查看一下,系統一共在哪些目錄裏尋找命令對應的程序。

命令:echo $path

 

 

   能夠看到path裏有不少路徑,路徑之間有冒號隔開。當用戶敲命令時,系統會從左往右依次尋找對應的程序,有的話則運行該程序,沒有的就報錯,command not found.

那若是我寫了一個腳本(腳本後面會專門講),我該怎樣運行它呢?

 

 

 

test.sh添加可執行權限,chmod 700 test.sh

 

 

 

運行方法有三種:

 

一種是到腳本的目錄下執行:

運行命令 ./test.sh  ,表明執行當前目錄裏的腳本test.sh

 

 

一種是敲腳本的絕對路徑:/usr/test/test.sh

 

 

以上兩種運行方式都不是很簡便,由於先前咱們執行yum service命令等,都是直接敲對應的命令的。因此咱們也能夠參照這樣子作,只要咱們配一個環境變量就好。

編輯: vim /etc/profile test.sh所在目錄添加到path裏就OK,我這裏test.sh是在/usr/test目錄下。

 

編輯完以後,執行source /etc/profile命令,從新加載環境變量,此時會發現PATH路徑多了一個/usr/test

 

   最後驗證一下,直接執行test.sh

       

 

 

8、服務操做

8.1 列出全部服務

命令:chkconfig

查詢操做系統在每個執行等級中會執行哪些系統服務,其中包括各種常駐服務。

 

 

 

各數字表明的系統初始化級別含義:

 0:停機狀態

  1:單用戶模式,root帳戶進行操做

  2:多用戶,不能使用net file system,通常不多用

  3:徹底多用戶,一部分啓動,一部分不啓動,命令行界面

  4:未使用、未定義的保留模式

  5:圖形化,3級別中啓動的進程都啓動,而且會啓動一部分圖形界面進程。

  6:中止全部進程,卸載文件系統,從新啓動(reboot)

  這些級別中一、二、4不多用,相對而言0、三、五、6用的會較多。3級別和5級別除了桌面相關的進程外沒有什麼區別。爲了減小資源佔用,推薦都用3級別.

注意 linux默認級別爲3,不要initdefault 設置爲0 6

 

 

8.2 服務操做

service 服務名 start/stop/status/restart

例子:對防火牆服務進行操做,防火牆的服務名爲:iptables.

查看防火牆服務運行狀態。

 

 

   關閉防火牆.   

 

開啓防火牆

 

 

8.3 關閉防火牆

service iptables start/stop/status

注:學習期間直接把防火牆關掉就是,工做期間也是運維人員來負責防火牆的。

8.4 服務初執行等級更改

chkconfig --level 2345 name off|on

 

 

 若不加級別,默認是2345級別

命令:chkconfig name on|off

 

9、linux進程操做

9.1 查看全部進程

 

命令: ps  -aux

-a 列出全部

-u 列出用戶

-x 詳細列出,如cpu、內存等

 - e

  -f

 

 

命令: ps  - ef  |  grep ssh

 查看全部進程裏CMDssh 的進程信息。

 

 

其中箭頭所指的是sshd服務進程的進程號(PID

 

9.2 殺死進程

Kill

用法 kill pid

-9:強制殺死

ps 命令先查出對應程序的PIDPPID ,而後殺死掉進程。

 

10、 其餘經常使用命令

10.1 yum

yum是一個在FedoraRedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包,無須繁瑣地一次次下載、安裝

因爲centos系統的yum默認是到國外網站下載,有時下載速度會很慢,故咱們能夠換一個yum的下載源,這裏咱們換一個國內的下載源 阿里雲鏡像。

 

第一步:備份你的原鏡像文件,以避免出錯後能夠恢復。

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

 

第二步:下載新的CentOS-Base.rep/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

 

下載完以後,vim /etc/yum.repos.d/CentOS-Base.repo 查看一下文件內容。

 

 

第三步:運行yum makecache生成緩存

 

查看當前源

yum list | head -50

 10.2 wget

wget 是一個從網絡上自動下載文件的自由工具,支持經過 HTTPHTTPSFTP 三個最多見的 TCP/IP協議 下載,並可使用 HTTP 代理

需先安裝 yum install wget  –y

wget用法:wget [option] 網址  -O 指定下載保存的路徑

 

wget 工具還能夠用來作一些簡單的爬蟲,這裏不是咱們的學習重點,若是想作爬蟲,能夠用javapython語言來作。

 

 

10.3 tar 

tar

-z gzip進行解壓或壓縮,帶.gz須要加,壓縮出來.gz也須要加

-x 解壓

-c 壓縮

-f 目標文件,壓縮文件新命名或解壓文件名

-v 解壓縮過程信息打印

解壓命令:tar  -zvxf  xxxx.tar.gz

例子:先用rz命令或wscp上傳一個tar包,而後解壓。

 

 

 

 解壓後:

 

 壓縮命令:tar -zcf 壓縮包命名 壓縮目標

例子:tar -zcf tomcat.tar.gz apache-tomcat-7.0.61

apache-tomcat-7.0.61 目錄壓縮成tomcat.tar.gz包。

 

11、JDK部署

11.1 官網下載

http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

 

 

11.2 上傳並解壓

wscpjdk包上傳到linux系統裏,我這裏上傳到/usr/soft目錄下。

而後解壓: tar -zxf jdk-7u80-linux-x64.tar.gz

 

 

11.3 配置環境變量

配置全局JAVA_HOME,並在path路徑里加入java_home/bin.

注意:新的path路徑必需要包含舊的path路徑,且每一個路徑之間以冒號隔開,而不是分號

vim /etc/profile

JAVA_HOME= /usr/soft/jdk1.7.0_75

PATH=$PATH:$JAVA_HOME/bin

 

 

 

從新加載環境變量:source  /etc/profile

 

 

11.4 驗證

java  -version

 

 

如出現上圖,則表示java環境變量配置成功。

12、部署Tomcat

12.1 官網下載

下載tomcat

http://tomcat.apache.org/

12.2 上傳並解壓

我這裏上傳至/usr/soft目錄下,而後解壓。

 

 

 

12.3 啓動tomcat

tomcatbin目錄下有個startup.sh 腳本能夠直接啓動tomcat服務

 

 

關閉tomcat服務,能夠用shutdown.sh命令。

或者ps -ef | grep tomcat 查看出tomcat進程號後,用kill命令。

12.4 jps

jpsJDK 1.5提供的一個顯示當前全部java進程pid的命令,簡單實用,很是適合在linux/unix平臺上簡單察看當前java進程的一些簡單狀況。

 

 

如上圖所示,jps命令顯示出了,系統當前運行在jvm上的進程狀況。其中Bootstraptomcat的進程名字,1996tomcatPID

13.5 驗證

先把防火牆關了,而後訪問虛擬機IP8080端口

 

相關文章
相關標籤/搜索