Linux基本語法6

2021-07-30 18:37:06 字數 3229 閱讀 6262

bash的主要優點:

#命令記憶能力

#命令與檔案補全功能

#命令別名設定功能

#作業控制、前台、後台控制

#程式指令碼

#萬用字元

bash shell的內建命令:type

type [-tpa] name

引數:type:不加任何引數時,type會顯示出name是外部命令還是bash的內建命

-t:當加入-t引數時,type會將name以下面這些字眼顯示出它的意義

file:表示為外部命令

alias:表示該命令為命令別名所設定的名稱

builtin:表示該命令為bash內建的命令功能

-p:如果後面接的name為外部命令時,才會顯示完整檔名

-a:會由path變數定義的路徑中,將所有含有name的命令都列出來,包含alias

在命令執行過程中,反單引號(')這個符號代表的意義為何

在一串命令中,在『之內的命令將會被先執行,而其執行出來的結果將作為外部的輸入資訊。如uname -r會顯示出目前的核心版本,而我們的核心版本在/lib/modules中。

因此,可以先執行uname -r找出核心版本,然後再以cd目錄回到該目錄下。

若你有乙個常去的工作目錄名稱為「/cluster/server/work/taiwan_2005/003」,如何進行該目錄的簡化

再一般情況下,如果想進入上述的目錄需要執行「cd/cluster/server/work/taiwan_2005/003」。但如此一來,變換目錄就會很麻煩。所以一般採用下面的方式來降低執行的錯誤

work = 「/cluster/server/work/taiwan_2005/003」

cd $work

變數鍵盤讀取、陣列與宣告:read,array,declare

read:讀取鍵盤輸入的變數

read [-pt] variable

-p:後面可以接提示符

-t:後面可以接等待的秒數

declare/typeset:宣告變數的型別。

如果使用declare後面沒有接任何的引數,那麼bash就會將所有的變數名稱與內容全部顯示出來,就像set一樣。

declare [-aixr] variable

-a:將後面名為variable的變數定義為陣列(array)型別

-i:將後面名為variable的變數定義為整數數字型別

-x:用法與export一樣,就是將後面的variable變成環境變數

-r:將變數設定為readonly型別,該變數不可被更改內容,也不能被重設

陣列:陣列的設定方式為:var[index]=content

與檔案系統及程式的限制關係:ulimit

ulimit [-shacdfltu] [配額]

-h:hard limit,嚴格的設定,必定不能超過這個這個設定的數值

-s:soft limit,警告的設定,可以超過這個設定置,但是若超過則有警告資訊

在設定上,通常soft會比hard小,舉例來說,soft可設定為80而hard為100.那麼你可以使用到90,那麼你可以使用90(因而沒有超過100),但介與80~100之間時,會有警告資訊

-a:後面不接任何引數,可列出所有的限制額度

-c:當某些進城發現錯誤時,系統可能會將該進城在記憶體中的資訊寫成檔案。這種檔案就被稱為核心檔案,此為限制每個核心檔案的最大容量

-f:此shell可以建立的最大檔案容量(一般可能設定濰2gb),單位為kb

-d:程序可使用的最大判斷記憶體(segment)容量

-l:可用於鎖定(lock)的記憶體量

-t:可使用的最大的cpu時間(單位為秒)

-u:單一使用者可以使用的最大程序(process)數量

基礎正規表示式:

[:alnum:]:代表英文大小寫字元及數字,即0-9,a-z,a-z

[:alpha:]:代表任何英文大小寫字元,即a-z,a-z

[:blank:]:代表空格鍵與[tab]按鍵

[:cntrl:]:代表鍵盤上的控制按鍵,即包括cr,lf,tab,del等

[:digit:]:代表數字,0-9

[:graph:]:除空格符(空格鍵與(tab))外的其他所有

[:lower:]:代表小寫字元,即a-z

[:print:]:代表任何可以被列印出來的字元

[:punct:]:代表標點符號,即「 『 ? ! ; :# $

[:upper:]:代表大寫字元,即a-z

[:space:]:任何會產生空白的字元,包括空格鍵[tab]cr等

[:xdigit:]:任何十六進製制的數字型別,因此包括0-9,a-f,a-f的數字與字元

grep的一些高階引數

grep [-a] [-b] [--color=auto] '搜尋字串' filename

引數-a:後面可加數字,為after的意思,除了列出該行外,後序的n行也列出來

-b:後面可加數字,為before的意思,出來列出該行外,後面的n行也列出來

sed工具

sed [-nefr] [動作]

引數:-n:使用安靜模式,在一般的sed的用法中,所有來自stdin的資料一般都會被列出在螢幕上。如果加上-n後,只有經過sed特殊處理的那一行才會被列出來

-e:直接在命令列模式上進行sed的動作編輯

-f:直接將sed的動作寫在乙個檔案內,-f filename則可以執行filename內的sed動作

-r:sed的動作支援的是擴充套件型正規表示式的語法

-i:直接修改讀取的檔案內容,而不是由螢幕輸出

動作說明:[n1[,n2]] function

n1,n2:不見得會存在,一般代表選擇進行動作的行數。如我的動作是需要在10到20行之間進行的,則」10,20[動作行為]「

function有下面這些引數:

a:新增,a的後面可以接字串,而這些字串會在新的一行出現

c:替換,c的後面可以接字串,這些字串可以替換n1,n2之間的行

d:刪除,因為是刪除,所以d後面通常不接任何引數

i:插入,i的後面可以接字串,而這些字串會在新的一行出現

p:列印,也就是將某個選擇的資料列印出來。通常p會與引數sed -n一起執行

s:替換,可以直接進行替換的工作。通常s的動作可以搭配正規表示式。

擴充套件正規表示式

+:重複乙個或乙個以上的錢乙個re字元

?:零個或乙個的錢乙個re字元

|:用或or的方式找出數個字串

():找出」組「字串

()+:多個重複組的判別

es6 基本語法

es6規定暫時性死區和let const語句不出現變數提公升,主要是為了減少執行時錯誤,防止在變數宣告前就使用這個變數,從而導致意料之外的行為。這樣的錯誤在 es5 是很常見的,現在有了這種規定,避免此類錯誤就很容易了。總之,暫時性死區的本質就是,只要一進入當前作用域,所要使用的變數就已經存在了,但...

es6基本語法

1.es6基本語法 變數的宣告 let 限制作用域 塊 const 常量 唯讀不可更改 const pi 3.14156 console.log pi pi 3.14 console.log pi let a 1 var a for var i 0 i 10 i a 6 輸出10 直接跳轉到最大值 ...

ES6基本語法

學js 箭頭函式 es6中可以使用 作為函式表達形式,極簡風格,引數 函式體。1 不帶引數function 等價於 2 帶引數function a 等價於 a 乙個引數時可以不寫括號 等價於 a 如果函式裡只有一條語句,可以省略return和 3 帶引數且函式裡只有一條返回語句,可以省略return...