1. 程式人生 > 實用技巧 >linux學習筆記01

linux學習筆記01

一. Linux歷史

1968年 Multics專案

MIT、Bell實驗室、美國通用電氣有限公司走到了一起,致力於開發Multics專案。到後期由於開發進度不是很好,MIT和Bell實驗室相繼離開這個專案的開發,最終導致專案擱淺。

1970年(Unix元年,時間戳) Unix誕生

當時在開發Multics專案的時候,實驗室中有一個開發成員開發了一款遊戲(travel space:遨遊太空),因為兩個實驗室相繼離開專案開發,導致這名開發人員沒法玩遊戲,後來他提議組織人員重新在Multics專案之上重新的開發,也就出現了1970年的Unix。當時Unix作業系統是使用的組合語言(機器語言)開發的。

1973年 用C語言

重寫Unix

因為組合語言有一個最大的侷限性:對於計算機硬體過於依賴。導致移植性不好,所以後期在1973年使用了C語言對其進行重新開發。

1975年 Bell實驗室允許大學使用Unix。

1975年,bell實驗室允許大學使用Unix作業系統用於教學作用,而不允許用於商業用途。

Linux誕生
人物 Linus

image-20200406153007420
Linux的開發作者,Linux之父,李納斯·託瓦茲。Linux誕生時是荷蘭在校大學生。

1991年 0.0.1版本

李納斯當時學校使用的就是Unix作業系統,然後其對系統的底層程式碼進行了修改,放到了學校為學生開放的網站上,原先他把檔案命名寫成了Linus’s Unix,後期網路管理髮現之後覺得這個名字不好,自己手動的將名字改成Linux。隨後其他同學下載之後發現這個版本還是挺好用的,隨後都把自己程式碼貢獻給李納斯。

1992年 0.0.2版本

1994年 1.0版本

2003年 2.6版本

上述所提及的版本號並不是分支版本,而是指Linux**的核心版本。

Linux核心網站(現在3.x多一些,原來2.x多,現在docker要跑在3上)
linux大神在2017-06-26來到中國

二. 虛擬軟體安裝

# 虛擬化技術:kvm,vmware,openstack,docker,k8s
# iaas,paas,saas
# openstack:iaas
# docker:paas
# k8s:容器編排,管理容器,不同機器上的容器


# 一路下一步,裝完(試用,輸入啟用碼),開啟

# 網路模式:NAT,橋接,僅主機
	橋接:虛擬機器和宿主機屬於同一個網段
    NAT:網路地址轉換,
    
    
# 快照:相當於備份一下,以後如果出了問題可以恢復到快照的狀態

三. centos 7安裝

# 32位和64位作業系統

# DHCP :
DHCP(動態主機配置協議)是一個區域網的網路協議。指的是由伺服器控制一段IP地址範圍,客戶機登入伺服器時就可以自動獲得伺服器分配的IP地址和子網掩碼。預設情況下,DHCP作為Windows Server的一個服務元件不會被系統自動安裝,還需要管理員手動安裝並進行必要的配置
# dns:可以把域名地址轉換成ip地址
# 主機名:生產環境,要有意義  地址+樓層+房間號+業務
# swap分割槽:交換分割槽
# 關於分割槽
linux 分割槽結構為樹結構, windows 為森林結構,所以有C盤D盤之類的, 而linux /分割槽就是根分割槽, swap可以理解為虛擬記憶體, /boot 這是個目錄, 可以分成一個分割槽,然後掛載到/boot目錄, 也可以只用一個/分割槽, 裡面會有boot目錄的,儲存的是引導檔案,核心等等的東東

四. xshell安裝和連線

# 重啟網絡卡
systemctl restart network


systemctl restart network

service network restart

五. bash shell 介紹和使用

1 什麼是Bash shell(殼)

是一個命令直譯器,就是一個軟體  執行就是bash,可以在裡面輸入命令,做互動,exit退出

2 能幹什麼

原來在windows上點點點完成的是,它都能做到

使用Shell實現對Linux系統的大部分管理,例如:
1.檔案管理(檔案建立,移動,複製,刪除,編輯…)
2.許可權管理(不同使用者不通許可權)
3.使用者管理(建立,刪除….)
4.磁碟管理(掛載)
5.網路管理
6.軟體管理
等等

3 平時我們如何使用Shell呢?

1 輸入命令,低效
2 shell script:shell指令碼  ,批量執行命令

4 shell提示符

[root@lqz ~]#
# root:當前使用者
# @ :沒有意義
#lqz:主機名
# ~:家目錄
# #:表示超級使用者
[lqz@lqz ~]$ 

5 Shell基礎語法

#  命令  選項  引數   三部分組成
ls -a  /temp      
ls --all
# 以下三個一樣
ls -l -a
ls -la
ls -al

6 命令補全

# 一下或者兩下tab建
# 一下的話會直接找到你要用的命令
# 兩下,可能會用到的全列出來

# ifconfig 在7的版本沒有,需要裝軟體
yum insatll net-tools -y
yum insatll net-tools

# yum install bash-completion -y   補齊選項
ls - 兩下tab建,所有的選項都會提示出來

7 命令快捷鍵

Ctrl + a    #游標跳轉至正在輸入的命令列的首部
Ctrl + e    #游標跳轉至正在輸入的命令列的尾部
Ctrl + c    #終止前臺執行的程式   ##################
Ctrl + d    #在shell中,ctrl-d表示推出當前shell。
Ctrl + z    #將任務暫停,掛至後臺
Ctrl + l    #清屏,和clear命令等效。  ##############
Ctrl + k    #刪除從游標到行末的所有字元
Ctrl + u    #刪除從游標到行首的所有字元
Ctrl + r    #搜尋歷史命令, 利用關鍵字,Tab建選中,只能找到最近的一條
Ctrl + w    #按單詞或空格進行向前刪除
Ctrl + 左右建 #按單詞或空格進行向前向後跳

#在命令列前加面加 "#" 則該命令不會被執行

8 history

# history檢視歷史命令
# !數字   快速執行數字那一行
# !yum    快速執行最近一條yum命令


# history -d 70  把歷史記錄的第70行刪除
# history -c   清空所有記錄(連到人家伺服器,操作完了,執行一下)
# history -w   可以把 歷史記錄寫到使用者家路徑的.bash_history檔案中