bash 和sed 和gawk

 bash內建命令

        命令描述
:        擴展參數列表,執行重定向操做
.        讀取並執行指定文件中的命令(在當前shell環境中)
alias        爲指定命令定義一個別名
bg        將做業之後臺模式運行
bind        將鍵盤序列綁定到一個readline函數或宏
break        退出for、while、select或until循環
builtin        執行指定的shell內建命令
caller        返回活動子函數調用的上下文
cd        將當前目錄切換爲指定的目錄
command        執行指定的命令,無需進行一般的shell查找
compgen        爲指定單詞生成可能的補全匹配
complete        顯示指定的單詞是如何補全的
compopt        修改指定單詞的補全選項
continue        繼續執行for、while、select或until循環的下一次迭代
declare        聲明一個變量或變量類型。
dirs        顯示當前存儲目錄的列表
disown        從進程做業表中刪除指定的做業
echo        將指定字符串輸出到STDOUT
enable        啓用或禁用指定的內建shell命令
eval        將指定的參數拼接成一個命令,而後執行該命令
exec        用指定命令替換shell進程
exit        強制shell以指定的退出狀態碼退出
export        設置子shell進程可用的變量
fc        從歷史記錄中選擇命令列表
fg        將做業之前臺模式運行
getopts        分析指定的位置參數
hash        查找並記住指定命令的全路徑名
help        顯示幫助文件
history        顯示命令歷史記錄
jobs        列出活動做業
kill        向指定的進程ID(PID)發送一個系統信號
let        計算一個數學表達式中的每一個參數
local        在函數中建立一個做用域受限的變量
logout        退出登陸shell        
mapfile        從STDIN讀取數據行,並將其加入索引數組
popd        從目錄棧中刪除記錄
printf        使用格式化字符串顯示文本
pushd        向目錄棧添加一個目錄
pwd        顯示當前工做目錄的路徑名
read        從STDIN讀取一行數據並將其賦給一個變量
readarray        從STDIN讀取數據行並將其放入索引數組
readonly        從STDIN讀取一行數據並將其賦給一個不可修改的變量
return        強制函數以某個值退出,這個值能夠被調用腳本提取
set        設置並顯示環境變量的值和shell屬性
shift        將位置參數依次向降低一個位置
shopt        打開/關閉控制shell可選行爲的變量值
source        讀取並執行指定文件中的命令(在當前shell環境中)
suspend        暫停shell的執行,直到收到一個SIGCONT信號
test        基於指定條件返回退出狀態碼0或1
times        顯示累計的用戶和系統時間
trap        若是收到了指定的系統信號,執行指定的命令    
type        顯示指定的單詞若是做爲命令將會如何被解釋
typeset        聲明一個變量或變量類型。
ulimit        爲系統用戶設置指定的資源的上限
umask        爲新建的文件和目錄設置默認權限
unalias        刪除指定的別名
unset        刪除指定的環境變量或shell屬性
wait        等待指定的進程完成,並返回退出狀態碼
相比外部命令,內建命令提供了更高的性能,但shell中包含的內建命令越多,消耗的內存就
會越大,而有些命令幾乎永遠也不會用到。除此以外,bash  shell還包含了一些可以爲shell提供擴
展功能的外部命令。

除了內建命令外,bash  shell還使用外部命令來讓你操控文件系統以及處理文件和目錄。




 

 shell外部命令


