为什么要学习linux系统?它自带的软件可以开发软件吗?

2024-05-14 10:56

1. 为什么要学习linux系统?它自带的软件可以开发软件吗?

linux系统是比较大众化的服务系统,比之windows server系统更加的稳定安全。
如果想开发软件的话,建议下载专用的开发工具来进行开发。
1、可以当作日常的系统来使用,类似苹果电脑的IOS系统
2、可以当作服务器系统来使用,比如架设一些服务
以上两点是我所知道,还有一些其他的用处,linux系统比windows系统安全的多,病毒也少的多。

为什么要学习linux系统?它自带的软件可以开发软件吗?

2. 学习安卓系统软件开发需要学习linux???

Linux命令、C编程基础、Android Java编程、Google Android Linux操作系统具体操作等
安卓系统开发的方法,简单来说分成四层:
       第一层,以Inventor为代表的绘图工具,是Google推出的简单开发工具,主要是针对初级玩家的玩意儿,操作起来确实容易,一个不懂程序开发的用户就可以通过拖拽搞出一个能在安卓平台上跑的应用来,有点像做PPT,但任何事情都有两面性,这种容易上手的绘图工具,无法实现业务逻辑,运行效率也比较低。
       第二层,以Rexsee为代表的无线中间件,这种方法就不是玩家用的了,必须是工程师来用,但对技术门槛的要求很低,会用HTML和JS的技术员就可以方便的使用,在技术要求大幅度降低的同时,基础功能的封装也是一大亮点,这些中间件已经把所有应用需要的基础功能封装好,程序员直接使用JS去调用就可以了,不再需要吭哧吭哧从零开始写代码,比如你想调用个GPS,本来要编几千行的代码,用中间件只需一行JS代码即可搞定,难怪说做中间件的厂商都说:“用了我的东西,你的程序已经做了一大半啦!”此言不虚。
       第三层,基于JAVA的JDK JDK(Java Development Kit),目前绝大部分应用都是用这种方式来开发,对程序员的要求比较高,首先要有比较好的JAVA底子,然后要对Android平台本身有很深的研究,门槛不算低。
        第四层,基于C++的NDK( Native Development Kit),很多大型游戏是用这种方法开发的,相对于JDK,这种方法的门槛就更高了,目前使用的比较少,毕竟现在是智能手机的时代,硬件和网速都大幅提升,没必要动不动就Touch底层。提问者评价谢谢
【 复制的,楼主参考,我也参考了。】

3. 学习安卓软件开发需要学习linux知识吗

  学习,一般不需要什么基础,Android开发不算高深的技术,没有那么高的门槛。
       有朋友提到起码需要了解core Java,需要了解XML,JSON、linux
       还要懂一点儿数据库基础和常见持久层框架,甚至还要懂点儿C/C++。
       这些东西,除了C/C++的语言基础,在学习Android的过程中顺带着就学了。
       完全没有任何编程基础没接触过任何编程语言和相关知识的人也能学Android,
       完全看你有多大的热情和耐心以及你准备投入多少的时间和精力。
       ①Java基础知识 ②Linux基础知识 ③数据库基础知识 ④网络协议
       ⑤Android
基础知识 
⑥服务器端开发知识①Java基础知识很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础
的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。万丈高楼平地而起,Java就是筑起高楼的每一块砖头。那么Java
学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:
a)Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成。
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,

学习安卓软件开发需要学习linux知识吗

4. Linux系统下开发的重要性?

您好,我是凌阳嵌入式培训的,但不是发广告。希望通过3年嵌入式培训经验,回答能对你有帮助。
你列举的这些,和嵌入式相关的内容不多,如果学校把这个定位的嵌入式的话,这个……如果你愿意做嵌入式方面,估计得自力更生了。
给你贴一个我们专门培养嵌入式就业的课程你对比下看看,时间的长短更说明这段的重要性,下面都有说明学这段的意义(这里没有包含最大的实战项目):
第一阶段:嵌入式C语言编程 
本期目标:嵌入式C语言在整个过程中起着至关重要的作用。C语言有功能强、使用方便灵活等特点,更重要的是可移植性比较强。一个精通C语言程序设计的程序员,可以很容易地进入Linux、WinCE、Vxworks等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、C编程语法基础,以及C语言高级编程,为将来的编程工作打下结实的基础。 

第二阶段:Linux应用及系统编程 
培训时间:7周 
本期目标:嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。本期学习的主要目标是精通嵌入式Linux下的程序设计,熟练掌握嵌入式Linux的开发环境、系统编程以及网络编程,熟悉C  、QT编程并且深刻体会整个嵌入式Linux项目开发流程,强化学员对Linux应用开发的能力. 

