Linux_基本知識一

weixin_34148456發表於2017-09-04

由於自己早年時間比較浪,導致技術提升是在是不太明顯,近半年來痛下苦心,學習了後端語言PHP,為什麼要學習PHP而沒有學 JAVA 呢? 主要還是對 web 開發的看好,都說PHP 和 web 開發是黃金搭檔,主要是想以此作為我將來 web 開發的基石。經過這段時間的努力學習終於是讓我碰到了第一個難點 Linux 這裡我就 linux 的基礎做一個總結,算是對自己這段時間學習的總結,如果有相同精力的小夥伴看到了希望也能對你們有所幫助!

1519934-de0a0996713c0df6.png
2017年6月份程式語言排行榜

以下資訊抄自百度

Linux 概述

1、計算機資源

• 硬體資源

• 軟體資源

硬體資源:看得見,摸得見資源都稱之為“硬體資源”。

軟體資源:看得見,摸不見資源都稱之為“軟體資源”。

軟體資源與硬體資源之間的橋樑就是作業系統。

2、作業系統分類

Windows作業系統

Mac作業系統

Linux作業系統

Unix作業系統

3、Linux含義

狹義Linux:由Linus開發的一款Linux核心程式碼

廣義Linux:由Linux廠商基於Linux核心開發的Linux衍生版作業系統

4、Unix作業系統

• 1968年 Multics專案

• 1970年 UNIX誕生

• 1973年 用C語言重寫UNIX

• 1975年 Bell實驗室允許大學使用UNIX

5、Linux發展史

• 人 物 Linus

• 1991年 0.0.1版本

• 1992年 0.0.2版本

• 1994年 1.0版本

• 2003年 2.6版本

6、開源文化

• 人 物 Stallman

• 1983年 GNU計劃

• 1985年 FSF基金會

• 1990年 Emacs、GCC、程式庫

• 1992年 GNU/Linux

7、GNU/Linux特點

• 開放性

• 多使用者

• 多工

• 良好的使用者介面

• 裝置獨立性

8、Linux主要產品

• Red Hat Linux :紅帽Linux(企業版+免費版CentOS)

• SuSE Linux :比較成熟的作業系統

• Debian Linux :介面非常漂亮,個人版使用者使用比較多

• Red Flag Linux :紅旗Linux

• Blue Point Linux :藍點Linux

• 烏班圖Linux :介面非常漂亮,目前國內個人版使用最多的Linux

9、紅帽Linux系統特點

• 安裝簡單

• 整合大量應用軟體

• 文件豐富

• 符合UNIX和Linux的標準

• 市場佔有率最高

• 操作

• 軟體安裝

Linux 作業系統的安裝

1、虛擬機器
虛擬機器就是我們在真機作業系統(window)中,虛擬出一個虛擬的系統(Linux)執行環境
2、VMWare虛擬機器


1519934-cfc3eae74a5de768.png
image.png

自行下載安裝,安裝完成後效果如下

1519934-f293da4c9df939db.png
image.png

3、建立虛擬機器

1519934-0f8841fbef0cba27.png
image.png

4、選擇自定義虛擬機器的配置

1519934-539ce0a116e53eb1.png
image.png

5、選擇虛擬機器的硬體的相容性(預設)

1519934-383091d610da5876.png
image.png

6、安裝作業系統(選擇稍後安裝)

1519934-9f4d6893a8c301d5.png
image.png

7、選擇作業系統(LInux→CentOS)


1519934-3cbe1eb5e4076ca7.png
image.png

8、選擇虛擬機器名稱及存放路徑

1519934-06c63bfb29a6504f.png
image.png

9、選擇處理器(預設即可)

1519934-3a251730e847d294.png
image.png

10、設定虛擬機器記憶體大小(1G 夠了)

1519934-c30f469e8937c8e8.png
image.png

11、忘了型別設定(NAT模式)

1519934-298595830a8e2681.png
image.png

小知識:
橋接模式:虛擬機器就是一臺真實電腦,擁有自己的獨立IP
NAT模式:虛擬機器試用主機(真機)網路實現網際網路的聯網,是最簡單的網路連結模式(方便就沒搞橋接)

12、選擇 I/O 控制器型別(預設即可)

1519934-f04adc0a91532a64.png
image.png

13、選擇磁碟型別

1519934-e097e5c85ad91856.png
image.png

