当前位置:Linux教程 - Linux - 循序渐进学习LINUX之LINUX编程

循序渐进学习LINUX之LINUX编程

一、文本编辑

  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创建进程等。