1、shell基本引數
#cat /etc/shells 系統提供的shell位置
#bsh、csh、ksh、bash 改變root使用者的shell環境
#chsh 改變普通使用者的shell環境
#more /etc/passwd 檢視所有使用者的shell環境
2、shell變數
2.1、環境變數
#set | more 檢視環境變數
2.2、常用環境變數介紹
#echo $user 顯示當前使用者登入名
#echo $uid 顯示當前使用者的使用者號
#echo $shell 顯示當前使用者的登陸shell
#echo $home 顯示當前使用者的宿主目錄
#echo $pwd 顯示當前使用者所在的目錄
#echo $path 表示當前使用者的命令搜尋路徑
#echo $ps1 顯示當前使用者的主提示符
#echo $ps2 顯示當前使用者的輔助提示符
2.3、環境變數配置檔案
#ls -l /etc/bashrc /etc/profile 顯示環境變數的全域性配置檔案
"bashrc"檔案用於定義全域性的函式和別名,檔案的內容除了為系統中所有登入使用者提供設定外,也適用於非互動shell和非登入shell
"profile"檔案負責設定全域性的環境,並應用於所有的使用者登入shell
#ls -l /home/username/.bash_profile /home/username/.bashrc 顯示使用者username的配置檔案
#cd /etc/skel 進入初始的使用者配置檔案
#cp .bash_logout .bash_profile .bashrc .emacs .gtkrc /home/username 複製使用者的初始配置檔案到使用者username的宿主目錄下(當使用者對自己的配置檔案設定出錯時使用)
2.4、位置變數
格式:$n n從1到9
單引號(''):不進行任何的變數替換,保持字串的原始值
雙引號(""):以變數的值來替換,並作為字串的一部分
反引號(``):用於進行命令替換,引號中命令的執行結果將替換命令本身作為字串
2.5、預定義變數
#echo $# 表示位置引數的變數
#echo $* 表示位置引數的內容
#echo $? 表示命令執行後返回的狀態,用於檢查乙個命令的執行是否正確;在linux中,命令退出狀態為0表示命令正確執行,任何非0值表示命令執行錯誤
#echo $$ 表示當前程序的程序號
#echo $! 表示後台執行的最後乙個程序號
#echo $0 表示當前執行的程序名
2.6、使用者自定義變數
#變數名=變數值 day=sunday
#echo $變數名 echo $day
#unset -f -v name
2.7、bash常用功能
#history 歷史命令檢視
#history -c 命令歷史清除
2.8、命令別名
#alias 命令='新命令' alias ll='ls -l' 使用ll別名更換ls -l命令
#unalias -a name 取消命令別名
#cd /etc/profile.d/ 檢視系統別名定義檔案
3、管道與重定向
3.1、輸入重定向
#wc /etc/passwd 計算檔案/etc/passwd中的字元數、單詞數和行數
#wc < /etc/passwd 將"/etc/passwd"檔案中的內容輸入重定向到wc命令中
3.2、輸出重定向
#cat /etc/passwd >file 將/ect/passwd下的內容覆蓋到file中
#cat /etc/passwd >>file 將/etc/passwd下的內容追加到file中
#aaa 2>errfile 將aaa命令顯示的錯誤結果輸入到errfile中
#ls afile bfile &>allfile 將標準輸出和錯誤輸出重定向到同乙個檔案
#ls /etc/passwd/ | head -5 顯示passwd中前5行內容
4、shell指令碼
#ls -l /etc/init.d/目錄中存在著數量相當多的系統服務啟動程式,這些程式全部都是shell指令碼檔案,可以使用file命令查詢這些檔案的型別
#bash *.sh 使用shell命令執行指令碼
#. /home/techer/filename.sh 執行filename.sh
Linux下shell的使用
linux 常見問題1000個詳細解答 1 shell基本引數 cat etc shells 系統提供的shell位置 bsh csh ksh bash 改變root使用者的shell環境 chsh 改變普通使用者的shell環境 more etc passwd 檢視所有使用者的shell環境 2 ...
Linux下Shell中陣列的使用
定義 可以整體定義陣列 array name value0 value1 value2 value3 或者 array name value0 value1 value2 value3 此時陣列的下標預設是從0開始的 還可以單獨定義陣列的各個分量 array name 0 value0 array ...
Linux下使用popen 執行shell命令
簡單說一下popen 函式 include file popen const char command const char type int pclose file stream popen 函式通過建立乙個管道,呼叫fork 產生乙個子程序,執行乙個shell以執行命令來開啟乙個程序。這個管道必...