14、選擇磁碟(預設即可)

1519934-92ceee1048962c49.png
image.png

15、 選擇磁碟大小(10G 就夠)

1519934-15ce14bccb5a6e94.png
image.png

下一步。。。。。。 知道安裝完畢即可

Linux 作業系統的安裝

1、 選擇安裝的作業系統的映象(ISO 軟體包)


1519934-85bbef16160217d0.png
image.png
  • 我這是從朋友硬碟裡直接拷過來的
    2、選擇CentOS映象
1519934-10bedf4dfb0362ab.png
image.png

3、啟動LAMP 虛擬機器


1519934-5459a38827be3f5c.png
image.png

4、選擇安裝Linux作業系統(介面一里面的第一個選項)

1519934-d56ec7c02dba88e1.png
image.png

5、跳過映象檢查(Skip)

1519934-f88f97fb9c4c23c4.png
image.png

6、安裝過程中選擇語言(選擇中文)

1519934-13c81f05909bdce7.png
image.png

7、選擇鍵盤(選擇沒事英語鍵盤)

1519934-07a40a0c1c2a96da.png
image.png

8、選擇使用那種裝置

1519934-5951643eeac7db21.png
image.png

9、選擇基礎裝置

1519934-cc62a06fb15877f0.png
image.png

10、選擇格式化磁碟(忽略所有資料)

1519934-c15ac3d8888663c2.png
image.png

11、設定主機名稱

1519934-aba2aaadd1b295d8.png
image.png

12、Linux管理員賬號密碼

預設管理員:root

設定密碼:

1519934-e819528c2840a632.png
image.png

13、選擇手工分割槽(自定義佈局)

1519934-64e5caa2b5ae2b3f.png
image.png

普及分割槽的小知識:

Windows分割槽:

1519934-280a9cfe74f51f84.png
image.png

Linux分割槽:最少需要兩個盤,實際應用中建議分三個區

/boot分割槽 :相當於Windows的C盤,系統啟動檔案、核心檔案都放在此碟符下。核心100M以內。

swap分割槽 :交換分割槽,當系統記憶體不足時,系統會自動從swap分割槽轉化一部分資源當做記憶體使用。一般大小為實際記憶體1-2倍(建議1G以內)

/根分割槽 :其他所有的空間都是根分割槽

1519934-54e3c05228ab297c.png
image.png

14、手工分割槽設定

/boot分割槽設定:

1519934-884adc809cf47070.png
image.png

swap分割槽設定:

1519934-197a0492444509ce.png
image.png

/根分割槽設定:

1519934-1591f386f4052c04.png
image.png

設定完成後,格式化磁碟,確認修改。如下圖所示:

1519934-7781c902886702ea.png
image.png

15、設定伺服器應用場景(Web Server)

1519934-2c05a421b801137c.png
image.png

選擇自定義安裝軟體。

16、選擇要安裝的軟體


Web服務必須選擇PHP支援


基礎系統必須選擇基本


應用程式必須選擇網際網路瀏覽器(火狐)

1519934-50d6dfc41f840268.png
image.png


開發必須選擇開發工具,然後在內部還需要選擇cmake/gcc/gcc c++

1519934-eb0d8df58fcf6487.png
image.png


資料庫必須安裝MySQL資料庫(客戶端+伺服器端)

1519934-a677e78a4c393608.png
image.png


伺服器選擇FTP伺服器(檔案上傳與下載)

1519934-a6175f507bcec1c4.png
image.png


桌面必須選擇X視窗系統+桌面

1519934-da4d786c65fae8c4.png
image.png

單擊下一步,直到系統安裝完成。

17、後續工作配置

新增了一個非管理員的賬號,因為CentOS系統建議以非管理員進行登入與操作。

1519934-a4973a2da90192b2.png
image.png

啟動後如下圖

1519934-d45b09249a908064.png
image.png

正確對待 Linux系統

1、正常關機

1519934-9fe9b48ae27b924e.png
image.png

2、Liunx 系統目錄分析

1519934-9910d6f610b745a8.png
image.png

