循序渐进学习LINUX之LINUX编程
时间:2007-02-17 来源:PHP爱好者
一、文本编辑
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创建进程等。
php爱好者站 http://www.phpfans.net PHP|MySQL|javascript|ajax|html.
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创建进程等。
php爱好者站 http://www.phpfans.net PHP|MySQL|javascript|ajax|html.
相关阅读 更多 +