lamp-linux-1

LAMP編程之Linux(1)

LAMP:Linux Apache MySQL PHPphp

LNMP:Linux Nginx MySQL PHPnginx

WAMP:Windows Apache MySQL PHP面試

 

Linux是一個操做系統。shell

1、Linux介紹

一、常見的操做系統

  • Windows

它微軟公司開發的一款桌面操做系統(閉源系統)。版本有dos、win9八、win NT、win XP、win 七、win vista、win 八、win 10。服務器操做系統:win server 200三、win server 200八、win server 2012。編程

  • Mac

蘋果公司開發的一款操做系統(閉源系統),目前最新的版本是IOS12。界面風格仍是不錯。對於系統底層的優化也是很好。vim

  • Linux

Linux是一個開源的操做系統,目前是市面上佔有率極高的服務器操做系統。目前其分支有不少。安卓windows

  • Unix

Unix是Linux操做系統的前身,Unix時間戳是指1970年1月1日0時0分0秒,1970年是Unix的時間元年,也就是Unix誕生的年份。centos

二、爲何要使用Linux操做系統

之因此大部分的公司開發的時候都是使用Linux操做系統,取決於兩個特性:安全

穩定性:取決於系統的底層架構,通常狀況下Linux系統能作到很長時間不關機一點也不卡頓;bash

安全性:開源系統,全部人均可以貢獻本身的源代碼爲Linux系統打補丁;

 

問:開源必定意味着免費麼?

答:不必定,有些可能會進行服務收費,例如Redhat。

 

三、Linux簡介

3.一、Linux操做系統

  • 人  物  Linus

Linux的開發做者,李納斯·託瓦茲。荷蘭在校大學生。

  • 1991年  0.0.1版本

李納斯當時學校使用的就是Unix操做系統,而後其對系統的底層代碼進行了修改,放到了學校爲學生開放的網站上,原先他把文件命名寫成了Linus’s Unix,後期網絡管理髮現以後以爲這個名字很差,本身手動的將名字改爲Linux。隨後其餘同窗下載以後發現這個版本仍是挺好用的,隨後都把本身代碼貢獻給李納斯。

  • 1992年  0.0.2版本
  • 1994年  1.0版本
  • 2003年  2.6版本

上面所說的版本是指Linux的內核版本,不是指分支的發行版本。

3.二、開源文化

Linux是開源的操做系統。所謂開源就是指開放源代碼。

  • 人  物  Stallman    斯特曼

開源文化的倡導人。

  • 1983年  GNU計劃             格奴計劃
  • 1985年  FSF基金會
  • 1990年  Emacs、GCC、程序庫 
  • 1991年      Stallman去找Linus,商談讓Linux加入其開源計劃(GNU計劃)
  • 1992年  GNU/Linux

3.三、Linux分支

目前分支比較多,常見的有centos(社區企業網絡操做系統)、RedHat、烏班圖、debian等等。

具體的分支,能夠查看【文件】中的Linux分支圖。

 

2、Linux安裝

一般狀況下安裝分爲真機安裝、在虛擬環境中安裝。

真機安裝:是指將電腦上的操做系統真實的換作其餘的操做系統;

虛擬環境安裝:是指經過一些特殊的軟件虛擬出一個安裝環境,而後在安裝環境中進行安裝

一、安裝虛擬環境

虛擬環境能夠經過特殊的軟件來實現:VMare Wrokstation、Virtual Box等。

 

32位安裝:適用於32位電腦;

64位安裝:是用於64位電腦;

系統的位數能夠在【計算機】-【屬性】中查看:

 

CentOS-6.6-i386-bin-DVD1.iso:鏡像文件,也就是Linux的安裝包

 

第一步:先運行VM的安裝程序,而後點擊下一步

 

 

第二步:贊成其許可協議,而後點擊下一步

 

 

第三步:選擇安裝的位置

 

說明:該路徑是指虛擬機軟件的安裝路徑

 

 

第四步:選擇是否幫助VM公司提升軟件的用戶體驗,能夠不選。

 

 

第五步:勾選快捷方式

 

 

第六步:點擊安裝按鈕

 

 

第七步:安裝完成

 

 

桌面上會有這個圖標:

 

 

要求在網卡里面要多出2個網卡

 

安裝完成以後打開軟件會看到下面的界面:

 

二、Linux安裝

第一步:打開軟件,點擊屏幕中大的「+」或者選擇【文件】選項卡中的【建立新的虛擬機】建立新的虛擬機

 

 

第二步:在彈出的引導界面,選擇【自定義(高級)】,點擊【下一步】

 

 

第三步:在選擇虛擬機兼容性界面直接點擊下一步

 

