Linux編程環境介紹(2) -- shell(Bash) 介紹

1. 在計算機科學中,Shell俗稱殼(用來區別於核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似於DOS下的command和後來的cmd.exe.



2. bash (Bourne Again shell)是衆多shell的一種, 但它是Linux 預設的shell. bash 是 GNU 計劃中重要的工具軟件之一,目前也是 Linux distributions 的標準 shell. 因此, 掌握bash這一個shell就能保證你在linux的世界裏暢通無阻了, 當然, 想學習其它shell也會水到渠成, 畢竟它們都是大同小異的.
bash在linux下的路徑爲/bin/bash. 一般linux系統的/bin目錄裏都會有好幾種shell, 除了預設的bash, 可能還會有sh, ksh, csh等等.

在bash下的操作, 尤其提幾點:

1) . 表示當前目錄, 如: ./a.out, 表示執行當前目錄下的a.out程序
2) .. 表示上層目錄, 如: cd .., 表示進入到當前目錄的上一層
3) <Tab>可以用來對命令或者文件名進行補全.
比如當前目錄下只有一個可執行程序main, 輸出gdb再按<tab>, 則會自 動補全gdb main.
比如當前目錄有aaa, bbb兩個目錄, 要進入aaa目錄只需要cd a再按<tab>鍵, 就會自動補全成cd aaa了.
如果有多個選項, 可以按兩下<tab>, 則會列出所有待選項.
4) 運行可執行程序的話, 需要"路徑+程序名", 除非在PATH環境變量裏的路徑
(比如你echo $PATH,看到的結果類似於:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games), 執行這些路徑裏的程序, 不用加路徑, 因爲默認會去這裏搜索.

  比如/home/xxx/abc/a.out, 即使你就在當前目錄下, 也不能直接a.out, 需要加上路徑, 輸入./a.out或者/home/xxx/abc/a.out, 都可以執行a.out程序.
其實可以把'.'這個當前目錄加入到PATH中, 就可以不加路徑而執行當前所在目錄下的可執行文件, 但是習慣上一般不會這樣做. 


3. man手冊

幾乎所有的命令, 函數等, 都可以在shell中man xxx來獲取它的詳細信息.


4. 一些常用的bash命令

ps: 只列舉一些常見命令的簡單用法, 簡單夠用爲原則, 追求更多更全的命令, 請看專業書籍自行學習. 

我還發布了一篇, 用來專門記錄常用bash命令的.可參考http://blog.csdn.net/aa2650/article/details/11046265

pwd 顯示當前所在目錄
cd 改變目錄,能處理絕對和相對路徑
ls 列出當前目錄下的文件, 常用參數, -a, -l     
cp 拷貝文件 
mv 剪切/重命名 
rm 刪除文件, 常用參數, -rf (遞歸刪除一個文件/目錄, 哪怕目錄非空)
clear 清除屏幕 
history 顯示歷史命令記錄, 非常有用的一個命令. 歷史命令存儲在家目錄的.bash_history隱藏文件裏.
find 搜索目錄中文件, 常用參數-name. 如find -name aaa, 從當前目錄開始遞歸查找叫aaa的文件.
chmod 改變文件保護權限  
chown 改變文件的屬主和組

grep  在文件中搜索匹配的行並輸出
ps 羅列運行進程, 默認羅列當前shell運行的進程, 常用參數-ef | grep xxx, 列舉所有進程並篩選出其中包含xxx字段的進程
kill 中止一個進程  

last 顯示過去多少個用戶或終端登錄到本機器  
ln 在文件間建立連接
man 顯示具有一定格式的在線手冊   
passwd 設置用戶的密碼  
reboot 重新啓動系統  
tar 創建和編輯Unix歸檔文件  
touch 改變文件的時間參數  
wc 統計一個文件中的字節數,單詞數,行數  
who 查看其他登錄的用戶  
which 顯示命令的全路徑  

ping 命令—確定網絡上機器是否可達或到達速率

top 顯示當前系統的CPU, 內存等資源佔用情況

date 顯示當前系統時間.


找了一篇更全更詳細的命令介紹, 可以參考此地址:  http://csy8217.blog.163.com/blog/static/9446787200852302757312/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章