命令描述
bzip2        採用Burrows-Wheeler塊排序文本壓縮算法和霍夫曼編碼進行壓縮
cat        列出指定文件的內容
chage        修改指定系統用戶帳戶的密碼過時日期
chfn        修改指定用戶帳戶的備註信息
chgrp        修改指定文件或目錄的默認屬組
chmod        爲指定文件或目錄修改系統安全權限
chown        修改指定文件或目錄的默認屬主
chpasswd        讀取一個包含登陸名/密碼的文件並更新密碼
chsh        修改指定用戶帳戶的默認shell        
clear        從終端仿真器或虛擬控制檯終端刪除文本
compress        最初的Unix文件壓縮工具
coproc        在後臺模式中生成子shell,並執行指定的命令
cp        將指定文件複製到另外一個位置
crontab        初始化用戶的crontable文件對應的編輯器(若是容許的話)
cut        刪除文件行中指定的位置
date        以各類格式顯示日期
df        顯示全部掛載設備的當前磁盤空間使用狀況
du        顯示指定文件路徑的磁盤使用狀況
emacs        調用emacs文本編輯器
file        查看指定文件的文件類型
find        對文件進行遞歸查找
free        查看系統上可用的和已用的內存
gawk        使用編程語言命令的流編輯器
grep        在文件中查找指定的文本字符串
gedit        調用GNOME桌面編輯器
getopt        解析命令選項(包括長格式選項)
groups        顯示指定用戶的組成員關係
groupadd        建立新的系統組
groupmod        修改已有的系統組
gzip        採用Lempel-Ziv編碼的GNU項目壓縮工具
head        顯示指定文件內容的開頭部分
help        顯示bash內建命令的幫助頁面
killall        根據進程名向運行中的進程發送一個系統信號
kwrite        調用KWrite文本編輯器
less        查看文件內容的高級方法
link        用別名建立一個指向文件的連接
ln        建立針對指定文件的符號連接或硬連接
ls        列出目錄內容
makewhatis        建立可以使用手冊頁關鍵字進行搜索的whatis數據庫
man        顯示指定命令或話題的手冊頁
mkdir        在當前目錄下建立指定目錄
more        列出指定文件的內容,在每屏數據後暫停下來
mount        顯示虛擬文件系統上掛載的磁盤設備或將磁盤設備掛載到虛擬文件系統上
mv        重命名文件
nano        調用nano文本編輯器
nice        在系統上使用不一樣優先級來運行命令
passwd        修改某個系統用戶帳戶的密碼
ps        顯示系統上運行中進程的信息
pwd        顯示當前目錄
renice        修改系統上運行中應用的優先級
rm        刪除指定文件
rmdir        刪除指定目錄
sed        使用編輯器命令的文本流行編輯器
sleep        在指定的一段時間內暫停bash        shell操做
sort        基於指定的順序組織數據文件中的數據
stat        顯示指定文件的文件統計數據附錄          
sudo        以root用戶帳戶身份運行應用
tail        顯示指定文件內容的末尾部分
tar        將數據和目錄歸檔到單個文件中
top        顯示活動進程以及其餘重要的系通通計數據
touch        新建一個空文件,或更新一個已有文件的時間戳
umount        從虛擬文件系統上刪除一個已掛載的磁盤設備
uptime        顯示系統已經運行了多久
useradd        新建一個系統用戶帳戶
userdel        刪除已有系統用戶帳戶
usermod        修改已有系統用戶帳戶
vi        調用vim文本編輯器
vmstat        生成一個詳盡的系統內存和CPU使用狀況報告
whereis        顯示指定命令的相關文件,包括二進制文件、源代碼文件以及手冊頁
which        查找可執行文件的位置
who        顯示當前系統中的登陸用戶
whoami        顯示當前用戶的用戶名
xargs        從STDIN中獲取數據項,構建並執行命令
zip        Windows下PKZIP程序的Unix版本
能夠用這些命令在命令行上完成幾乎全部的事情。

 

 

環境變量