第四步:選擇介質來源,這個時候選擇第三個【稍後安裝操做系統】,而後點擊【下一步】

 

 

第五步:選擇操做系統類型,而後點擊下一步

 

第六步:設置虛擬機的名稱已經其安裝目錄

 

說明:這個路徑是指虛擬機安裝的操做系統所產生的文件存放目錄,不是指虛擬機的安裝目錄;

 

第七步:選擇虛擬操做系統的cpu核心數

 

說明:此處以及後續的配置設置中設置的配置不要超過當前運行電腦的配置

 

 

第八步:設置操做系統的內存數值,通常狀況下默認便可

 

說明:

         1、設置內存的數值必須是4的倍數;

         2、內存的設置數值不要超過當前電腦的內存數值;

 

第九步:選擇網絡類型,選擇【NAT】,而後點擊【下一步】

 

第十步:選擇I/O控制器類型,默認便可,點擊【下一步】

 

第十一步:選擇磁盤類型,默認便可,點擊【下一步】

 

第十二步:選擇磁盤位置,選【建立新的磁盤】,而後點擊【下一步】

 

第十三步:選擇磁盤大小,默認20G

 

第十四步:設置磁盤文件位置,默認便可,點擊【下一步】

 

第十五步:安裝嚮導結束,點擊【完成】就能夠

 

安裝完成看到下面這個界面:

 

第十六步:選擇鏡像文件

點擊【編輯虛擬機設置】

 

選擇ISO文件,而後點擊【肯定】:

 

此處iso文件不須要解壓。

開啓虛擬機:

 

第十七步:選擇【安裝或更新一個已經存在的系統】,按下回車

 

小技巧:首次運行虛擬機系統的時候,咱們可能把鼠標點進去,而後發現鼠標出不來了,這個時候咱們能夠按下鍵盤上的組合鍵【ctrl+alt】,鼠標就能夠出到外面的系統了

 

第十八步:是否檢測媒體文件,不檢測,經過來選擇選項,選擇【skip】,按下回車

 

第十九步:從新引導以後選擇惟一一個按鈕【next

 

第二十步:選擇語言,能夠選擇【簡體中文】,而後點擊【next

 

第二十一步:選擇鍵盤類型,默認【美式英語】便可,點擊【下一步】

 

第二十二步:選擇存儲設備類型,默認便可,而後點擊【下一步】

 

第二十三步:設置磁盤,選擇【忽略全部數據】

 

第二十四步:設置網絡

 

設置網卡開機自動鏈接

 

點擊【應用】再點擊【關閉】

最後再點擊【下一步】

 

第二十五步:設置時區,默認便可,直接點擊【下一步】

 

第二十六步:設置密碼,密碼對用的用戶名是root

 

密碼有限制:最少是6位,而且建議是大寫+小寫+數字的組合

設置完成以後點擊【下一步】

 

第二十七步:選擇安裝類型,這個時候選擇【使用全部空間】,而後點擊【下一步】

 

而後選【將修改寫入磁盤】

 

第二十八步:選擇Linux系統的安裝模式,默認desktop-如今自定義-下一步

 

下一步中勾選【開發】中的【開發工具】

注意:必定要確保【開發工具】前面有一個√。

 

而後再點擊【下一步】

第二十九步:等待安裝完成從新引導,這個過程須要安裝1160多個軟件,時間大概消耗20分鐘左右

 

第三十步:完成以後點擊【從新引導】,系統會從新啓動

 

第三十一步:在歡迎界面點擊【前進】

 

在許可協議界面贊成協議,再點擊【前進】

 

第三十二步:設置新的用戶(非超級管理員用戶),填寫好以後點擊【前進】

 

 

第三十三步:設置時間,而後點擊【前進】

 

第三十四步:設置kdump的時候會提示錯誤,由於沒有足夠的內存,因此這一步默認跳過,最後點擊【完成】

 

 

 

第三十五步:重啓以後的效果

會出現一個登陸框,而且顯示出非root用戶的賬號名,點擊須要進行登陸的用戶名以後輸入其密碼便可進行登陸;若是須要使用root賬號登陸,則點擊【其餘】,而後輸入root用戶名和密碼便可。

 

登陸以後的顯示界面:

 

3、Linux目錄介紹

 

/:表示的是根的意思

/bin:(binary)存放的是一些二進制文件,可是在Linux中二進制文件是能夠被執行的。這個目錄中的命令文件是給普通用戶使用(非超級管理員用戶)。

/etc:Linux下全部的配置文件都會存放到etc目錄。

/home:是全部非root用戶家目錄的一個集合。

