最精煉的Linux學習筆記

2021-09-29 23:27:12 字數 2538 閱讀 2149

shell環境變數

正規表示式

輸入/輸出重定向與管道

shell指令碼

shell判斷命令為內建命令,則將命令直接解釋為系統功能呼叫並轉交給核心執行。

shell判斷命令為外部命令或實用程式,則會先在硬碟中查詢該命令並將其調入記憶體,再將命令解釋為系統功能呼叫並轉交給核心執行。

使用者給出命令路徑,shell沿著路徑查詢。

使用者未給出命令路徑,shell在環境變數path所制定的路徑中依次查詢。

變數替換:$ name=string(等號兩側不要有空格)

在定義變數時,若string中包含空格、製表符和換行符,則string必須用』string』或者"string"的形式。雙引號內允許變數替換,而單引號內則不可以。

可以使用export內建命令將區域性變數設定為全域性變數

顯示當前shell的pid:

$ echo $$
不同型別的shell的環境變數有不同的設定方法,以下為bash

設定環境變數:

$ set 環境變數=變數的值

不加任何引數直接使用set命令可以顯示出使用者當前所有環境變數的設定。

環境變數前加$,表示引用環境變數的值。

切換到主目錄:

$ cd

$home

將乙個路徑/tmp加到path變數前:

$ path=/tmp:$path
shell在執行命令前,會先查詢這個目錄。

將語言環境重新設定為預設的英文狀態:

$ unset lang
系統中的使用者工作環境設定檔案:

使用者設定的環境設定檔案:

系統中的使用者工作環境設定檔案對所有使用者均生效,而使用者設定的環境設定檔案

對使用者自身生效

使用者可以將自定義的環境變數存放在$home/.bash_profile中

使用者可以將自定義的別名存放在 $home/.bashrc中,以便在每次登陸和呼叫子shell時生效。

shell的特殊字元正規表示式很相似,要了解兩者之間的區別。

注意:由於正規表示式使用了一些特殊字元,所以所有正規表示式都必須用單引號括起來。

字元表示式:. [list] [range] [^]

量詞:*

控制字元:^ $

非特殊字元代表它們自己,如果要表示特殊字元需要在前面加上反斜槓。

^[0~9]\

[^0~9] 匹配以3個數字開頭跟著是乙個非數字字元的行

shell檢查是否有重定向符來決定是否重定向。

<	輸入重定向

>或》 輸出重定向

2>或2>> 實現錯誤重定向

&> 同時實現輸出重定向和錯誤重定向

輸出重定向:

執行命令前,>會覆蓋原檔案中的資料,而》是在原來資料後面追加。

輸入重定向:

#wc < 檔名

#命令《檔案把檔案作為命令的輸入

#命令《識別符號

#識別符號把識別符號之間內容作為命令的輸入

錯誤重定向:

將命令的錯誤資訊儲存在當前目錄的檔案中

#命令 2> 檔案

輸出和錯誤重定向同時實現:

#命令 &> 檔案

當命令沒有產生錯誤資訊時,原檔案內容會被清空。\

防止檔案被覆蓋:

set -o noclobber

僅對當前命令解釋程式起作用,其它程式仍可能覆蓋已存在的檔案。

解除:set +o noclobber

空裝置/dev/null的用法:

將錯誤重定向到空裝置,在螢幕上只得到有用的輸出。

$ grep delegate /etc/* 2> /dev/null
linux的過濾性:一條名令執行後產生的結果資料又通過標準輸出埠送給後一條命令。

shell提供命令"|"連線,形成乙個管道線

管道就是組合命令,從左到右順序執行。

多級管道將一些簡單的命令連線起來,形成更複雜的、功能更強的命令。

shell是一種指令碼型語言,包含的成分主要有注釋、命名、shell變數和流程控制語句。

1。當執行指令碼檔案沒有可執行許可權時,只能使用$ bash 檔名

2。否則先修改為可執行許可權,以便將檔案作為可執行檔案呼叫。

$ chmod +x 檔名

$ path =

$path

:$pwd

$ 檔名

3。./檔名

「.」命令就是在當前shell中執行指令碼檔案中的命令

tcp視窗機制(寫的最簡單精煉的文章)

收錄下,感謝原作者。我們可以大概看一下上圖的模型 首先是ab之間三次握手建立tcp連線。在報文的互動過程中,a將自己的緩衝區大小 視窗大小 3傳送給b,b同理,這樣雙方就知道了對端的視窗大小。a開始傳送資料,a連續傳送3個單位的資料,因為他知道b的緩衝區大小。在這一波資料傳送完後,a就不能再發了,需...

Danmo的學習之路(Git精煉版)

檔案模式為 100644,表明這是乙個普通檔案 100755,表示乙個可執行檔案 120000,表示乙個符號鏈結。切換分支的坑 第一次提交之前 在切換分支之前,要先確保狀態 乾淨 全部commit 否則會汙染其它分支。git branch v 可以檢視每乙個分支的最後一次提交 git branch ...

Git學習筆記超級無敵精煉版 一 基本操作

參考文獻 本地目錄,寫 修改的地方 在.git目錄下的index檔案中,作為乙個暫時儲存修改的區域 工作區的.git隱藏目錄中,不算工作區,而是git的版本庫,版本庫是個倉庫,裡面所有檔案都可以被git管理,可以追蹤每乙個檔案的修改,刪除,並記錄追蹤歷史,可以隨時還原 git config glob...