環境變量
變        量        描        述
*        含有全部命令行參數(以單個文本值的形式)
@        含有全部命令行參數(以多個文本值的形式)
#        命令行參數數目
?        最近使用的前臺進程的退出狀態碼
-        當前命令行選項標記
$        當前shell的進程ID(PID)
!        最近執行的後臺進程的PID        
0        命令行中使用的命令名稱
_        shell的絕對路徑名
BASH        用來調用shell的完整文件名
BASHOPTS        容許冒號分隔列表形式的shell選項
BASHPID        當前bash        shell的進程ID        
BASH_ALIASED        含有當前所用別名的數組
BASH_ARGC        當前子函數中的參數數量
BASH_ARGV        含有全部指定命令行參數的數組
BASH_CMDS        含有命令的內部散列表的數組
BASH_COMMAND        當前正在被執行的命令名
BASH_ENV        若是設置了的話,每一個bash腳本都會嘗試在運行前執行由該變量定義的起始文BASH_EXECUTION_STRING        在-c命令行選項中用到的命令
BASH_LINENO        含有腳本中每一個命令的行號的數組
BASH_REMATCH        含有與指定的正則表達式匹配的文本元素的數組
BASH_SOURCE        含有shell中已聲明函數所在源文件名的數組
BASH_SUBSHELL        當前shell生成的子shell數目
BASH_VERSINFO        含有當前bash        shell實例的主版本號和次版本號的數組
BASH_VERSION        當前bash        shell實例的版本號
BASH_XTRACEFD        當設置一個有效的文件描述符整數時,跟蹤輸出生成,並與診斷和錯誤信息分離開文件描述符必須設置-x啓動
COLUMNS        含有當前bash  shell實例使用的終端的寬度
COMP_CWORD        含有變量COMP_WORDS的索引值,COMP_WORDS包含當前光標所在的位置
COMP_KEY        調用補全功能的按鍵
COMP_LINE        當前命令行
COMP_POINT        當前光標位置相對於當前命令起始位置的索引
COMP_TYPE        補全類型所對應的整數值
COMP_WORDBREAKS        在進行單詞補全時用做單詞分隔符的一組字符
COMP_WORDS        含有當前命令行上全部單詞的數組
COMPREPLY        含有由shell函數生成的可能補全碼的數組
COPROC        含有用於匿名協程I/O的文件描述符的數組
DIRSTACK        含有目錄棧當前內容的數組
EMACS        若是設置了該環境變量,則shell認爲其使用的是emacs        shell緩衝區,同時禁止行編輯功能
ENV        當shell以POSIX模式調用時,每一個bash腳本在運行以前都會執行由該環境變量所定義的起始文件
EUID        當前用戶的有效用戶ID(數字形式)
FCEDIT        fc命令使用的默認編輯器
FIGNORE        以冒號分隔的後綴名列表,在文件名補全時會被忽略
FUNCNAME        當前執行的shell函數的名稱
FUNCNEST        嵌套函數的最高層級
GLOBIGNORE        以冒號分隔的模式列表,定義了文件名展開時要忽略的文件名集合
GROUPS        含有當前用戶屬組的數組
histchars        控制歷史記錄展開的字符(最多可有3個)
HISTCMD        當前命令在歷史記錄中的編號
HISTCONTROL        控制哪些命令留在歷史記錄列表中
HISTFILE        保存shell歷史記錄列表的文件名(默認是.bash_history)
HISTFILESIZE        保存在歷史文件中的最大行數
HISTIGNORE        以冒號分隔的模式列表,用來決定哪些命令不存進歷史文件
HISTSIZE        最多在歷史文件中保存多少條命令
HISTIMEFORMAT        設置後,決定歷史文件條目的時間戳的格式字符串
HOSTFILE        含有shell在補全主機名時讀取的文件的名稱
HOSTNAME        當前主機的名稱
HOSTTYPE        當前運行bash        shell的機器
IGNOREEOF        shell在退出前必須收到連續的EOF字符的數量。若是這個值不存在,默認是1
INPUTRC        readline初始化文件名(默認是.inputrc)
LANG        shell的語言環境分類
LC_ALL        定義一個語言環境分類,它會覆蓋LANG變量
LC_COLLATE        設置對字符串值排序時用的對照表順序
LC_CTYPE        決定在進行文件名擴展和模式匹配時,如何解釋其中的字符
LC_MESSAGES        決定解釋前置美圓符($)的雙引號字符串的語言環境設置
LC_NUMERIC        決定格式化數字時的所使用的語言環境設置
LINENO        腳本中當前執行代碼的行號
LINES        定義了終端上可見的行數
MACHTYPE        用「cpu公司系統」格式定義的系統類型
MAILCHECK        shell多久查看一次新郵件(以秒爲單位,默認值是60)
MAPFILE        含有mapfile命令所讀入文本的數組,當沒有給出變量名的時候,使用該環境變OLDPWD        shell以前的工做目錄
OPTERR        設置爲1時,bash        shell會顯示getopts命令產生的錯誤
OSTYPE        定義了shell運行的操做系統
PIPESTATUS        含有前臺進程退出狀態碼的數組
POSIXLY_CORRECT        若是設置了該環境變量,bash會以POSIX模式啓動
PPID        bash shell父進程的PID        
PROMPT_COMMAND        若是設置該環境變量,在顯示命令行主提示符以前會執行這條命令
PS1        主命令行提示符字符串
PS2        次命令行提示符字符串
PS3        select命令的提示符
PS4        若是使用了bash的-x選項,在命令行顯示以前顯示的提示符
PWD        當前工做目錄
RANDOM        返回一個0~32        767的隨機數,對其賦值可做爲隨機數生成器的種子
READLINE_LINE        保存了readline行緩衝區中的內容
READLINE_POINT        當前readline行緩衝區的插入點位置
REPLY        read命令的默認變量
SECONDS        自shell啓動到如今的秒數,對其賦值將會重置計時器
SHELL        shell的全路徑名
SHELLOPTS        已啓用bash        shell選項列表,由冒號分隔
SHLVL        代表shell層級,每次啓動一個新的bash        shell時計數加1        
TIMEFORMAT        指定了shell顯示的時間值的格式
TMOUT        select和read命令在沒輸入的狀況下等待多久(以秒爲單位)。默認值爲零,表示無限長
TMPDIR        若是設置成目錄名,shell會將其做爲臨時文件目錄        
UID        當前用戶的真實用戶ID(數字形式)

 

 

SED

sed命令選項
選 項 描 述
-e     script 將script中指定的命令添加處處理輸入時運行的命令中
-f      file 將file文件中指定的命令添加處處理輸入時運行的命令中
-n     不要爲每條命令產生輸出,但會等待打印命令

 

 

gawk

 gawk選項
選 項 描 述
-F fs                 指定用於分隔行中數據字段的文件分隔符
-f file               指定要讀取的程序文件名
-v var=value         定義gawk程序中的一個變量及其默認值
-mf N                指定要處理的數據文件中的最大字段數
-mr N               指定數據文件中的最大記錄數
-W keyword          指定gawk的兼容模式或警告等級。用help選項來列出全部可用的關鍵字                    
相關文章
相關標籤/搜索