/root:root用戶的家目錄。

/sbin:sbin表示super bin(shell bin),裏面一樣也相似於bin目錄,也存放了一些二進制文件,只不過這些命令只能是讓超級管理員去運行。

/usr:存放着一些用戶本身安裝的軟件,其實相似於windows下的Program Files目錄。

/var:(variable)存放着Linux下的一些日誌文件,在實際開發的時候有一些公司也習慣把Apache或者nginx的站點目錄也會放到這個目錄中。

4、命令行(shell,殼)

瞭解:常見的shell。

Csh、tcsh、zsh、bash

 

在Linux中如何打開命令行界面?

打開方式:在Linux中的任意一個空白的地方(不要點着圖標),右鍵而後選擇【在終端中打開】,會看到一個相似於下面界面的窗口:

 

命令行符號介紹:

 

關於用戶身份標記說明:

在Linux中#表示超級管理員身份,$符號表示普通用戶

 

5、基本命令(重點)

通用語法格式:# 指令名稱 [選項] [操做的目標]

假設:讓小明去樓下超市買清風牌的餐巾紙和農夫山泉牌礦泉水。

一、簡單命令

1.一、ls指令

語法1:#ls [路徑]                

表示列出指定路徑下的文件夾和文件的名字,若是路徑沒有指定則列出當前路徑下的(list)

例如:在root用戶的家目錄中輸入ls命令,則會看到如下的效果:

 

 

要求列出/home的文檔的名稱。

#ls /home

 

 

語法2:#ls -l [路徑]    

表示以列表的形式列出指定路徑下的文件夾和文件的名字

例如:使用ls –l的命令列出當前用戶家目錄中的文件夾和文件信息

 

 

語法3:#ls -la [路徑]  

