走進 C/C++後臺開發第一步:Linux 命令和工具篇

2020-08-13 19:17:15

走進 C/C++後臺開發:Linux 篇

一. 虛擬機器/阿裡雲

1. 設定虛擬機器網路 / 阿裡雲使用

1. 設定虛擬機器網路

虛擬機器選項 - 設定 - 網路適配器

NAT模式: 虛擬機器虛擬出一個虛擬交換機並將IP 分給其 OS
橋接模式:虛擬機器和實機共用網段, 實機所在的路由器會分配一個 IP 給虛擬機器(地位平等)

注意: 橋接模式會導致每次分配的 IP 也許不同,在虛擬機器中設定 DNS/IPv4,將自動 Automatic 改爲手動,並輸入其原先自動獲取的 DNS/IPv4 固定即可。

2. 設定阿裡雲

阿裡雲伺服器已經自動設定網路, 牢記其公網IP即可。
在这里插入图片描述





2. 宿主機的環境


1. 宿主機不能禁用 vmware 網絡卡

禁用 vmware 網絡卡,虛擬機器網路就不能正常運作,我們需要及時開啓。
在这里插入图片描述
在这里插入图片描述

2. 虛擬機器要檢測是否能 ping 通百度

在虛擬機器內部要嘗試能不能 ping 通網路,能即是網路連線沒有任何問題。

下面 下麪我們將看到 64byte 的內容從 220.181.38.150(www.baidu.com 是域名,被運作在OS上的 DNS 用戶端請求遠端 DNS 伺服器進行解析爲 實際 ip 地址) 發來,這證明網路是沒有任何問題的。
在这里插入图片描述


3. 虛擬機器 ping 百度不通怎麼辦?

這時需要檢查下面 下麪:

  • vmware 網絡卡是否開啓
  • 宿主機是否能ping通網路
  • 若宿主機能ping通,而虛擬機器不能,則禁用 vmware 網絡卡,並重新啓用。




3. xshell 安全遠端工具

由於工作或虛擬機器操作不方便和不安全的原因:我們使用Linux 伺服器都會以遠端連線去操作 Linux伺服器(一般情況下伺服器在偏僻的地方,並且在繁雜的機房內,我們肯定不能直接過去操作,太不方便和不安全,我們開發人員使用遠端連線就比較安全和方便了!)

遠端連線的原理(SSH):

在这里插入图片描述
在这里插入图片描述


1. Linux 安裝 ssh 伺服器(secure shell )

命令: sudo apt install ssh

sudo: super user do :超級使用者執行的命令,伺服器下載東西時一般都要求sudo許可權
在这里插入图片描述


2. 檢查 ssh 服務是否開啓

命令:ps -elf | grep sshd 

若顯示有使用者正在使用即開啓。

在这里插入图片描述

3. 在 window (遠端)使用 ssh 登錄 Linux

  • 要登錄 linux,需要知道 linux 伺服器的 ip 地址,使用以下操作即能得到
    在这里插入图片描述
  • 之後利用 ssh 命令就能登錄(格式如下),會提示輸入密碼
格式:ssh  (使用者名稱)@(ip地址) 
例子:ssh   [email protected]

在这里插入图片描述



4. 利用 xshell (ssh 用戶端軟體) 進行遠端連線 Linux

下載地址: 鏈接

  • 新建連線,輸入 使用者名稱,ip地址,點選連線即可

在这里插入图片描述

  • 修改使用者身份驗證,避免每次登錄輸入密碼

在这里插入图片描述

  • xshell 常用屬性設定和常用快捷鍵

在这里插入图片描述





二. Linux 簡介


1. Linux 體系結構

Linux 體系結構 從內到外依次是:內核–系統呼叫–應用層

  • kernel 內核: 管理硬體資源(cpu,記憶體,I/O 裝置),併爲其他軟體的運作提供了環境
  • system calls 系統呼叫: 內核提供給外部的介面
  • library routines 公用函數庫: 包裝 system calls , 對使用者使用十分友好。
  • shell:shell是一個命令列直譯器,它讀取使用者輸入,然後執行命令。

