一 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...