/bin : 系統指令目錄,存放系統指令,如:ls , mkdir指令
/dev : 系統裝置目錄,硬碟,光碟機。。。。
/home : 使用者的家,分管理員賬號在/home目錄下都有自己的家
/lib : 庫檔案目錄,庫一共分為兩種:.so 字尾動態庫檔案 ,.a字尾靜態庫檔案
/media : 多媒體目錄,光碟機與軟碟機
/mnt : 掛載目錄,如/mnt/udisk目錄下
/proc : 記憶體目錄
/sbin : s 是 super 縮寫,代表超級,超級指令目錄,專門給 root 管理員使用的
/tmp : temp縮寫,代表臨時目錄
/var : 經常變化的目錄,網頁檔案、資料庫檔案通常放置於此目錄下
/boot : 系統引導目錄,啟動檔案、引導檔案
/etc : 系統配置檔案目錄
/lost+found : 失物認領處
/opt : 第三方程式目錄
/root : 超級管理員的家
/user : 相當於 windows 中的 Program Files 目錄,程式一般都站樁在此目錄

Shell 指令

好吧重點來了,上面那些都是一些基本的Linux從知識,也不用怎麼記住(我也是百度來的)下面這些就是 Liunx 中比較麻煩的知識點。指令操作
我實在是用習慣了 window 和 MAC 系統了 Liunx 的 指令操作實在是讓我痛苦不堪,這裡稍微提示以下在這篇裡面 只會有一點shell 指令,在後面還會有更多的 指令,尤其是到了安裝使用 LAMP 或 LNMP 的時候,這個目錄一定要記住,否則操作起來十分麻煩。這算是我踏坑無數總結出來的最重要的經驗

1、開啟Linux 系統終端

1519934-7bd5db79d2862e58.png
image.png

2、系統中常用的 Shell 指令
① 指令單獨存在 ② 指令帶選項 ③ 指令選項帶引數

ls 指令 : 顯示當前目錄的所有檔案

相關選項
-l : list 縮寫,代表以列表形式顯示所有檔案
-a : all 縮寫,代表顯示所有檔案(包括隱藏檔案)
示例程式碼:

1519934-ce0f24948d4efeca.png
ls 指令
  • ls 指令 -l , 這個指令還可以進一步簡寫成 ll
1519934-4b1f77de011679d5.png
ll 指令
  • ls 指令 -a
1519934-4d48725a641aed40.png
ls -a 指令
  • ls 指令 -al :以列表實行顯示所有檔案(包括隱藏檔案)
1519934-127cf259d1543bee.png
ls -al 指令

pwd 指令 : 顯示當前工作目錄

1519934-d8e23b37251ecdb9.png
pwd 指令

cd

cd 指令 : 跳轉到制定目錄
① cd指令 + 路徑 : 跳轉到指定的目錄

1519934-9d807defc9a83277.png
cd + 路徑 指令

② cd.. : 跳轉到上一級目錄

1519934-a12f4191f44cf5d1.png
cd.. 指令

③ cd + ~ : 跳回到自己家中(普通使用者跳轉到/home/使用者目錄下,超級管理員/root)

1519934-1c6a0cb366b310fd.png
cd ~ 指令

clear : 清屏

1519934-687aafae655cf900.png
clear 指令 清屏

logout : 退出指令

1519934-0425edb6d2064069.png
logout 指令

在linux系統中,存在兩種介面,圖形介面,和字元介面

  • Ctrl + Alt + F1 : 切換到圖形介面
  • Crtl + Alt + F2~F6 : 切換到字元介面
  • shutdown : 關機指令

相關選項
① shutdown -h 分鐘數 :多少分鐘後關機
② shutdown -r 分鐘數 : 多少分鐘後重啟
③ shutdown -k 分鐘數 : 多少分鐘後關機(只發出警告)
④ shutdown -c :取消關機,也可以使用 Ctrl+c

1519934-392733ec9c5f0066.png
image.png

注意 : 關機指令只能是超級管理員才可以使用。

su root 可以切換超級管理員
1519934-adf5c8bfaa2f0381.png
image.png

halt 指令 : 立即關機

1519934-66253bf41ccf771c.png
halt 指令:立即關機

reboot 指令:立即重啟

1519934-48a3e3057f643b9f.png
reboot 立即重啟

VI(VIM) 編輯器

  • 這東西就是個記事本(最直白的理解)

