问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样在Linux下编程?需要什么技术?

发布网友 发布时间:2022-04-21 05:50

我来回答

1个回答

热心网友 时间:2023-11-06 12:21

前言

分享好玩科技,探索未知世界。大家好,我是drinkingcode。针对如何学习Linux编程,分享一下作为过来人的经验,希望可以帮助到大家。

环境搭建

如果要在Linux下进行编程,那么首先我们需要有Linux操作系统的环境。通常的做法是下载并安装VMware,然后在VMware下安装Linux操作系统的发行版,比如Ubuntu,CentOS等。当一切安装就绪后,你就拥有一个Linux的编程环境了。如果大家需要相关资料,可以关注私信我,百度网盘分享给大家。(仅供个人参考学习)

入门

掌握C语言

环境搭建好之后,接下来我们需要掌握一门编程语言。由于在Linux下提供的系统API都是针对C语言的,所以想要进行Linux编程,就需要掌握C语言的基本使用。针对C语言的学习,给推荐大家一本《C和指针》

熟悉Linux命令

在Linux下编程,很多时候都是通过命令来进行操作的,ls命令,cd命令等。所以掌握常用的Linux命令之后,你就能更方便地去使用Linux系统。对于Linux命令的掌握,大家只需要选择一些常用的命令来进行学习就可以,至于平时不常见的命令,到时遇到再去选择性学习。在这里推荐一本学习Linux命令的书籍《鸟哥的Linux私房菜》基础学习篇

熟悉vim

有了前三步的基础,接下来,我们就可以手动来写C语言了。在Linux下,C语言的编辑器为vim。但是想要在vim上编写代码,就需要了解vim基本命令的使用,因为vim的使用使用vim命令来进行交互的。当我们熟悉了vim命令的使用后,我们就可以自由自在地在Linux下编写我们的C语言代码啦,然后用gcc编译器编译我们写好C语言代码的文件,就可以得到可执行程序,运行可执行程序,就可以看到输出结果。

进阶

熟悉系统API

在入门阶段,我们掌握基本开发Linux程序的流程。但是在入门阶段中,我们编写的应用还不具备太大的实用意义,因为我们编写的程序并没有借助系统的API。所以在进阶阶段,我们需要做的就是借助Linux系统API,以便我们编写的应用发挥更大的威力,更具有实用的价值。

在Linux系统中,比如读取一个文件的内容或者把服务器建立一个连接等,都需要调用Linux系统API才能实现。如何掌握这些API呢?在这里,推荐搭建阅读《UNIX环境高级编程》,里边介绍了文件I/O,进程间通信等知识。这样我们就可以借助系统API让应用发挥更大的价值。

掌握Makefile

当我们编写一个程序的时候,为了让其层次更清晰,通常会把不同部分的程序放在不同的文件或文件夹中,但这些文件之后又是有相互依赖关系的,如何在gcc编译时告知他们之间的顺序呢?此时,就需要我们掌握Makefile的基本语法,然后用Makefile来告知gcc如何编译。在这里推荐一本《GNUmake》。

总结

以上就是我说认为在Linux编程学习中几个比较重要的节点,予以罗列出来,希望对于想要学习Linux编程的同学有一定的借鉴作用。如果你喜欢我的文章或对你有帮助,欢迎点赞转发!

关注我,我是drinkingcode,分享好玩科技,探索未知世界!

其实和Windows下面编程流程差不多,唯一的区别就是你需要先熟悉一下Linux环境(毕竟没有Windows使用起来那么方便),其次,还有就是你需要熟悉一下常用的shell命令及vim等编辑器,下面我简单介绍一下:

了解一下Linux的目录结构:这个是了解Linux的基础,根目录下面都有哪些目录,每个目录都是干什么,常用的配置文件(网络IP、环境变量)都在哪,常用库都在哪,这个都需要了解掌握:

熟悉常用的LinuxShell命令:这个是使用Linux的基础,像常见的ls,cd,find,mdkir,rm,top,grep,sed,awk,su等,简化版的Linux就只Terminal终端而已,如果你连基本的命令都不会,就不要想着还能操作Linux:

熟悉一下vim,emacs等编辑器的使用,可能在迷你版的Linux下,就只是一个vim编辑器,你所有的编程工作都只能在这个环境下进行,wq!命令,这个你会经常用到,如果是桌面版的,可能还有相关IDE可供使用:

最后就是编程了,这个根据自己的编程语言安装对应的包或编译器就行(gcc,java,python等),无非就是vim编辑,命令行编译,调试运行而已(和windows平台可能会有差异),开始使用起来不舒服,后面熟悉后,也就没啥了,当然,有些IDE是跨平台的,也有Linux平台的版本,使用起来和windows的差异不会太大:

就分享这么多吧,可能有些乱,初学编程的话,如果对Linux不熟悉的话,建议还是在Windows环境下面进行,使用起来能更方便一些,熟悉后,可在Linux下面进行,当然,直接在Linux下面也行,不过有个熟悉的过程,建议初学者,还是下载一个桌面版的Linux,不至于直接一个终端命令行,使用起来很迷茫,不知所措,以后很多服务器都是基于Linux平台的,Linux的应用也很广泛,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

在Linux下编程不需要什么特别的技术,你只需要掌握Linux操作系统的使用方法,然后在里面安装你所需要编程语言的IDE即可。