第三阶段:嵌入式微处理器及平台开发 
培训时间:3周 
本期目标:平台开发是嵌入式Linux底层开发必备的基本技能,本阶段主要任务有:了解ARM体系结构和编程,掌握bootloader和kernel的移植技能,并了解Linux内核开发相关内容,具备ARM硬件接口的基础知识、制作自己的Linux系统。 

第四阶段:嵌入式Linux驱动开发
培训时间:2周 
本期目标:驱动开发是嵌入式Linux开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。本课程介绍嵌入式Linux驱动开发相关概念及开发流程,了解驱动开发的关键技术点,重点讲解嵌入式Linux下常用接口驱动的编写方法,包括:GPIO驱动、SPI驱动、flash驱动、块设备驱动、网卡驱动、液晶驱动、sd卡驱动等。不对之处请指正。

5. 做开发的需要学linux到什么程度

linux入门学习
一、关于Linux
  1、Linux干什么用?
  首先,很少有人用Linux做桌面系统,因为Windows桌面系统已经足够好了。我们主要把Linux用作网络服务器的操作系统。如果你和你的应用符合下面的几条,那么你合适使用Linux:
  *不愿意花钱在操作系统和网络应用上。
  *用D版系统受良心谴责或害怕承担责任。
  *想得到和花钱的系统差不多的性能。
  *在用户面前显得水平较高。
  *认识几个弄Linux的高手,或者知道在哪里能够找到问题答案。
  2、每种Linux发行包差别很多吗?
  如果你在上世纪80年代末到95年之前这段时间大量使用PC机的话,那对于Linux你应该很好理解:它就象一个有着32位抢先多任务核心的DOS,其区别在于外表看起来像是一种UNIX。Linux是好多人用智慧堆砌起来的,初学者经常问:“RedHat好还是Slackware好?”。这个人同时还面临上百种选择,这的确让人头痛。大部分Linux发行包实际上很简单,几乎所有的发行包都有相同的内核(也许是不同版本),外部命令和数据文件的差别也仅仅局限于在文件系统中的存放位置不同(这导致了某些兼容性问题,因为在某些地方找不到特定的文件嘛)。另外就是有些发行包为了显示自己的卓而不群,在发行包中增加了一些自己的实用程序。实际上动手修改内核的厂商不算太多,因为这样会内核官方版本的不断更新而手忙脚乱。当然有一些嵌入式系统开发商在Linux基础上做了自己的系统另说。
  拥有众多的发行包是Linux的一个很讨厌的问题,在这一点上,我更喜欢FreeBSD,因为它只有一个官方发行版本,也运行得比较稳定。可给Linux做软件的程序员太多了,Linux上面的资料也更多。记住:当一个家伙跟你说用哪个发行版本无所谓的时候,那他就是专家。
  3、Linux业余爱好者的东西吗?
  这样的宣传给了很多人这样的印象。其实,Linux是一个严肃的操作系统,拥有一切操作系统共有的特性。它可以用在很多严肃的场合。
  4、Linux性能比Windows更好吗?
  这里的答案会让你失望,据我以往的实际测试,2.2版本的Linux核心的性能比windows2000要低。值得欣慰的是2.4版本的核心性能有大幅度提高基本上接近了Windows2000。但Windows2000复杂的图形界面占用了相当的系统资源。
  5、Linux比Windows更复杂更专业吗?
  从复杂度上说,Windows2000要比Linux复杂很多。在核心技术上,Windows也更先进。
  6、Linux更可靠吗?
  应该从两个角度评价系统的可靠性。(1)系统自身的可靠性,两者象差不多。人们普遍认为的Windwos不如Linux可靠的印象来源于Windows众多的良莠不齐的软件。当然,Linux比Windows结构简单,在一定程度上也可以提高可靠性。(2)从安全性角度来说,Linux远远高于Windows系统,道理很简单:树大招风嘛。另外,Linux的源代码开放机制使得漏洞发现和消灭得很快。而Windows相对就显得比较官僚了。这里补充一点,我用过的最可靠的系统是BSD类的OS,可靠性和安全性都可圈可点。
  7、Linux真的不用花一分钱吗?
  大部分的发行包需要花少量的钱购买。当然你也可以从网络上DOWN。其实这些发行包未必符合你的应用,一般都需要经过一些改动和定制才能运行好。当然,花的钱跟Windows没法比。
