循序渐进学习LINUX之LINUX编程
扫描二维码
随时随地手机看文章
一文本编辑
LINUX系统标准的文本编辑程序是vi它提供了编写命令程序的环境可见vi与编程息息相关因此很有必要在此次先介绍vi的运用
vi有命令及文本输入模式通过按 来切换
()在命令模式下
i在光标前添加文本与按 相同
a在光标后添加文本
r替换文本与按两次 相同
x删除光标处初的字符
u取消最后一次操作
wq/x/ZZ保存文本退出
q!防弃修改退出
w将缓冲区写入文件
w filename将缓冲区写入filename(相当于另存为filename)
w!Filename强迫vi重写名为filename的文件j移动光标到下一行当前位置与k相反
h将光标左移至下一字符与l相反
dd删除一行 dd删除n行
dw删除一个词 dw删除n个词
o在当前行下添加一行与O相反^行首$行尾%d全部删除文件内容
/string在缓冲区向前查找字符串string与?String相反按 表示继续查找下一个
set number显示行号便于查找错误
(二)在文本输入模式下主要进行文本的输入 +x可删除光标前的一个字符还可以通过鼠标进行快捷的拷贝
LINUX的文本编辑环境还有emacsex等与vi相似
二SHELL编程
bash shell有一组可以从键盘使用的强有力的交互功能输入/输出重定向作业控制历史命令表以及命令行编辑另外shell还提供完整的程序语言节是程序及读取和执行用户自己编写的shell的手段这些shell程序成为shell script编写shell程序能配置自己的登录环境进行交互输入编辑和别名shell命令控制流程等
由于笔者对LINUX操作系统的学习还不够所以暂时不能进行深层次的编程只是了解SHELL的语法结构if命令test命令while命令for循环until命令case选择况且笔者的学习目的并不在于此因而没有花太多的时间而是应能熟练的运用SHELL命令
三高级语言编程在LINUX上编写以上程序用到glibc/c++jdk步骤如下
# vi xxxc(/cpp/java)进入vi编辑界面进行编辑
编译过程
()对于C程序
# cc o exefilename(可执行文件名)xxxc
# /exefilename
()对于C++程序
# c++ o exefilename xxxcpp
# /exefilename
()对于JAVA程序
# javac xxxjava
# java xxx
可以用gdb来调试程序gdb exefilename其命令通过help来查看
此外进行系统程序设计时使用C语言并调用内部函数例如用fork创建进程等