VBox&vmware虛擬機安裝Linux及Linux基礎入門學習


VBox&vmware虛擬機安裝Linux及Linux基礎入門學習

通過VMware workstation安裝Linux

在安裝虛擬機之前,我特意上網搜索了一下目前常使用的虛擬機軟件,了解了相關知識之后,我先選擇通過VMware workstation安裝Linux。

我選擇VMware版本為: VMware workstation 12.5 pro
我選擇安裝的Linux版本為: 深度(deepin)的Ubuntu

首先安裝 VMware workstation 12.5 pro ,十分簡單就不再贅述。接下來便開始安裝Linux:

1.首先新建虛擬機,先將Ubuntu的鏡像放在自己指定的位置,方便后面安裝,然后選擇稍后安裝鏡像,先進行一些基本設置:

2.接下來是一些基本設置:

3.其次是創建虛擬磁盤

4.開始安裝操作系統,選擇CD設備,把啟動時的連接改成之前放置鏡像的位置

5.從bios啟動,在左側點擊我們的虛擬機名稱,把鼠標懸停在電源上,然后選擇並點擊“打開電源時進入固件”。在BIOS設置中找到BOOT設置,使用“+”將CD-ROM的優先級提到最上面,點擊F10保存設置,彈出對話框之后,選擇yes,直接回車確定即可:

6.開始安裝操作系統,選擇第一項Install Deepin,等待一會兒:

7.選擇語言,設置用戶

8.接下來開始分區,這里我上網查閱了一下資料,發現一個基本的linux系統中都有最少兩個掛載點,分別是“/”(根目錄)及 /swap(交換分區),於是我設置了上面兩個掛載點后又加了一個home掛載點,具體分區知識可以點擊此處

9.設置好分區后,選擇確定,等待片刻,大至就安裝完成了:

10.此刻別忘記將之前的虛擬機中的CD設置改回“物理驅動器”,然后再重啟虛擬機:

通過VMware workstation安裝Linux

首先在官網下載VirtualBox 5.1.14
然后開始安裝VirtualBox,安裝過程很簡單,按照默認即可:

然后配置虛擬機:

我設置的是一台內存為1G,硬盤容量為16G的虛擬機:

虛擬硬盤就按照默認設置就好,為了保持虛擬機的流暢,使用動態分配:

設置好虛擬機后,我開始安裝鏡像文件,這里使用的是老師提供的鏡像

在啟動盤中設置好鏡像的路徑,然后安裝:

等待一會兒就安裝完成了,這里發現相比於之前的VMware,少了分區這一步,在之后我查看Linux系統配置后了解到這個是自動分區了:

下面安裝虛擬增強功能:

首先按照老師給的教程,VBox菜單欄的“設備”項,選擇最下面的“安裝增強功能”,等待出現圖標。

當我選擇運行的時候,系統自動彈出命令行窗口,好像就給安裝好了。:

然后我又按照教程所說“體驗”了一把,開始是按照教程上面的圖輸入命令的,但是一直提示沒有那個文件目錄,發現確實我和教程中的版本好像不一樣,但是我又忘記我那個文件放在哪里了:

后來“機智”的我發現既然是要運行文件當然是之前彈出來的那個東東,於是我把鼠標往新彈出的圖標上面一放,文件名就出來了,然后通過命令行的方式也安裝成功了:

關於實驗樓Linux入門學習

一、Linux是什么?

通過實驗樓課程上的講解,我了解到Linux 就是一個操作系統,如 Windows 和 Mac OS 。Linux 本身只是操作系統的內核,內核是使其他程序能夠運行的基礎,它實現了多任務和硬件管理,用戶或者系統管理員交互運行的所有程序實際上都運行在內核之上。在實驗樓中的實驗環境其實只是運行在 Linux 上的一個程序,而將用戶的命令與 Linux 內核相連的是命令行解釋器(shell),它用於用戶交互和編寫 shell 腳本。

二、Linux 與 Windows 到底有重要區別?

1.軟件

  • Windows 平台:數量和質量的優勢,不過大部分為收費軟件;由微軟官方提供重要支持和服務;
  • Linux 平台:大都為開源自由軟件,用戶可以修改定制和再發布,由於基本免費沒有資金支持,部分軟件質量和體驗欠缺;有全球所有的 Linux 開發者和自由軟件社區提供支持。