二、Linux安装注意事项
  现在的大部分发行包都很容易安装,基本上都是图形向导式的,每个发行包都不太相同,也无法一一描述,如果你连安装都不明白,那就别用Linux了。这里仅仅说明几个注意的问题。
  1、如果要和Windows混装,一定要先装Windows,后装Linux。
  2、分区的时候,根据计划安装的软件灵活决定分区。一般分区有:/,/root,/usr,/var和swap分区,其中swap分区类型和其他不同需要专门选择一下,它的空间一般是物理内存的两倍即可。/root分区是紧急情况root用的,有64兆就行了。
  3、当然,为了方便,你可以安装发行包给你做好的软件。但我安装Linux的习惯做法是开始就安装一个最小系统,然后安装所有的编译工具。安装编译工具的方法一般都通过你用的发行包的包管理工具实现,这样最方便。比如在TurboLinux中,运行/usr/sbin/Turbopkg就可以了。在管理工具中选择所有关于Developoment相关的选项或gcc相关选项,一般就可以了。
  4、lilo一定要装。否则一旦出现分区问题都不好办。
  5、如果和Windows混装的时候,装完了系统起不来了。可以用98启动盘启动,然后用FDISK 
/MBR回复主引导分区来保住Windows分区。
  在安装了最小系统和全套的编译器后,我们应该得到一个比较干净的系统。在这个系统上,可以下载和安装各种应用软件了。
三、基本使用
  1、文件系统
  无论有多少个分区,整个文件系统都是一棵完整的树结构。经常用到的目录有:
  (1)/usr:存放各种应用程序文件用。其中的/usr/local用来存放后安装的软件
  (2)/var:用来存放所有的数据文件
  (3)/proc:里面的文件用来表示系统内核的各种配置和状态。这一块不是真正的文件系统,而是内存里面的各种数据。可以从这里得到一些常用的系统信息。比如CPU内存什么的。
  (4)/etc:这里是放置所有的系统配置文件。一般情况下,后安装的软件的配置文件不会放到这里。除非你是用RPM安装的随发行包配的软件或者故意这样做。我不喜欢把不同软件的文件混在一起,因此通常让不同的软件的配置文件放在各自的目录中。
  2、常用的命令
  这里我列出一些经常用的命令,具体的用法可以参见相关手册页(希望你的英文不象我这么差)。 

  vi(一定要会用这个你非常讨厌的东西,如果你屈服了,可以选择另一个叫做pico的编辑器,它有点象DOS的edit)
  head(用来看很长的文件用)
  tail(同上)
  netstat(看网络状态)
  tar(解开.tar.gz的压缩包)
  ps(察看进程)
  kill(干掉进程)
  top(看系统状况)
  shutdown(关闭系统)
  cat(看文件内容)
  ping 
(看网络连通状况)
  ftp(传输文件)
  man(手册)
  上面这些命令都是最最常用的,一定要把基本用法记牢。事实上,每人能记住全部命令或一个命令的全部参数,记住几个常用的就行了。其他的查书。
  3、内核升级  
如果你不愿意冒险,可以跳过这个部分。不过根据我实际使用的经验,2.4.x版本的内核性能比2.2.x的性能至少提高40%,还是很值得一试的。现在最新的发行包几乎都带有新的2.4内核,但是版本号想对保守。这里,我的建议是在决定升级任何部分的时候,一定要首先看一下所谓的“currect 
version release 
note”信息,里面告诉你本次版本升级都有些什么改动。如果改动的内容不涉及你当前的环境或需求,只是增加了一些邪门设备的驱动,你大可不必急着升级。补充一句话:Linux的内核版本号的中间一位是奇数的是非稳定版本,比如2.3,是偶数的才是稳定版本。
  升级内核的步骤如下:
  (1)首先在网上找到你打算升级的内核文件,一般名字是:linux-2.x.xx.tar.gz,把这个文件复制到/usr/src。(不知道在哪里找?看看: ,最好找到.tar.gz格式的,比如这里:/pub/linux/kernel/v2.x/)。下面的升级举例是从2.2.18升级到2.5.7(这是最新的内核了,你使用其它的版本别忘了改变版本号)
  (2)解压缩:tar 
zxvf linux-2.5.7.tar.gz后生成一个目录:linux-2.5.7。
  (3)进入/usr/src,用ls –l 
命令可以看到src里面有一个连接,类似于:linux -> linux-2.2.18/ (连接指向你当前用的内核版本)。首先删除这个连接(rm 
linux),用ln -s linux-2.5.7 linux 命令重建连接。我想你一定不会连这里的版本号都照抄吧?
  (4)进入linux-2.5.7 
