linux shell 指令總結

2021-09-03 03:09:55 字數 2858 閱讀 8761

一  shell 基本指令

1.  

$ --普通使用者    # -- 超級使用者

xx  --help    檢視xx 指令幫助

man ***    檢視xx指令用法

2.pwd  當前目錄

cd  。。  回到根目錄

cd   /    頂端根目錄

cd  ~  個人主目錄

3.file ***    讀取檔案中文字屬性

4.linux的目錄結構

/boot  存放linux 核心 和啟動載入項

/bin   預設可執行程式

/usr   支援使用者程式的檔案     /usr/bin    使用者要用的可執行程式

/sbin     /usr/sbin  系統管理員專用程式,超級使用者執行

/etc    作業系統設定的檔案

/var   日誌檔案

/lib   共享庫檔案

/dev    裝置驅動檔案

5.輸入輸出

sort <   ls.txt  > sorted_ls.txt    

將ls檔案中內容排序輸出到螢幕   然後輸出到  sorted_ls

6.許可權

chmod 修改檔案/目錄的訪問許可權

chown 修改檔案/目錄的所有權

7.多工處理(job)

ps:系統正在執行的程序

jobs:shell中顯示程序目錄

8.解析(parsing)是將一連串字串分解為有意義的令牌,建立解析樹(parse tree)

shell就是乙個程序,可建立其他程序。

fork系統呼叫建立呼叫程序的副本。

9.shell指令碼第一行輸入    #!/bin/sh ,   核心識別檔案為bourne  shell指令碼。

bash shell 是bourne shell的公升級版,大部分linux使用 bash shell。

10.正在執行的程式稱程序或作業(job),每個程序都有其固有id,即pid。

作業控制可選擇性的執行程式,分前台和後台。

11.命令列中的編輯器

emacs的基本操作:

ctrl+p/n  向上/下  移動歷史檔案

ctrl+a   移至行首  ctrl+e 移至行尾

ctrl+u 刪除行        ctrl+y恢復最後刪除的內容

ctrl+k  刪除游標到行尾的內容

esc+ d / h   向前/後刪除乙個字元

12.別名

別名  alias  就是使用者把 shell命令 自定義為其他的名字,便於使用。

13.元字元 / 萬用字元

14.變數

declare  typeset,全域性變數一般都是大寫字母。

$#  的值等於引數個數。

15.重定向

啟動shell的同時啟動了 stdin  stdout   和  stderr。

想把內容輸出到某檔案可使用重定向  >  配合使用的命令exec

二  檢索功能

1.正規表示式  (regular expressions)

正規表示式是匹配用於檢索的相同字符集的模式。

vim支援 使用正規表示式

2.grep檢索

grep指令用於檢索與輸入檔案的已有模式列表匹配的行,之後通過標準複製然後顯示 檢索到的行。

egrep 是 grep的擴充套件,可使用regular expression的元字符集。

fgrep類似於  grep,但是不能使用 regular expression的元字符集。

3.linux的文字處理工具

3.1  sed

sed是以行為單位的非互動式編輯器,從通過標準輸入或檔案獲得要處理的輸入文字,對指定的行進行逐行處理。

3.2  awk

awk是運算元據並建立報告的語言。

三 bash shell 程式設計

1.將命令合併轉為檔案執行,檔案就稱為shell 指令碼。

shell指令碼是非互動的。(noninteractive)

shell指令碼的第一行,成為 shbang行。

shbang行是 #! /bin/bash  則使用bash shell。

shbang行是 #! /bin/sh  則使用bourne shell。

2.注釋 comment  # 

變數 variable  $

read  用於從終端或檔案讀取輸入的字串。

3.shift 命令按照指定數字向左移動引數目錄。

內部字段分隔符ifs  評估空格、tab  、newline字元,需要使用其他分隔符的時可重置。

function  定義函式  

unset  刪除記憶體中的函式

export 導數函式,使其可以在子shell 中使用。

source命令從定義函式的檔案呼叫並使用需要的函式。

4. kill -l  和  trap -l  命令可以檢視所有訊號目錄。

getopts  函式處理命令列選項和引數。

eval 評估命令列,替換shell後執行。

set操作命令行引數,選項前加「  -  」表示設定為on,加「  +  」表示設定為off。

5.啟動指令碼

vsftpd

6.實用指令

cut 擷取檔案指定的各行字段

paste 合併檔案資訊

join 合併欄位並刪除等值欄位中的乙個,使其唯一。

tr 通過標準輸入修改或者刪除字元。

split 以大小單位或行單位擷取大容量的文字。

col 是更改換行字元(line feed)的過濾器。

xarg 以行為單位讀取輸入資料並執行引數化。

find 在目錄層級檢索檔案。

tee  通過標準輸入讀取,並儲存為標準輸出和檔案。

linux shell 常用指令

一 檔案比較運算子 e filename 如果 filename存在,則為真 如 e var log syslog d filename 如果 filename為目錄,則為真 如 d tmp mydir f filename 如果 filename為常規檔案,則為真 如 f usr bin grep...

linux shell 指令學習小結(一)

有必要總結一發shell指令了。不過我覺得網上的詳細教程還比較多,先知道每個指令幹啥,具體很詳細的引數可以在用的時候去查,用多了就熟了 覺得還不錯的教程傳送門 每天乙個linux命令目錄 裡面每個指令介紹的還算詳細,有什麼忘記的其實可以查這個 ps 分為三篇文章更 一 1.ls 命令 2.cd 命令...

Linux shell指令執行的原理

shell是一種命令列直譯器 對於一般使用者,我們不能直接使用作業系統 kernel 而是通過 kernel的 外殼 程式,也就是所謂的shell,來與kernel溝通。為什麼不能直接使用kernel?從技術角度 shell的最簡單定義 命 令 行 解 釋 器 command interpreter...