2.安全性

  • Windows 平台:三天兩頭打補丁安裝系統安全更新,還是會中病毒木馬;
  • Linux 平台:要說 Linux 沒有安全問題,那當然是不可能的,這一點仁者見仁智者見智,相對來說肯定比 Windows 平台要更加安全,使用 Linux 你也不用裝某殺毒,某毒霸。

3.是否有圖形界面

  • Windows:普通用戶基本都是純圖形界面下操作使用,依靠鼠標和鍵盤完成一切操作,用戶上手容易入門簡單;
  • Linux:兼具圖形界面操作(需要使用帶有桌面環境的發行版)和完全的命令行操作,可以只用鍵盤完成一切操作,新手入門較困難,需要一些學習和指導(這正是我們要做的事情),一旦熟練之后效率極高。

4.可定制性

  • Windows:這些年之前算是全封閉的,系統可定制性很差;
  • Linux:你想怎么做就怎么做,Windows 能做到得它都能,Windows 做不到的,它也能。

5.應用范疇

其實在 Windows 上使用百度,谷歌,上淘寶,聊 QQ 時,支撐這些軟件和服務的,是后台成千上萬的 Linux 服務器主機,它們時時刻刻都在進行着忙碌的數據處理和運算,可以說世界上大部分軟件和服務都是運行在 Linux 之上的。

6.其他

  • 穩定的系統
  • 安全性和漏洞的快速修補
  • 多用戶
  • 用戶和用戶組的規划
  • 相對較少的系統資源占用
  • 可定制裁剪,移植到嵌入式平台(如安卓設備)
  • 可選擇的多種圖形用戶界面(如 GNOME,KDE)

三、Linux的一個重要組成部分:Shell

通常在我們使用 Linux 時,我們並不是直接與系統打交道,而是通過一個叫做 Shell 的中間程序來完成的,這里記錄一下Shell的概念:

圖形界面中對實際體驗帶來差異的不是上述的不同發行版的各種終端模擬器,而大都是這個 Shell(殼),有殼就有核,這里的核就是指的 UNIX/Linux 內核,Shell 是指“提供給使用者使用界面”的軟件(命令解析器),類似於 DOS 下的 command(命令行)和后來的 cmd.exe。普通意義上的 Shell 就是可以接受用戶輸入命令的程序。它之所以被稱作 Shell 是因為它隱藏了操作系統底層的細節。同樣的 Unix/Linux 下的圖形用戶界面 GNOME 和 KDE,有時也被叫做“虛擬 shell”或“圖形 shell”。

Unix/Linux 操作系統下的 Shell 既是用戶交互的界面,也是控制系統的腳本語言。當然在這點也有別於 Windows 下的命令行,雖然也提供了很簡單的控制語句。在Windows 操作系統下,可能有些用戶從來都不會直接的使用 Shell,然而在 UNIX 系列操作系統下,Shell 仍然是控制系統啟動、X11 啟動和很多其他實用工具的腳本解釋程序。

在 UNIX/Linux 中比較流行的常見的 Shell 有 bash,zsh,ksh,csh 等等,Ubuntu 終端默認使用的是 bash,默認的桌面環境是 GNOME 或者 Unity(基於 GNOME)。

四、命令行的相關操作

如圖,在實驗樓的環境中的桌面上,點擊Xfce終端圖標,打開終端,打開終端后會自動運行 Shell 程序,然后就可以輸入命令讓系統來執行了:

1).重要快捷鍵:

下面開始學習命令行,首先是實驗樓給我介紹的快捷鍵:

1. [Tab]

使用Tab鍵來進行命令補全,Tab鍵一般鍵盤是在字母Q旁邊,它最大的好處就是當你忘記某個命令、目錄、命令參數的全稱時你可以只輸入它的開頭的一部分然后按下Tab鍵就可以得到提示或者幫助完成,下面是一個動態gif的展示:

2.[Ctrl+c]

當在 Linux 命令行中無意輸入了一個不知道的命令,或者錯誤的使用了一個命令,導致在終端里出現了你無法預料的情況,比如,只有光標在閃爍無法繼續輸入命令,或者不停地在輸出一大堆你不想要的結果。想要立即停止並恢復到你可控的狀態,這時候就可以使用Ctrl+c鍵來強行終止當前程序(你可以放心它並不會使終端退出,並且這是我們在win中常用的復制快捷鍵,注意別混淆!)。