Linux系统下是兼容大部分编译软件的,比如Java语言应用最广泛的是eclipse,它具备Linux版本,而且用起来和Windows下差别不大。

Linux生态圈还有一款广为人知的可以写代码的软件,那就是vim,如果你在Linux下跑过C语言程序,那一定用过vi这个指令。它类似于Windows上的notepad,功能强大。

Linux入门,个人推荐一本书:《Linux鸟叔的私房菜》。

在Linux下编程那么必定要使用Linux的命令行终端vim了,要熟练掌握各种vim命令。

Linux终端命令

在Linux下打开命令行终端:Ctrl+Alt+T

浏览目录或者文件:ls后面可以加很多参数,-l、-a、-h等

进入某个目录:cd+路径

返回到上层目录:cd..

切换到上次cd进入的目录:cd

创建一个文件:touch

a.c

创建一个目录:mkdirmydir

创建和删除目录

mkdir目录名创建一个目录rm-r目录名删除一个目录

创建一个文件

touchfilename.txt创建一个文件echostring>>>>filename.txt向文件中写入字符串catfilename查看文件的内容

复制cp

cpsrcfile.txtdstfile.txt文件的复制cpsrcfiledstfile-r文件夹的复制

移动文件或修改名字(mv)

mvsrcfiledstname修改名字mvfilename路径名移动文件或文件夹

vim编辑器的使用

创建一个文本文件并进入编辑模式:vi

filename.txt

vim三种模式之间的转换

1)命令行模式

esc:进入命令行模式

yy:复制当前一行

nyy:从当前行开始复制n行

:3,6yy:从第三行复制到第六行

dd:删除当前行到剪切板

ndd:删除n行到剪切板

p:在光标的下一行粘贴

P:在光标的上一行粘贴

u:撤销

Ctrl+r:反撤销

2)插入模式(编辑模式)

i:进入插入模式光标之前插入

a:光标之后插入

I:行首插入

A:行尾插入

o:光标下一行插入

O:光标上一行插入

s:删除光标所在字符并进入插入模式

S:删除光标所在行并进入插入模式

r:修改光标所在字符

R:替换光标所在行,直到按下esc键结束

0:光标移动到行首

$:光标移动到行尾

gg:光标移动到文件开头

G:光标移动到文件结尾

cc:删除当前行并进入插入模式(删除的内容放在剪贴板中)

yw:将光标所在单词copy到剪贴板

3)底行模式

Shift+::进入底行模式

:wp:保存并退出

:q:不保存退出

:q!:强制退出

学习Linux需要掌握的知识

c语言基础

要熟悉基本的C语法,数据类型、函数、指针等。

文件IO

要掌握文件IO相关的系统调用函数,对文件进行打开、关闭、读写等操作。

数据结构

熟练掌握顺序存储与链式存储等存储结构:链表、队列、栈、二叉树等。

进程和线程

理清进程和线程的区别,掌握进程和线程的创建方法,熟练运用线程和进程相关的系统调用函数。

网络编程

理清TCP/IP协议,会使用socket创建网络套接字,掌握网络通信的方法,熟悉各种服务器模型。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
减罪的读音减罪的读音是什么 减的拼音? 减的反义词 5种开红色花朵的植物有哪些 怎么查衣服是什么牌子 ...一件连衣裙就要1080元 ,你怎么看?_百度知 ... ...的衣服比较难?这些时尚的淘宝店铺你知道吗?_百度知 ... 比尔布莱森被人们称为什么 三星空气净化器怎么样 ? 三星ax7000空气净化器 别问“在吗”,请直接说明来意 Linux下必须知道的11个网络命令 linux查看磁盘命令linux查看磁盘 如何在新装的linux中安装gcc和g77 linux根目录空间不足linux根目录空间 查看linux内存使用情况的shell脚本 Linux中的几种安全防护技术 matlab canny算子边缘检测函数代码 如何将Word图标放到桌面上 怎么把word里的照片复制到桌面上? 我建立了word文档,如何把它发送到桌面 word里照片怎么粘贴到桌面上 WORD图片怎么复制到桌面 如何将word放到桌面快捷方式 怎么把存在word中的文件放到桌面上 如何将word文档中的图片复制出来 怎么将word中的word文件复制到桌面出来? 如何把word里的文本文件移到桌面 凹透镜的定义? 凹透镜和凹面镜有什么区别 浠的拼音 印刷机上墨胶辊硬化如何清洗上面的钙质? 印刷机橡皮布脏了该怎么办? 印刷机橡皮布的脏很难擦是怎么回事 胶印机开始印刷后匀墨辊为什么不上墨 有解决氧化锌版液附在墨辊上的解决办法吗? 除钙剂怎么使用 四色印刷机的印刷机保养 胶印机胶辊结晶怎样处理 印刷机水槽保温材料 双面胶印机,当印刷一段时间后(半个月到一个月)。墨棍就不容易上墨... 怎样去除胶辊机上的胶水? 胶印机墨辊不上墨,是怎么回事?墨辊表面好象有层粉。 什么是无水胶印? KETALIN-4F成胶剂是什么成分? 在印刷机上工作会掉头发么? 纸的种类有哪些? 能告诉我印刷的常用纸张吗? 纸的特性有哪些 怎样的海报吸引受众?