首頁 > 軟體

Linux下Shell介紹以及TCP、IP基礎

2020-06-16 17:04:59

一、Linux下的shell

概述:每個人在成功登入Linux後,系統會出現不同的提示符號,例如 $、~、#等,然後你就可以開始輸入需要的命令,若是命令正確,系統 就會依據命令的要求來執行,直到登出系統為止,在登入到登出期間, 輸入的每個命令都會經常解譯及執行。而這個負責的機制就是shell。其實作為命令語言互動式地解釋和執行使用者輸入的命令只是Shell 功能的一個方面,Shell還可以用來進行程式設計,它提供了定義變數和 引數的手段以及豐富的程式控制結構。使用Shell程式設計類似於DOS中的批 處理檔案,稱為Shell script,又叫Shell程式或Shell命令檔案。

如下圖所示:

 二、shell的分類

概述:shell有很多,但常用的就幾種:

Shell名稱     開發者          命令名稱

Bourne   S.R.Bourne   /bin/sh ->/bin/bash (大陸)

C      Bill Joy     /bin/csh

Kom    David            /bin/ksh

看看Ubuntu上的shell種類:

 檢視目前使用的是哪種shell

命令:env 【顯示當前系統的環境變數】

如果你不想使用bash的shell命令,可以進行修改,命令:

chsh  -s  輸入新的shell       如:/bin/dash

chsh -s /bin/dash,然後登出一下。

這裡我就不試了。

 

三、小技巧

(1)shell命令的補全:是指使用者輸入命令時,並不需要輸入完整的命令,而系統自 動會找出最符合的名稱。這種功能可以節省經常輸入命令的時間。 直接輸入“mk”——再按兩下“tab“鍵——出現兩頭兩個字 母為”mk“的命令。cat p 再按兩下“tab“鍵 會出現開頭字母為 “p“的所有檔案或目錄。

(2)在linux下,我們有時可能希望知道或是使用最 近執行的命令,history可能會幫上大忙。

  1、history 5:此項說明會顯示最近使用的5個命令。

  2、 !5:此項說明執行歷史編號為5的命令。

  3、 !ls:此項說明執行最後一次以“ls”開頭的命令。

如果不想輸入命令,可以這樣使用:

四、TCP/IP基礎

這裡簡單介紹一下,關於更深入的東西,可以參考其他的資料,《TCP/IP詳解卷1:協定》

概述:linux /unix的世界就是網路的世界,而網路的 基礎就是tcp/ip,在某種意 義上,unix網路就是Tcp/ip,而且Tcp/ip就是網路互聯的 標準。它不是一個獨立的協定,而是一組協定。(tcp,ip ,udp,arp,rarp等協定)。所以一個優秀的程式設計師必 須了解並掌握tcp/ip,tcp/ip究竟是什麼呢?

  •  Ip地址與包的路由傳遞

每個internet上的主機和路由器都有一個ip地址 ,它包括網路號主機號,所有ip地址都是32位元的(當然現在也有IPV6),ip 地址按照國際標準的劃分為a,b,c,d,e五種型別(從上到下)

 

a類的IP地址非常珍貴,原因是:網路號8位元,剩餘的全是主機號,所以能分配更多的IP地址。其中網路號確定了就不能再變了。

如何檢視Linux中的ip地址:ifconfig

 下面我們舉個例子:兩個微信的通訊案例

比如有兩個使用者使用微信聊天,其中一個使用者A向另外一個使用者B傳送了:“您好!”,然後,這條訊息會經過應用層,會被在開頭加上一個app(這裡的app指的是微信這個程式,唯一標識),接著向下走,到了傳輸層,資料會上面傳過來的資料全面再加上tcp頭,接著經過IP層,資料段,會在前面加上ip,形成封包,最後經過鏈路層,在封包的前面加上了幀頭,然後發到網絡卡,在通過路由器傳送到B使用者,當到了B使用者的網絡卡之後,再進入到資料鏈路層,去掉封包的幀頭,在經過IP層的時候,會把IP頭去掉,在經過TCP層,會把TCP頭去掉,在經過應用層的時候,根據app找到對應的微信,並把app頭去掉,最後“您好!”就會被對方收到。

好了,大概就是這個過程,可能有些專業術語描述的不準確,關於網路方面的知識也是我的一個盲區,希望能和大家一起學習。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-10/147458.htm


IT145.com E-mail:sddin#qq.com