P.S. 學到這里的時候我深有感觸,因為我有一次實驗中輸入文件地址的時候偷懶,想來一手復制粘貼結果“熟練”的按了[Ctrl+c],整個輸入就被打斷了,害的我又重新手打了一遍,所以這個快捷鍵因慎用!並且有時在命令行沒有任何反應或提示的情況下,可能只是程序在運行的需要等一下!需要耐心等待。

3.然后記錄一些常用快捷鍵:
按鍵 作用
Ctrl+d 鍵盤輸入結束或退出終端
Ctrl+s 暫停當前程序,暫停后按下任意鍵恢復運行
Ctrl+z 將當前程序放到后台運行,恢復到前台為命令fg
Ctrl+a 將光標移至輸入行頭,相當於Home
Ctrl+e 將光標移至輸入行末,相當於End
Ctrl+k 刪除從光標所在位置到行末
Alt+Backspace 向前刪除一個單詞
Shift+PgUp 將終端顯示向上滾動
Shift+PgDn 將終端顯示向下滾動
4.通配符

首先通配符是一種特殊語句,主要有星號(*)和問號(?),用來對對字符串進行模糊匹配(比如文件名,參數名)。當查找文件夾時,可以使用它來代替一個或多個真正字符;當不知道真正字符或者懶得輸入完整名字時,常常使用通配符代替一個或多個真正的字符。

終端里面輸入的通配符是由 Shell 處理的,不是由所涉及到命令語句處理的,它只會出現在命令的“參數值”里(它不用在 命令名稱里, 命令不記得,那就用Tab補全)。當 Shell 在“參數值”中遇到了通配符時,Shell 會將其當作路徑或文件名去在磁盤上搜尋可能的匹配:若符合要求的匹配存在,則進行代換(路徑擴展);否則就將該通配符作為一個普通字符傳遞給“命令”,然后再由命令進行處理。總之,通配符 實際上就是一種 Shell 實現的路徑擴展功能。在 通配符被處理后, Shell 會先完成該命令的重組,然后再繼續處理重組后的命令,直至執行該命令。

其實上面說了一大堆難以理解的話,按照我簡單的理解就是把自己忘記的部分用星號(*)和問號(?)代替,讓系統自動幫你找出相關文件。下面是一個小例子來幫助理解:

Shell 常用通配符:

字符 含義
* 匹配 0 或多個字符
? 匹配任意一個字符
[list] 匹配 list 中的任意單一字符
[!list] 匹配 除list 中的任意單一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意單一字符 如:[0-9] [a-z]
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串
{c1..c2} 匹配 c1-c2 中全部字符 如{1..10}

manner命令

Manual pages 是在 UNIX 或類 UNIX 操作系統在線軟件文檔的一種普遍的形式。 內容包括計算機程序(包括庫和系統調用),正式的標准和慣例,甚至是抽象的概念。用戶可以通過執行 man 命令調用手冊頁。

其實簡單的來說就是通過man來將一種類似幫助手冊的東西調出來。

通常格式是:man + 你想要了解的東西

比如你想查看 man 命令本身的使用方式,你可以輸入:

man man

通常情況下,man 手冊里面的內容都是英文的,這就要求你有一定的英文基礎。man 手冊的內容很多,涉及了 Linux 使用過程中的方方面面,為了便於查找,是做了分冊(分區段)處理的,在Research UNIX、BSD、OS X 和 Linux 中,手冊通常被分為8個區段,安排如下:

區段 說明
1 一般命令
2 系統調用
3 庫函數,涵蓋了C標准函數庫
4 特殊文件(通常是/dev中的設備)和驅動程序
5 文件格式和約定
6 游戲和屏保
7 雜項
8 系統管理命令和守護進程

要查看相應區段的內容,就在 man 后面加上相應區段的數字即可,如:

$ man 1 ls

會顯示第一區段中的ls命令man頁面。

想要獲得更詳細的幫助,還可以使用info命令。如果你知道某個命令的作用,只是想快速查看一些它的某個具體參數的作用,那么你可以使用--help參數,大部分命令都會帶有這個參數.

下面是實驗樓的一個實驗作業:

五、賬戶管理相關命令

1 who 命令

最常用的就是查看用戶,在終端中輸入$ who am I或者$ who mom likes可以顯示。

who 命令其它常用參數

