一、文本編輯
Linux系統標准的文本編輯程序是vi,它提供了編寫命令、程序的環境。可見,vi與編程息息相關,因此很有必要在此次先介紹vi的運用。
vi有命令及文本輸入模式,通過按 來切換。
(1)在命令模式下:
i--在光標前添加文本,與按 相同;
a--在光標後添加文本;
r--替換文本,與按兩次 相同;
x--刪除光標處初的字符;
:u--取消最後一次操作;
:wq/:x/:ZZ--保存文本退出;
:q!--防棄修改退出;
:w--將緩沖區寫入文件;
:w filename--將緩沖區寫入filename(相當於另存為:filename);
:w!Filename2--強迫vi重寫名為filename2的文件;j--移動光標到下一行當前位置,與k相反;
h--將光標左移至下一字符,與l相反;
dd--刪除一行, dd刪除n行;
dw--刪除一個詞, dw刪除n個詞;
o--在當前行下添加一行,與O相反;^--行首;$--行尾;:%d--全部刪除文件內容;
/string:--在緩沖區向前查找字符串string,與?String相反。按 表示繼續查找下一個;
set number--顯示行號,便於查找錯誤;
(二)在文本輸入模式下,主要進行文本的輸入。 +x可刪除光標前的一個字符;還可以通過鼠標進行快捷的拷貝。
LINUX的文本編輯環境還有emacs、ex等,與vi相似。
二、SHELL編程
bash shell有一組可以從鍵盤使用的強有力的交互功能:輸入/輸出重定向,作業控制,歷史命令表以及命令行編輯。另外,shell還提供完整的程序語言節是程序及讀取和執行用戶自己編寫的shell的手段。這些shell程序成為shell script。編寫shell程序,能配置自己的登錄環境,進行交互輸入,編輯和別名shell命令,控制流程等。
由於筆者對LINUX操作系統的學習還不夠,所以暫時不能進行深層次的編程,只是了解SHELL的語法結構:if命令,test命令,while命令,for循環,until命令,case選擇。況且,筆者的學習目的並不在於此,因而沒有花太多的時間,而是應能熟練的運用SHELL命令。
三、高級語言編程在LINUX上編寫以上程序用到glibc/c++,jdk。步驟如下:
1 # vi xxx.c(/cpp/.Java)進入vi編輯界面進行編輯。
2 編譯過程
(1)對於C程序:# cc -o exe-filename(可執行文件名)xxx.c
# ./exe-filename
(2)對於C++程序:# c++ -o exe-filename xxx.cpp
# ./exe-filename
(3)對於JAVA程序:# javac xxx.java
# java xxx
可以用gdb來調試程序:gdb exe-filename。其命令通過help來查看。
此外,進行系統程序設計時,使用C語言並調用內部函數,例如用fork創建進程等。