目录,如果不是第一次编译这个内核,最好用命令:make mrproper 
删掉上次编译产生的.o文件等,当然以前保存的配置也丢了。
  (5)用命令:make 
menuconfig命令调整内核配置以适应你目前的环境,记住,不懂的配置不要乱动。首要任务是调整各种硬件的环境,比如SCSI卡:SCSI 
support/SCSI low-level drivers,不知道现在的SCSI卡型号?在/proc/scsi中可以找到。还有网卡,在Network 
Device Support 
里面。不知道现在的网卡型号?在这个文件里面写着呢:/proc/net/PRO_LAN_Adapters/eth0.info或/proc/pci文件中也可以找到 
。在menuconfig中用空格键改变选项状态,前面的<*>表示该功能编译在内核中,主要是运行速度快。< 
>表示不需要该功能。表示把该功能编译成模块,通常为了减小尺寸,和更换方便而把某些驱动编译成模块。
  (6)下面的事情比较程序化,照着做:make 
dep (检查文件的完整性,过程很复杂)
  (7)make bzImage 
注意大小写(真正开始编译了耶!我觉着这个最过瘾了,屏幕“哗啦哗啦”的,这时候你会感觉到,多少不知名的程序员在这个复杂的系统中贡献了自己的一份力量)
  (8)make 
modules (编译那些被标记为的功能模块或驱动程序)
  (9)make 
modules_install(把编译好的模块复制到指定地点,一般是:/lib/modules/ 
。注意:不同版本号的模块是完全分开在不同目录中的,因为modules跟内核是紧密相关的,混用容易导致系统崩溃)
  (10)cd 
/usr/src/linux-2.5.7/arch/i386/boot ,用命令:cp 
/usr/src/linux2.5.7/arch/i386/boot/bzImage /boot/vmlinuz-2.5.7 
把文件bzImage文件改名成vmlinuz-2.5.7复制到/boot/ 
  (11)cp 
/usr/src/linux-2.5.7/System.map /boot/System.map-2.5.7
  (12)进入/boot目录,rm 
System.map
  (13)在/boot目录中运行ln System.map-2.5.7 System.map 
10-13两个步骤每次重新编译都要做。
  (14)我开始提醒过的,但愿你安装了lilo 
(否则你就高唱:“神啊,救救我吧!”),编辑文件:/etc/lilo.conf 
,做下面的编辑:
  boot=/dev/sda
  map=/boot/map
  install=/boot/boot.b
  prompt
  timeout=50
  lba32
  default=linux-2.5.7
  image=/boot/vmlinuz
        
label=linux
        initrd=/boot/initrd
        read-only
        
root=/dev/sda5
  image=/boot/vmlinuz-2.5.7
        
label=linux-2.5.7
        initrd=/boot/initrd
        read-only
        
root=/dev/sda5
  黑体字部分是后加的和修改的。万一你没有安装lilo,你只能修改/boot下面的连接指向你新的System.map和vmlinuz 
, 而不用修改lilo了。这样也能启动,但是一旦出现问题,你的机器就启动不了了。
  (15)执行命令:lilo 
(用来更新lilo数据),注意输出的结果:带星号的是缺省的。
  (16)祈祷,然后reboot 系统重新启动后,用uname –a 
可看到新的内核起作用了。如果出现任何问题不能引导了,你需要在lilo的引导界面选择原来的内核启动,进入系统后重新改变内核参数,调整硬件或其他配置。然后重复前面所有过程。

做开发的需要学linux到什么程度

6. 在Linux下做开发 要学习Linux哪些东西

嵌入式Linux要学哪些?一些人总在寻思,怕走了弯路,又怕学的东西离企业需求远。那么今天就请华清远见高级讲师曹大神告诉你,9点浅析嵌入式学习步骤。下面是他本人亲笔。