在这里插入图片描述



2.POSIX 標準和 ISOC標準


在这里插入图片描述

  • 規範了各種 Unix (Linux 的父親)公用函數庫的宣告,提高了其可移植性




三. Shell 命令


檢視路由網路設定

在这里插入图片描述

1. 使用者設定


使用者是 Linux 的使用者

在这里插入图片描述

設定口令

在这里插入图片描述

切換使用者

在这里插入图片描述

顯示所有使用者

在这里插入图片描述

退出當前使用者

在这里插入图片描述

新增使用者

在这里插入图片描述

新增使用者並指定家目錄

在这里插入图片描述

刪除使用者

在这里插入图片描述

安全設定

在这里插入图片描述



2. 檔案命令


檔案是放在磁碟上的數據

在这里插入图片描述

Linux系統自帶目錄的含義

在这里插入图片描述

檢視當前工作目錄

在这里插入图片描述

檢視當前工作目錄下的所有檔案

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

樹狀目錄結構顯示

在这里插入图片描述

改變當前工作目錄

在这里插入图片描述

建立目錄

在这里插入图片描述

刪除空目錄

在这里插入图片描述

建立非目錄檔案

使用 touch hzj.c

拷貝檔案或目錄

在这里插入图片描述

移動 / 重新命名檔案或目錄

在这里插入图片描述

刪除檔案

在这里插入图片描述

3. 許可權命令


修改檔案/目錄許可權

在这里插入图片描述
在这里插入图片描述

掩碼對於檔案許可權的作用

在这里插入图片描述



4. 檔案查詢命令


索引

在这里插入图片描述

常見的查詢條件

在这里插入图片描述

應用萬用字元

在这里插入图片描述

查詢條件的運輸

在这里插入图片描述

查詢所需許可權

在这里插入图片描述

組合操作

在这里插入图片描述



5. 磁碟命令


檔案系統的整體磁碟空間使用情況

在这里插入图片描述

顯示每個檔案和目錄的磁碟使用空間

在这里插入图片描述



6. 檔案內容檢視和處理命令


檢視檔案內容

在这里插入图片描述

檢視檔案型別

在这里插入图片描述

標準的輸入輸出與重定向

在这里插入图片描述

建立空檔案的四種方式

在这里插入图片描述

部分顯示檔案內容

在这里插入图片描述

sort

在这里插入图片描述

uniq

在这里插入图片描述

wc

在这里插入图片描述

檔案內容編碼轉換 iconv

在这里插入图片描述

7. 檔案內容查詢命令


搜尋內容查詢

在这里插入图片描述

正則表達式

在这里插入图片描述
在这里插入图片描述

grep 應用

在这里插入图片描述


8. 其他命令


檢視命令的別名

在这里插入图片描述

檢視命令的歷史記錄

在这里插入图片描述

安裝幫助手冊

在这里插入图片描述

檢視幫助手冊

在这里插入图片描述

一次輸入執行多行命令

在这里插入图片描述

管道和命令替換

在这里插入图片描述

打包和壓縮命令

在这里插入图片描述
在这里插入图片描述

遠端拷貝

在这里插入图片描述

無祕鑰登錄可以實現不使用密碼登錄

在这里插入图片描述

cd ~/.ssh/
ssh-keygen 3次回車
將pub公匙上傳到欲登錄的主機
ssh 到遠端
將公匙追加到授權檔案裡: cat id_rsa.pub >> ~/.ssh/autorized_keys

修改命令列配色方案

在这里插入图片描述

export PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\ [\e[0m\]]\\$ "




四. vim 文字編輯器 (以後的編碼工具)

vim 文字編輯器: 每一位 C++程式設計師的編碼工具



五. 編譯器工具 GCC

每一位C/C++程式設計師的編譯器工具 : GCC / G++



六. 偵錯工具 GDB

每一位C/C++程式設計師的偵錯工具 : GDB (GUN Debugger)

七. Makefile工程專案管理器

Linux 的程式設計師必須掌握 Makefile工程專案管理器