1、VI 編輯器三種模式
① 命令模式(Esc),只能實現關鍵字搜尋、複製、貼上、刪除等功能
② 編輯模式 (輸入a 或 i),能夠進行程式碼編輯工作
③ 膜行模式 (命令模式下輸出冒號 :)檔案的儲存、退出、切換等

  • VI/VIM filename :開啟指定檔案,如果檔案不存在會自動建立該檔案
  • VI/VIM + filename :代開檔案並將游標置於最後一行
  • VI/VIM +n filename :開啟游標並將游標置於第 n 行
  • VI/VIM +/string filename : 開啟檔案並高亮顯示 string 關鍵字
  • VI/VIM filename1 filename2 : 同時開啟多個檔案
    提示 : 當我輸入某個指令或者某個檔名時,如果指令或者檔名過長我們只需要輸入前幾個字幕+Tab 按鍵就可以實現自動補全

2、VI/VIM 編輯器的命令模式與航模模式
命令模式:
① yy:複製當前行(nyy:從當前行開始複製 n 行)
② p:貼上
③ dd:刪除當前行
ndd :從當前行開始刪除 n 行
④ u : 撤銷

行末模式
:set nu :顯示行號
:set nonu :取消行號
/ 關鍵字 : 高亮所有關鍵字
:noh : 取消所有關鍵詞高亮
num1,num2 co num3:把num1行到num2行的程式碼插入到 num3 行後面
:w :儲存檔案
:q :退出
:wq : 儲存退出
:w! : 強制退出
:q! : 強制儲存
:wq!:強制儲存退出

3、VIM 編輯器操作崩潰檔案
檔案為儲存直接退出,再次開啟時就會顯示如下圖所示

1519934-3357e1739dfb2af4.png
image.png

第一種解決方案:

1519934-86fe7c015cd34e0e.png
image.png

第二種解決方案:手工刪除替換檔案

rm.index.php.swp(替換檔案)
1519934-048632051f8c5a5d.png
image.png

Linux 系統軟體的安裝與解除安裝

1、查詢已安裝的軟體
rpm 指令 :檢視、安裝或解除安裝 Linux 系統下的 日拍賣 軟體包
rpm 軟體包 : 類似於 window 中的 exe 檔案
*.tar.gz軟體包:為百衲衣的軟體包,安裝時,需要編譯,然後進行配置安裝
查詢已安裝的Linux 軟體:

rpm -qa
選項說明:
-q : query 縮寫,代表查詢
-a : all 縮寫,代表查詢所有以安裝軟體
1519934-f049bdaca19497af.png
image.png

2、管道命令
基本語法

rpm -qa | grep vim

管道命令操作符是:” | “ ,它只是處理經由前面一個指令傳出的正確輸出資訊,對錯誤資訊沒有直接處理能力,然後傳遞給下一個命令,作為標準的輸入

1519934-40603a1f00006ebd.png
管理命令的輸出說明

【指令1】正確輸出,作為【指令2】的輸入 然後【指令2】的輸出作為【指令3】的輸入 ,【指令3】輸出就會直接顯示在螢幕上面了。
通過管道之後【指令1】和【指令2】的正確輸出不顯示在螢幕上面
【提醒注意】:

  1. 管道命令只處理前一個命令正確輸出,不處理錯誤輸出;
  2. 管道命令右邊命令,必須能夠接收標準輸入流命令才行;
    此段摘自 畢小煩

3、解除安裝已安裝的軟體
基本語法

rpm -e 軟體名

示例程式碼


1519934-08f8539ecb30e9e9.png
image.png

如果顯示如下圖所示:代表與其他軟體存在依賴關係,先要解除安裝其他軟體

4、安裝 Linux 軟體(rpm 包)
如果你的電腦沒有 rpm 請參考 rpm 安裝方法

  • 安裝 rpm 軟體包,要用到的命令
rpm -ivh 軟體名稱 : 安裝軟體
-i :install 縮寫,安裝
-vh : 顯示安裝進度
1519934-9af742798c65319f.png
示例程式碼

這裡之前我把 vim 幹掉了 我有重新安裝了一個


1519934-43cc304d81a12298.png
示例程式碼

執行結果:
輸入vim,如果出現下面介面就代表安裝成功


1519934-cf6bfbe41e1ba309.png
image.png

Linux_基本知識一 就到這裡,後續我會慢慢更新的

有興趣的朋友也可以加入我的為知筆記共享,裡面涵蓋了 iOS Android PHP HTML 等多個行業的共享資源

1519934-f608abb371d5a726.png
為知筆記團隊資源共享