请教高手:怎样才能精通Linux系统编程?

CandCplus 2007-04-23 08:53:08
工作4年,现在因为工作需要刚涉及Linux系统。请问如何能够快速的学习Linux的应用程序开发?

作为通常的方法是看书和看代码。我手里有一本大部头的Linux开发书籍,但是我觉得这种大部头并不适合学习,因为看到书籍中间的部门,前面的部分已经忘记了,永远都没法精通。
...全文
1106 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
longtrue 2007-05-07
  • 打赏
  • 举报
回复
vi我一直在用啊,一直很不理解为什么那么多人推崇它.说穿了vi在强,也不过是个文本编辑器而已.你用的好跟你写程序的水平没有关系.况且,一个项目都是分好多程序模块的,你用vi根本不可能写大程序的.除非你是把所以的程序代码都写在一个文件里的.比如,kdevelop之类的IDE才是需要懂的.还有,在自己水平不够的时候你拼命写是写不出什么来的.先看别人的大程序,然后试着改,慢慢地积累,水平自然就上去了.说穿了,程序语言的逻辑结构无非就是(if-else分支;while循环;顺序)3种而已,其他的结构都是3种结构的组合.本人也是菜鸟一个,只会写C.我看别人的C,是先看MAIN的结构,然后在一个一个模块的看分支.把握逻辑结构才是最重要的.
========================================
深有同感,但用好VI效率会提高很多,如果用得不熟,根本就无法谈及效率问题。我看别人代码习惯和你相同,我还会关注它的源文件结构和逻辑结构有什么关系。如果从一开始就陷入了局部的函数实现,最后看完都不知程序的究竟在干了什么。
zhangweia 2007-05-06
  • 打赏
  • 举报
回复
VI 编写大全
常用VI 编辑
1 基本编辑指令(由指令模式进入编辑模式)
1.1 Append(追加,既在原光标所在位置后面加入字符)
a 从光标所在位置後面开始插入数据,
A 从光标所在行的最後面开始插入数据
1.2 Insert(插入,既在原光标所在位置前插入字符)
i 从光标所在位置前面开始插入数据
I 从光标所在行最前面开始插入数据
1.3 Open
o 在光标所在行的下一行插入数据
O 在光标所在行的上一行开始插入数据
1.4 Replay (替换,既替换光标所在位置字符)
r 修改光标所在字元,一次只修改一个,既光标所在字 符 ,并且不改变命令行状态
R 进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止
1.5 chang(改变,既先删除需要改变的字符,然后在改变的位置输入)
cw 改变光标所在位置的的一个字节,然后进入插入模式,如果光标在字符中间,则改变光标所在位置到该字节的结束,如果光标在字节的开头,则改变整个字节
cb 改变光标所在位置前的一个字节~~~~
cnw 改变光标所在位置的后n个字节
c0 改变光标所在位置到行的开头的字节
c$ 改变光标所在位置到行结束的字节
2 光标移动指令
2.1 行的移动
h 向左移动 nh 向左移动n个字符
j 向下移动 nj 向下移动n行
k 向上移动 nk 向上移动n行
l 向右移动 nl 向右移动n个字符
0 移动到光标所在行的最前面
$ 移动到光标所在行的最后面
b 移动到下一个字的第一个字母
w 移动到上一个字的第一个字母
字符与数值的组合,
nw 移动到下n个字的第一个字母
nb 移动到上n 个字的第一个字母
2.2 段的移动
Ctrl+f 向上一页
Ctrl+b 向下一页
H 移动到当前屏幕的第一行
M 移动到当前屏幕的中间行
L 移动到当前屏幕的最后一行
2.3 移动屏幕,但光标的位置不变
z (enter) 移动当前行到屏幕的顶端,并滚动
z . 移动当前行到屏幕的中间,并滚动
z- 移动当前行到屏幕的底端,并滚动
2.4 按句子移动光标
( 从光标位置移动到句子的开始
) 从光标的位置移动到下一个句子
3 删除 复制
dd 删除所在的行
D 删除从光标位置开导到所在行的末尾
dl 向右删除一个字符
dh 向左删除一个字符
dj 删除本行加下一行,总共删除2行
yy 复制 所在的行
5yh 向前复制5个字符
nyj 向下复制n行(包括当前行,则有N+1行)
nyk 向上复制n行(~~~~~~~~~~~~)
删除和复制同理
d ,y 与下面的字符结合可控制删除,复制的位置
0 光标所在位置到该行的最后一个字符
$ 光标所在位置到该行的第一个字符
复制的字符被放在缓存区,P 把复制的内容放到光标之前的位置
p 把复制的内容放到光标之后的位
4 取消上一次操作
u 取消上次操作and 保存删除的行,当删除了不想删除的字符时,按u可以回到最后一次操作前的状态,连续按u 可以恢复到前n个状态。
p(小写) 复制上一次删除的内容,复制到当前光标的下一位置,连续按p 则复制n个相同的内容
P 复制到当前光标的上一位置
. 重复三次操作
5 连接下一行
J 连接光标所在行的下一行
6 查找字符
/word 查找/下的字符,光标停留在查找的字符出
for example /dec 查找屏幕中的字符 dec
fx (x代表任意一个字符) 查找当前行光标后的字符x
Fx 查找当前行光标前的字符x
; 重复查找
7 复习
Table 2.1: Edit Commands
Text Object Change Delete Copy
1 word cw Dw yw
2 words, not counting punctuation 2cW or c2W 2dW or d2W 2yW or y2W
3 words back 3cb or c3b 3db or d3b 3yb or y3b
1 line cc Dd yy or Y
to end of line c$ or C d$ or D y$
to beginning of line c0 d0 y0
single character r x or X yl or yh
five characters 5s 5x 5yl
Table 2.2: Movement
Movement Commands
, , ,
h, j, k, l
forward by word w or W
backward by word b or B
to end of line $
to beginning of line 0