參數 說明
-a 打印能打印的全部
-d 打印死掉的進程
-m am i,mom likes
-q 打印當前登錄用戶數及用戶名
-u 打印當前登錄用戶登錄信息
-r 打印運行等級
2. sudo 命令

我們一般登錄系統時都是以普通賬戶的身份登錄的,要創建用戶需要 root 權限,這里就要用到 sudo 這個命令了。不過使用這個命令有兩個大前提,一是你要知道當前登錄用戶的密碼,二是當前用戶必須在 sudo 用戶組。

關於root : root 權限,系統權限的一種,與 SYSTEM 權限可以理解成一個概念,但高於 Administrator 權限,root 是 Linux 和 UNIX 系統中的超級管理員用戶帳戶,該帳戶擁有整個系統至高無上的權力,所有對象他都可以操作,所以很多黑客在入侵系統的時候,都要把權限提升到 root 權限,用 Windows 的方法理解也就是將自己的非法帳戶添加到 Administrators 用戶組。更比如安卓操作系統中(基於 Linux 內核)獲得 root 權限之后就意味着已經獲得了手機的最高權限,這時候你可以對手機中的任何文件(包括系統文件)執行所有增、刪、改、查的操作。

  • su user可以切換到用戶user,執行時需要輸入目標用戶的密碼。
  • sudo cmd可以以特權級別運行cmd命令,需要當前用戶屬於sudo組,且需要輸入當前用戶密碼。
  • su - user命令也是切換用戶,同時環境變量也會跟着改變成目標用戶的環境變量。

下面是我的實驗:

這里需要注意在輸入密碼的時候他是不會顯示出來的(之前的我以為是系統卡死了)

這里是將我新建的blackay03用戶加入sudo用戶組來獲得root權限:

這里是刪除用戶所需要輸入的:

$ sudo deluser blackay03 --remove-home
3. groups命令

這個命令是用來查看用戶所屬的用戶組的。

Linux 里面每個用戶都有一個歸屬(用戶組),用戶組簡單地理解就是一組用戶的集合,它們共享一些資源和權限,同時擁有私有資源,就跟家的形式差不多,你的兄弟姐妹(不同的用戶)屬於同一個家(用戶組),你們可以共同擁有這個家(共享資源),爸媽對待你們都一樣(共享權限),你偶爾寫寫日記,其他人未經允許不能查看(私有資源和權限)。當然一個用戶是可以屬於多個用戶組的.

下面是我的實驗:

在這里前一個blackay03表示用戶,后面的表示該用戶所屬的用戶組blackay03,也就是 blackay03 用戶屬於 blackay03 用戶組。

  • 每次新建用戶如果不指定用戶組的話,默認會自動創建一個與用戶名相同的用戶組。
  • 默認情況下在sudo用戶組里的可以使用sudo命令獲得root權限。

六、文件的相關知識

Linux 里面一切皆文件

可以通過

$ ls -l

來列出並顯示當前目錄下的文件。一般格式如下圖:

1. 文件類型

2. 文件權限

文件權限表示的一般形式如下圖:

  • ‘r’讀權限,表示你可以使用 cat file name 之類的命令來讀取某個文件的內容。

  • ‘w’寫權限,表示你可以編輯和修改某個文件.

  • ‘x’執行權限,通常指可以運行的二進制程序文件或者腳本文件,如同 Windows 上的 'exe' 后綴的文件,不過 Linux 上不是通過文件后綴名來區分文件的類型。一個目錄同時具有讀權限和執行權限才可以打開並查看內部文件,而一個目錄要有寫權限才允許在其中創建其它文件,這是因為目錄文件實際保存着該目錄里面的文件的列表等信息。

  • 所有者權限,這點顧名思義,哪個用戶對這個文件有權限。

  • 所屬用戶組權限,是指你所在的用戶組中的所有其它用戶對於該文件的權限,比如,你有一個艾派德,那么這個用戶組權限就決定了你的兄弟姐妹有沒有權限使用它破壞它和占有它。

3. 寫到這里必須要記住一個與之相關的命令:ls
命令 參數 說明
ls -l 使用較長格式列出文件
ls -lh 查看文件的大小
ls -A 顯示除了 .(當前目錄),..(上一級目錄)之外的所有包含隱藏文件
ls -Al 長格式顯示隱藏文件
ls -dl 查看某一個目錄的完整屬性
ls -AsSh 顯示所有文件大小,並以普通人類能看懂的方式呈現
4. 變更文件所有者