1、要学习Linux,首先要会用,如果不会用怎么知道怎么知道怎么去做,所以需要学习Linux系统的安装及使用。
2、学会用Linux了,那么我们就要做一些Linux下的开发了,开发什么呢?看到网上有很多很强大很有趣的程序,我们都可以尝试去做,可是如何去做呢,程序是什么呢,怎么写呢?这时我们需要学习一些语言,比如比较基础的C语言,比如面向对象的C++,Java等。
3、写完程序了发现不就是一个很普通的文件吗,怎么能像别人写的程序一样运行起来呢?  这时我们需要知道如何编译一个程序,需要知道编译器及一些其他工具的使用,比如GCC,在开发的过程中我们为了提供工作效率还会用到Make,Shell等,为了能够很好的管理我们代码的不同版本,我们还需要知道什么是SVC,CVS,subversion,Git等。
4、当我们开始写一些比较大的程序,不再是以往的hello world级别的了,这时我们发现我们考虑的更多了,我们考虑到了程序的效率,我们发现需要读写文件了,我们发现需要和另外一台电脑通信了,于是我们有需要学习一些更高级点的东西了,比如数据结构,比如文件IO,比如多进程多线程编程,比如网络通信,这时我们会接触很多新的名词,什么是树,图...,什么是文件io什么是标准IO,什么是进程线程,什么是TCP/IP...。
5、当我们再进一步的话,我们会发现我们什么有很多的东西都运行的是Linux系统,可是他们和我的PC运行的Linux有什么区别呢,为什么我电脑要用风扇而手机不用风扇呢,我们打开网页查找手机的详细参数的时候,会看到Cortex-A15 、四核 、ARM等等字眼,什么是ARM,什么是Cortex-A15,我们需要进一步的了解。
6、了解完ARM之后,很多人就回去购买一些开发板,去学习它,这时操作系统的移植又成了一个比较重要的内容了,什么是bootloader,什么是kernel,什么是rootfs等等,我们怎么做呢。
7、花了很长时间系统做好了,发现板子上很多的什么不能用,怎么办呢? 这时我们需要写一些驱动来驱动这些设备,这时我们需要知道,什么是字符设备驱动、块设备驱动、网络设备驱动,为了更好的写驱动我们需要了解更多的硬件相关的东西,我们需要看懂芯片手册,我们需要看懂原理图,只有我们懂我们的设备,才能更好的驱动它。
8、等等,这里就列举更多的内容了,因为还有很多。
9、这些都有了我们就可以自行开发我们自己的产品了。

嵌入式Linux要学哪些?上述9点基本很明了了。这也算是嵌入式学习的一个基本步骤。本人认为到第九点你已经是一个高级的嵌入式Linux人物了,工资待遇我已经不用说,咋说也得15K往上了,如果做管理30K也是有的。这些东西要靠自学,说实话不太现实,嵌入式入门门槛相对高,要有心里准备,参加培训班是有必要的,除非你有亲戚朋友手把手教你。引用一句老话:“师傅领进门,修行是靠个人!”自己必须得喜欢钻研与学习,只有付出才会有收获!
最后说一点,Android系统也是在linux系统基础上开发的,所以学嵌入式linux的朋友,将来不仅可以从事嵌入式开发的工作(嵌入式的应用领域非常广泛,永不过时!)还可以从事android开发方向的工作(轻松迈入),从职业发展来说,嵌入式linux也是程序员最具发展前景的技术首选。

顶
23
踩

7. 想学linux开发应用软件方向,应该从何学起

1.linux入门,《鸟哥的私房菜》服务无关篇,这本书真的很不错。
你需要安装一个linux,虚拟机上安装最好,对应这本书学习,2周-3周内学完。
2.谭浩强老师的《C程序设计》
一定要细心和耐心的看书,和做练习,在linux里做,C学到熟练程度,呵呵,大约会花去你一个学期的时间了。6个月
3.可以尝试找个比较大的课程设计来做。比如:学籍管理系统啦,图书馆管理系统啦,简单的聊天工作啦,将编程学到的都运用起来。大约会花去你1个月的时间。
4.你可以选择合作伙伴---在你学习过程中找到的同好,或者网上找到网友,开发下你们喜欢的软件。
肯定困难重重,但关键是你开始!更要坚持,祝你好运!

想学linux开发应用软件方向,应该从何学起

8. 学linux能干什么,有什么前景,是程序员必须掌握的基础吗?

  LINUX免费,并开放源码.真正资源共享,并且好多大公司的服务器都是LINUX操作系统的,它不容易被攻击下,并在LINUX下编程很有发展前途;
  能进一步加深对操作系统中概念和实现的理解,对底层的深入理解,能打下扎实的基础。一些新技术其实都是架构在基础的东西之上的。基础牢固,以后再学习什么新技术都会水到渠成。
  有人可能会反驳,说学习底层的东西没用,优秀的程序员应该专注于设计,项目管理或架构等上层的知识,我的观点是,设计、项目管理或架构等上层的知识和底层的知识一点都不冲突,不懂底层的人,基础不扎实,在上层也不会走的顺畅,设想一下,如果没有深厚的基础知识,你怎么能知道自己架构出来的东西能不能实现呢?Linux的前景,可以到一些专业的Linux技能培训机构(比如 重庆思庄)问一下,也会得出一个大概的情况;