表示以列表的形式列出指定路徑下的文件夾和文件名(包含隱藏文件,all

例如:在當前用戶的家目錄中輸入ls –la命令能夠查看所有的文件夾和文件名,而且包含了隱藏文件(特色是以「.」開頭的名字

 

1.二、clear指令

表示的含義:清空當前屏幕中所有的命令(其實質是沒有清空,只不過是頂到上面去了

語法:#clear

 

等效於快捷鍵:ctrl + L

1.三、su指令

做用:切換用戶(switch user)。

語法:#su 須要切換到的用戶名(用戶名能夠不寫,則表示切換到root用戶)

例如:

一、從root用戶切換到admin用戶。

#su admin

 

 

二、從admin用戶切換到root用戶。

#su root

 

等價於:

#su

 

經過上述兩個命令的操做發現一個結論:

當切換到的用戶權限若是比當前用戶的權限低,能夠直接切換,不須要密碼;反之,若是從低往高切換則要求輸入被切換到的帳戶對應的密碼。

1.四、cd指令

做用:切換目錄(change directory)。

語法:#cd 須要切換到的路徑(路徑能夠是相對路徑,也能夠是絕對路徑)

路徑能夠寫也能夠不寫,不寫則表示切換到當前用戶的家目錄。

例如:

一、從root用戶家目錄中切換到admin用戶的家目錄中

#cd /home/admin

 

提示:在切換路徑或者後期打開一個文件的時候能夠多建議使用tab鍵(能夠自動補全命令路徑)。

 

二、切換用戶切換到admin用戶,而後從admin用戶的家目錄使用cd切換到root的家目錄

#su admin

#cd /root

 

結論: 低級用戶沒有權限訪問高級用戶相關的資源

          

關於路徑:

路徑分爲相對路徑和絕對路徑。

相對路徑是相對當前路徑的一種表現形式。

特色:只要不是以「/」開頭的就是相對路徑。

絕對路徑是直接從「根」開始的一種路徑形式。

特色:以「/」開頭的路徑稱之爲絕對路徑。

 

案例:從root用戶家目錄中切換到admin用戶的家目錄中,要求以相對路徑形式書寫。

#cd ../home/admin

分析:

         當前路徑:/root

         目標路徑:/home/admin

1.五、pwd指令

做用:打印當前的工做路徑(print working directory

例如:在當前用戶的家目錄中使用pwd命令。

 

二、文檔的操做命令

2.一、建立文件

命令:touch

語法:#touch路徑

例如:

一、在當前路徑下建立一個文件名字叫php2018.txt。

# touch php2018.txt

 

 

二、在磁盤根目錄下建立文件php2018.txt。

# touch /php2018.txt

 

2.二、建立文件夾

命令:mkdir           [make directory]

語法:#mkdir 文件夾路徑

例如:在root的桌面上建立一個php69的文件夾

#mkdir php69

 

 

問題:

#mkdir index.php建立的是什麼?  【文件夾】

 

問題:

在上述的指令執行的基礎上行,執行#touch index.php,建立的是什麼?【什麼都沒有】

2.三、複製

命令:cp         (copy)

語法:#cp [-r] 須要複製的文檔 須要保存的位置

選項說明:

         -r:表示遞歸。若是複製的是文件夾,則-r就不是選項,是必需要加的。

問題:文檔在複製的過程當中,其名稱通常是否變化? 【不變,數量變化】

 

案例1:須要使用root用戶,將根下的php2018.txt複製到admin用戶的家目錄下

#cp /php2018.txt /home/admin/

 

 

案例2:將桌面上(當前目錄)的php69文件夾複製到admin的家目錄下

#cp php69 /home/admin/

 

2.四、移動/剪切/重命名

命令:mv       (move)【剪切+粘貼】

語法:#mv 須要操做的文檔 新的文檔的位置

 

案例:【移動/剪切】將admin家目錄下的php2018.txt,移動到root家目錄下。

問題:移動操做會影響什麼?            【路徑變化,數量不變,名稱不變

#mv /home/admin/php2018.txt /root/

 

 

案例2:【重命名】將root下的php2018.txt重命名爲php.doc。

問題:重命名操做會影響什麼?       【名稱變,路徑不變,數量不變

#mv /root/php2018.txt /root/php.doc

 

2.五、刪除

命令:rm        (remove)

語法:#rm [-rf] 須要刪除的文檔

選項說明:

         -r:表示遞歸

         -f:force,表示強制,沒有刪除確認提示

案例1:刪除root下的php.doc

 

案例2:刪除root下的php文件夾

 

 

面試題:

         請問使用root用戶「#rm -rf /」這個命令能不能執行?

答:從語法上講,該指令能夠執行,表示遞歸刪除根,可是這個操做很危險,不建議執行。

 

三、文檔的查看指令

3.一、tail指令

做用:查看一個文件的末n行

語法:#tail -n 文件的路徑

說明:-n能夠不寫,不寫,默認表示10行。

案例:使用tail指令查看root/install.log文件的末5行和末10行

#tail -5 /root/install.log

#tail /root/install.log                       等價於 #tail -10 /root/install.log

 

3.二、head指令

做用:查看文件的頭n行

語法:#head -n 文件的路徑

注意:若是不指定-n則默認頭10行

案例:使用head指令查看root/install.log文件的頭5行和頭10行

#head -5 /root/install.log

#head /root/install.log                    等價於   #head -10 /root/install.log

 

3.三、cat指令

做用:查看某個文件的所有內容(將內容所有輸出在命令行中)【正序】

語法:#cat 文件路徑1  文件路徑2  文件路徑3 …

案例:使用cat指令輸出install.log文件內容

#cat /root/install.log

3.四、tac指令

做用:查看某個文件的所有內容(倒序的)

語法:#tac 文件路徑1  文件路徑2  文件路徑3…

案例:使用tac指令輸出install.log文件內容

#tac /root/install.log

3.五、vim指令

做用:打開一個文件,顯示內容

語法:#vim 文件路徑

 

例如:打開/root/install.log

#vim /root/install.log

 

退出輸入「:q」按下回車便可。

 

四、關機重啓指令

4.一、reboot指令

做用:重啓計算機

語法:#reboot

 

注意:部分狀況下(除非自開機以來只有當前一個普通用戶登陸過)普通用戶沒法執行reboot指令

 

4.二、shutdown指令

做用:關機

語法:#shutdown -h 時間

時間常見的值:

                          now:(shutdown -h now),表示當即關機

                          +m:(m表示minutes數字),例如+5,則表示五分鐘以後關機

 

4.三、halt指令

做用:關機(關閉內存)

語法:#halt

 

 

6、擴展(1)

一、ctrl+a

在命令行中可使用ctrl+a,來進行光標的快速定位:能夠將命令行中的光標從其餘的位置快速移動到行首。【ahead】

二、ctrl+e

在命令行中可使用ctrl+e,來進行光標的快速定位:能夠將命令行中的光標從任意位置快速定位到行末。【end】

 

三、↑和↓鍵

在命令行輸入的位置能夠按下↑來查看以前的執行命令歷史,能夠按下↓來翻到最新的命令執行歷史。【即便遠程終端斷開鏈接,下次鏈接上依然可使用】

 

四、將命令執行結果保存到文件中去(重點)

按照下面的語法:

#須要執行的命令 > 須要保存到的文件路徑                    【覆蓋寫】

或者

#須要執行的命令 >> 須要保存到的文件路徑                          【追加寫】

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息