下面是實驗:

  • 首先是在用戶blackay123下新建了一個“xinjian”文件

這里用到touch命令,意思為創建一個空文件。

  • 然后換回shiyanlou用戶,輸入如下命令行:

cd /home/blackay123
ls xinjian
sudo chown shiyanlou xinjian
cp xinjian /home/shiyanlou

  • 然后在輸入ll xinjian查看“xinjian”文件的文件屬性可以看出文件的所有者已經變成shiyanlou了:

5. 修改權限
  • 首先我在blackay123shiyanlou上都新建了一個文件“xinjian”並且往里面分別輸入了“nihao”和“hello”

  • 然后我在shiyanlou用戶中修改了“xinjian”的權限,變為只有我自己可以,通過命令行$ chmod 700 xinjian

  • 然后再換回blackay123用戶查看,發現自己的home里面的“xinjian”可以查看,內容依舊為“nihao”,但是再打開路徑“/home/shiyanlou/xinjian”的時候發現已經“permission denied”了

如圖:

6. tree命令

這里說的是查看Linux 目錄結構的一個命令:

$ tree + 地址
7. cd命令

進入上一級目錄:

$ cd ..

進入你的“home”目錄:

$ cd ~ 
# 或者 cd /home/用戶名

使用 pwd 獲取當前路徑:

$ pwd
8. touch命令

其主要是來更改已有文件的時間戳的(比如,最近訪問時間,最近修改時間),但其在不加任何參數的情況下,只指定一個文件名,則可以創建一個為指定文件名的空白文件(不會覆蓋已有同名文件)

9. mkdir命令

使用 mkdir(make directories)命令可以創建一個空目錄,也可同時指定創建目錄的權限屬性。

mkdir后加-p參數可以同時創建父目錄(如果不存在該父目錄),例如:

$ mkdir -p dir1/dir2/dir3

10. cp命令

cp(copy)命令是復制一個文件或目錄到指定目錄,例如:

$ cp test dir1/dir2/dir3

就是將test文件復制到dir1/dir2/dir3目錄下。

要成功復制目錄需要加上-r或者-R參數,表示遞歸復制。

11. rm命令

使用rm(remove files or directories)命令,刪除一個文件或目錄:

$ rm test

有時候你會遇到想要刪除一些為只讀權限的文件,需要加上參數-f強制刪除。

12. mv命令

使用mv(move or rename files)命令,移動文件(剪切),將文件移動到指定目錄:

$ mkdir dir1/dir2/dir3
$ mv lala dir1/dir2/dir3

mv命令還有一個功能就是重命名:

13. nl命令

nl命令是指添加行號並打印。

$ nl passwd

這里簡單列舉它的常用的幾個參數:

-b : 指定添加行號的方式,主要有兩種:
    -b a:表示無論是否為空行,同樣列出行號("cat -n"就是這種方式)
    -b t:只列出非空行的編號並列出(默認為這種方式)
-n : 設置行號的樣式,主要有三種:
    -n ln:在行號字段最左端顯示
    -n rn:在行號字段最右邊顯示,且不加 0
    -n rz:在行號字段最右邊顯示,且加 0
-w : 行號字段占用的位數(默認為 6 位)
14.| sort 命令

表示將讀取的文本進行一個字典排序再輸出。

15. cat 命令

用於讀取指定文件的內容並打印到終端輸出。正序顯示,可以加上-n參數顯示行號:

$ cat -n passwd

在這里我們通過命令行:$ cat /etc/group | sort來查看我之前新建的用戶blackay03

  • | sort表示將讀取的文本進行一個字典排序再輸出

  • /etc/group 的內容包括用戶組(Group)、用戶組口令、GID 及該用戶組所包含的用戶(User),每個用戶組一條記錄。其格式為:group_name:password:GID:user_list

16. headtail命令

也是查看文件的命令,head是只查看的頭幾行(默認為10行,不足10行則顯示全部),另一個是查看尾幾行。

由於時間關系,在進行大掃除大采購大包裝后,即將回到並沒有被網絡的老家,所以關於Linux的學習暫時到這里(所以本篇隨筆還是會像其他隨筆一樣,不斷更新中~)。


免責聲明!

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



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