jeek128 2007-05-05
  • 打赏
  • 举报
回复
去看那本linux网络编程,老外编的。里面讲的非常深入细致,
再就是多多实战了!!
yancloud 2007-05-05
  • 打赏
  • 举报
回复
随着自己水平得不断提高和对系统底层周边不断得深入,自己对自己评价的形容词逐渐从 精通-熟悉-逐渐变成了解,你在别人得眼里就是精通得水平了
CandCplus 2007-05-04
  • 打赏
  • 举报
回复
我觉得光看书和写程序也不能成为高手哦。有些东西书上是学不到的。
ljc_9449 2007-05-04
  • 打赏
  • 举报
回复
sf
gaow_2005 2007-05-04
  • 打赏
  • 举报
回复
本人是菜鸟.都三年了,还是菜鸟.
对于学习只要肯吃苦,还管它什么东西.一切搞定
pinejeely 2007-05-04
  • 打赏
  • 举报
回复
楼上观点都不错,学习了!
whyacinth 2007-05-03
  • 打赏
  • 举报
回复
去学习下游泳吧,道理是想通的!
paretozone 2007-05-03
  • 打赏
  • 举报
回复
我来取经来的!谢谢上面的各位!
qidaozhilong 2007-05-02
  • 打赏
  • 举报
回复
vi我一直在用啊,一直很不理解为什么那么多人推崇它.说穿了vi在强,也不过是个文本编辑器而已.你用的好跟你写程序的水平没有关系.况且,一个项目都是分好多程序模块的,你用vi根本不可能写大程序的.除非你是把所以的程序代码都写在一个文件里的.比如,kdevelop之类的IDE才是需要懂的.还有,在自己水平不够的时候你拼命写是写不出什么来的.先看别人的大程序,然后试着改,慢慢地积累,水平自然就上去了.说穿了,程序语言的逻辑结构无非就是(if-else分支;while循环;顺序)3种而已,其他的结构都是3种结构的组合.本人也是菜鸟一个,只会写C.我看别人的C,是先看MAIN的结构,然后在一个一个模块的看分支.把握逻辑结构才是最重要的.
foolmouse123 2007-05-02
  • 打赏
  • 举报
回复
边看书,边写程序!循环!
:)
Dorathebest 2007-05-02
  • 打赏
  • 举报
回复
编程是硬道理。这话我信。我们李学武老师也说了,数学基础必须打好。我信。所以正在努力
HaoyuTan 2007-05-01
  • 打赏
  • 举报
回复
为什么不在win下进行编辑然后在unix下编译呢?
win下的编辑器都可以使用鼠标,而vi却不可以,我看很多人都用vi,就是想知道使用vi对学习unix有什么帮助啊??

======================================================
你想想,是手一直放在键盘上输入比较快,还是手在键盘和鼠标之间切换输入比较快?
CandCplus 2007-04-30
  • 打赏
  • 举报
回复
大家提的方法都不错,学习。。。。

我觉得除了方法之外,还有就是长期坚持。。。这是比较难做到的。
CandCplus 2007-04-30
  • 打赏
  • 举报
回复
和大家交流所获颇多,所以自己顶一下,希望大家有好方法一起交流。
vs_net 2007-04-29
  • 打赏
  • 举报
回复
为什么不在win下进行编辑然后在unix下编译呢?
win下的编辑器都可以使用鼠标,而vi却不可以,我看很多人都用vi,就是想知道使用vi对学习unix有什么帮助啊??


只是提问,没有任何贬低vi的意思.
fengzhiyi1 2007-04-26
  • 打赏
  • 举报
回复
编程才是硬道理!
yangb2014# 2007-04-26
  • 打赏
  • 举报
回复
精通是对于至少有3年经验的人来说的,
adream99 2007-04-26
  • 打赏
  • 举报
回复
GNU/Linux编程指南入门·应用·精通(第二版)
unix 环境高级编程

作为入门教材,都很不错!
当然,在这之前,你必须“驯服”Linux环境!能Linux下完成windows下的日常工作!
加载更多回复(12)

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