Linux运维工程师须掌握的基础技能有哪些

Linux运维工程师须掌握的基础技能有哪些,第1张

1、Linux基础命令及脚本:shell是基本要求,最好再懂点perl或python等。如果不懂脚本,怎么把重复的劳动变得简单呢?

2、系统监控命令:目的是获取系统当前的运行状态,遇到故障等要懂得分析排查。系统调优并懂得原理,知道为什么参数要调整成某个值。

3、网络监控命令:理由和第二点一致,不过侧重于网络。同样需要理解原理及调优,不能照搬前人的经验而不知甚解。

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更好吗?

这里的答案会让你失望,据我以往的实际测试,22版本的Linux核心的性能比windows2000要低。值得欣慰的是24版本的核心性能有大幅度提高基本上接近了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(解开targz的压缩包)

ps(察看进程)

kill(干掉进程)

top(看系统状况)

shutdown(关闭系统)

cat(看文件内容)

ping

(看网络连通状况)

ftp(传输文件)

man(手册)

上面这些命令都是最最常用的,一定要把基本用法记牢。事实上,每人能记住全部命令或一个命令的全部参数,记住几个常用的就行了。其他的查书。

3、内核升级

如果你不愿意冒险,可以跳过这个部分。不过根据我实际使用的经验,24x版本的内核性能比22x的性能至少提高40%,还是很值得一试的。现在最新的发行包几乎都带有新的24内核,但是版本号想对保守。这里,我的建议是在决定升级任何部分的时候,一定要首先看一下所谓的“currect

version release

note”信息,里面告诉你本次版本升级都有些什么改动。如果改动的内容不涉及你当前的环境或需求,只是增加了一些邪门设备的驱动,你大可不必急着升级。补充一句话:Linux的内核版本号的中间一位是奇数的是非稳定版本,比如23,是偶数的才是稳定版本。

升级内核的步骤如下:

(1)首先在网上找到你打算升级的内核文件,一般名字是:linux-2xxxtargz,把这个文件复制到/usr/src。(不知道在哪里找?看看:>

Linux概述

11 什么是linux

最节俭地说,linux是一个 *** 作系统。它使得计算机上的软件和硬件之间协调工作,就好像Microsoft Windows(MS windows,微软的windows系统)系列 *** 作系统(MS Windows和linux之间又有着巨大的差别。不仅差别巨大,甚至互相对立,互相攻击。缘何对立?缘何攻击?尽在本章中。)。至于linux具体特性,很难用一句或者一段话来表述清楚。但可以有一个大概了解:linux是一个多任务的多用户的多平台的在保护模式下的遵守POSIX标准的遵守SYSV和BSD扩展的遵守GPL许可的32位(也有64位)的类UNIX的开放源代码的免费 *** 作系统。这句话基本上涵概了当今linux最流行最重要最主要的特性。可能读者对以上的一些名词云里雾里,不知所云,简单介绍:

1多任务

计算机在同一时刻运行多个应用程序的能力。

2多用户

计算机在同一时刻被多个用户访问的能力。如网络上的服务器必须是多用户的。因为网络上的服务器需要能够同时接受多个用户的同时访问。除了linux系统,比较熟悉的Win2000也是多用户的 *** 作系统。多用户 *** 作系统最主要的特点是:同一时刻不同的用户访问。例:一台windows98机器,虽然可以有好几个不同的帐号,但不能同时访问,所以它并不是多用户的。

3多平台

可以在不同种类的CPU下工作。不要以为世界上就只有intel ,AMD这样的兼容CPU,还有很多种类的CPU。如:Alpha、Sparc。

4保护模式

在linux下应用软件无法访问系统分配的内存以外的内存区域。如此,一个软件的错误不会造成整个系统的瘫痪。有些人没事在那里叫嚣:linux理论上永远也不会死机,就是这个原因。(但事实上还是会死的)

5POSIX

POSIX表示可移植 *** 作系统接口(Portable Operating System Interface ,缩写为 POSIX 是为了读音更像UNIX)。电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE) 最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限于 UNIX。 许多其它的 *** 作系统,例如 WinNT,都支持 POSIX 标准,尤其是 POSIX1。POSIX1 提供了源代码级别的C 语言应用编程接口(API)给 *** 作系统的服务程序,例如读写文件。POSIX1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。

6SYSV和BSD扩展

可以理解为和SYSV和BSD源代码级的兼容。简单一点,就是Linux下的应用程序同时也能在这两个系统上运行。SYSV和BSD也是两个 *** 作系统,不知道这两个系统是什么?那就往下看。

7GPL(General Public License)

公用许可证,下文会有详解。

12发音问题

121 linux的发音

linux发音是五花八门版本颇多,就笔者见到和听到的不下10种。对这种情况,据说,linux的创始人Linus(Linus Torvalds)针对读音分歧较多的情况,特意录了一段他对Linux的发音。这段录音的内容是这样的:“Hello,this is Linus Torvalds and I pronounce Linux as Linux”。我听出来的是/'li:nэks/,综合网上和linus自己的读音,概括出几个自认为最合适也最通用的读法:/Li'nQks/(“里那克斯”)或/'li:nэks/(“里呢克斯”)或/Li'nu:ks?/(“里纽克斯”)。这几个应该是谁都听得懂的。至于哪个比较正宗,当然是linus的原音。但事实上似乎使用linus那种读发的人并不在多数。

提示:上面的这段录音可以在RedHat中调试声卡的时候可以听到,如果你的声卡调试成功,系统会播放上面一段声音以示成功。

122 Linus Torvalds的发音

我们还应该了解一下其作者名子的发音。毕竟是一个人的名子,没人敢随便念。基本上比较统一。在英语中,Linus Torvalds(/li'nus 'tRwR:z/)中文就是“李纽斯·托沃兹”,也有翻成“李纳斯·托沃兹”的。但是你有机会听上面提到的那段录音,可以发现他念的是“李纽斯·托沃兹”。一般我们称他为linus先生,也就是“李牛死”。

2、体系结构概述

按照Garlan和Shaw提出的Linux *** 作系统分层方法:Linux *** 作系统分为4层次,即四个子系统,分别是用户进程、系统调用接口、Linux内核、硬件控制器。下面简单介绍一下这四个组成部分。

用户进程:用户应用程序是运行在Linux *** 作系统最高层的一个庞大的软件及核。当一个用户程序在 *** 作系统之上运行时,它就是 *** 作系统的一个进程。计算机不同,程序的集合大小会有所变化。

系统调用接口:为了在应用程序中实现特定的任务,可以通过系统调用来调用 *** 作系统内核中特定的过程,以实现特定的服务。一般认为,这些调用和服务业时 *** 作系统的一部分,内和编程接口也属于这一部分。系统调用本身也是由若干条指令组成的,但与一般过程不同的是:系统调用运行在内核模式,而一般的进程运行在用户模式。

Linux内核:内核式 *** 作系统的灵魂,包括内核抽象核对硬件资源(如cpu)的间接访问,它负责管理磁盘上的文件、内存,负责启动系统并运行程序,负责从网络上接收和发送数据包等等

硬件:这个子系统包括了Linux安装时需要的所有可能的物理设备。

3、Linux内核

从程序员的角度来讲, *** 作系统的内核提供了一个虚拟的机器接口。它抽象了许多硬件细节,程序可以以某种统一的方式来进行数据管理,而内核将所有的硬件抽象成统一的虚拟借口。

Linux以统一的方式支持多任务,而这种方式对用户进程是透明的,每一个进程运行起来就好像只有它一个进程在计算机上运行一样,独占内存和其他的硬件资源。实际上内核在并发的运行几个进程。并且能够让几个进程公平合理地使用硬件资源,也能使各个进程之间互不干扰安全的运行。读到这里你就明白了为什么linux不会象windows那样常死机、蓝屏。linux如果使用图形界面可能会发现计算机好像死机了,其实没有死,而是某个进程死了,可能就是你的kde,gnome杀死这个进程就可以了不必reset

Linux内核也要完成一般 *** 作系统必须完成的任务:

对文件系统的读写进行管理,把对文件系统的 *** 作映射成对磁盘或者其他块设备的 *** 作,Linux系统把所有的设备对定义为文件了,哈哈,这可与windows不同。

管理程序的运行,为程序分配资源,并且处理程序之间的通讯。

管理存储器,为程序分配内存,并且管理虚拟内存

管理输入输出,将设备映射成文件。

管理网络:有“网络之子”之称的Linux,对网络的管理可是她的强项。使用Linux你就会感受到它的网络功能的强大,可以使用Linux模拟强大的Csico高级路由器,那种感觉真实太棒了,只要几百块钱买一台486的计算机哦,就可以在上面自己构造强大功能的路由器,是不是动心了,哈哈,不过软件实现的路由器性能肯定比不上硬件路由器。

内核必须包含虚拟文件系统(VFS)管理程序以及各种具体文件系统映射成VFS的程序。这可是Linux较有特设的一部分,这就是为什么Linux支持的文件系统(minix文件系统、ext2/ext3文件系统、msdos/vfat/ntfs文件系统、iso9600CD-ROM的标准文件系统、hpfs OS/2用的文件系统、ufs/sysv 文件系统)很多的原因。对于内存的管理,Linux使用虚拟存储管理方式,利用现代处理器的页面映射能力,在x86处理器上,Linux使用4GB的地址空间, *** 作系统处理利用物理存储器外还支持将硬盘空间映射成虚拟内存。所有的存储器(物理内存和虚拟内存)被分成大小相等的页面,系统通过给出页号和页面内偏移量对某个内存地址进行访问。物理内存紧张的时候, *** 作系统把某些没有使用的页面从内存移动到硬盘上以便腾出空闲的页面供程序使用,这个过程叫做交换(SWAP)Linux使用交换分区来处理交换需要的虚拟存储空间,在硬盘上开设一个独立的分区专门用于映射虚拟内存,交换分区可以有多个,之所以这样是因为早期的Linux核心要求每一个交换分区不能超过128MB对于较重负荷的服务器,交换内存用到256MB甚至更多都是很正常的事情,因此那时的系统经常有多个交换分区。目前这个限制已经去除。

内核的另外一个任务是执行用户程序,为此核心必须支持可执行格式。Linux使用多种可执行文件个时,诸如elf、aout等等,这可与windows不同,没有办法从名字上区分一个文件到底是什么格式,核心只关心二进制文件的具体形式。

linux内核由五个主要的子系统组成:进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)、进程间通信(IPC)。进程调度处于核心位置,所有的子系统都依赖于它,因为每一个子系统都需要挂起或者恢复进程。一般情况下,当一个进程等待硬件 *** 作完成时,它会被挂起;当 *** 作真正完成时,进程恢复执行。各个子系统之间的依赖关系如下:

进程调度与内存管理之间的关系:这两个子系统互相依赖。在多道程序环境下,程序运行必须为之创建进程,而创建进程的第一件事就是要将程序和数据装入内存。

进程间通信与内存管理的关系:进程间通信子系统要依赖内存管理支持共享内存通信机制。这种机制尤许两个进程除了拥有自己的私有内存外,还可存取共同的内存区域。

虚拟文件系统与网络接口之间的关系:虚拟文件系统利用网络接口支持网络文件系统(NFS),也利用内存管理支持RAMDISK设备

内存管理与虚拟文件系统之间的关系:内存管理利用虚拟文件系统支持交换,交换进程定期地由调度程序调度。

也可参照以下网址:>

给你一个嵌入式Linux *** 作系统学习规划吧

希望对你有所帮助

ARM+LINUX路线,主攻嵌入式Linux *** 作系统及其上应用软件开发目标:

(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)

(2) 必须掌握一个嵌入式 *** 作系统 (初步定为uclinux或linux,版本待定)

(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。

从事嵌入式软件开发的好处是:

(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。

(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。

(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

(4)兴趣所在,这是最主要的。

从事嵌入式软件开发的缺点是:

(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是 *** 作系统级软件功底不深,则可能不适于此行。

(2)这方面的企业数量要远少于企业计算类企业。

(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。

(4)平台依托强,换平台比较辛苦。

兴趣的由来:

1、成功观念不同,不虚度此生,就是我的成功。

2、喜欢思考,挑战逻辑思维。

3、喜欢C

C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下:

相信程序员。

不要阻止程序员做那些需要去做的。

保持语言短小精干。

一种方法做一个 *** 作。

使得它运行的够快,尽管它并不能保证将是可移植的。

4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。

5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。

方法步骤:

1、基础知识:

目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是 *** 作系统级软件,那将是我的优势。

科目:数字电路、计算机组成原理、嵌入式微处理器结构。

汇编语言、C/C++、编译原理、离散数学。

数据结构和算法、 *** 作系统、软件工程、网络、数据库。

方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。

主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。

2、学习linux:

目的:深入掌握linux系统。

方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是011版,适合学习。最后深入代码。

主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。

3、学习嵌入式linux:

目的:掌握嵌入式处理器其及系统。

方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。

(2)嵌入式 *** 作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。

(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。

主攻书籍:毛德 *** 的《嵌入式系统》及其他arm9手册与arm汇编指令等。

4、深入学习:

A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。

B、通信协议及编程技术:TCP/IP协议、80211,Bluetooth,GPRS、GSM、CDMA等。

2010-8-21 16:46 回复

12290173 2楼

C、网络与信息安全技术:如加密技术,数字证书CA等。

D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。

说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。

注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。

不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻**。还有一些不愿意做但必须要做的!

技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。

嵌入式书籍推荐

Linux基础

1、《Linux与Unix Shell 编程指南》

C语言基础

1、《C Primer Plus,5th Edition》美Stephen Prata着

2、《The C Programming Language, 2nd Edition》美Brian W Kernighan David M Rithie(K & R)着

3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)

4、《嵌入式Linux应用程序开发详解》

Linux内核

1、《深入理解Linux内核》(第三版)

2、《Linux内核源代码情景分析》毛德 *** 胡希明著

研发方向

1、《UNIX Network Programming》(UNP)

2、《TCP/IP详解》

3、《Linux内核编程》

4、《Linux设备驱动开发》(LDD)

5、《Linux高级程序设计》 杨宗德著

硬件基础

1、《ARM体系结构与编程》杜春雷着

2、S3C2410 Datasheet

英语基础

1、《计算机与通信专业英语》

系统教程

1、《嵌入式系统――体系结构、编程与设计》

2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德 *** 胡希明着

3、《Building Embedded Linux Systems》

4、《嵌入式ARM系统原理与实例开发》 杨宗德著

理论基础

1、《算法导论》

2、《数据结构(C语言版)》

3、《计算机组织与体系结构性能分析》

4、《深入理解计算机系统》美Randal E Bryant David O''Hallaron着

5、《 *** 作系统:精髓与设计原理》

6、《编译原理》

7、《数据通信与计算机网络》

8、《数据压缩原理与应用》

C语言书籍推荐

1 The C programming language 《C程序设计语言》

2 Pointers on C 《C和指针》

3 C traps and pitfalls 《C陷阱与缺陷》

4 Expert C Lanuage 《专家C编程》

5 Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs

《编程精粹--Microsoft 编写优质无错C程序秘诀》

6 Programming Embedded Systems in C and C++ 《嵌入式系统编程》

7《C语言嵌入式系统编程修炼》

8《高质量C++/C编程指南》林锐

尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。

这里很多书其实是推荐而已,不必太在意,关键还是基础,才是重中之重!!!

程序源用linux一般是做调试,因为安卓本就是基于linux的,所以有些程序在linux下调试显得很方便,而linux自带的bash很强大!最重要的一点就是在用linux编程时,不会有广告打扰!

一、工具篇

“公欲善其事,必先利其器”。编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具。

1、 *** 作系统

在UNIX或Linux系统中学习C很方便,所以在开始您的学习旅程前请先选择一个UNIX或Linux *** 作系统,目前可供个人免费使用的UNIX或Linux系统有FreeBSD、RedHat Linux、SUSE Linux等,而且在安装包中还提供很多实用的工具,如:gcc, make等。

如果您一直使用Windows,身边又没有多余的机器安装UNIX,则可以使用VMware,通过VMware安装虚拟系统。

2、编译工具

目前绝大多数Unix或Lnux系统都提供CC或GCC编译器,最简单的cc命令格式如下:

cc -o hello helloc

在unix shell环境中敲入上面的代码会将helloc程序编译成可执行文件hello。

3、make工具

如 GNU make、System V make 和 Berkeley make 是用来组织应用程序编译过程的基本工具,但是每个 make 工具之间又有所不同。

大部分UNIX和Linux程序都是通过运行make来编译的。

make工具会读取一个包含指令的文件(这个文件的名字通常都是 makefile 或 Makefile,不过后文中我们统一称之为 “makefile”),并执行各种 *** 作来编译程序。

4、调试工具

最简单的调试工具:为你的程序添加打印语句,在你对程序的运行机制有了一定的了解后,你可以实用一些工具帮助你进行调试,当然你得学习一下这些工具得使用,如:dbx,gdb等。

还有一些内存工具可以帮你查找内存泄漏或缓冲区溢出等一些问题,如:memwatch,yamd等。

5、其他工具

1)vi或vim

Unix下文本编辑器。主要靠一堆命令来编辑文本文件,学Unix编程最好熟悉并熟练使用vi编辑器。

当然在实际工作中,你可能需要一个集成编码环境或一个功能强大的图形化编辑工具。

提供一个中文的vim在线手册:>

以上就是关于Linux运维工程师须掌握的基础技能有哪些全部的内容,包括:Linux运维工程师须掌握的基础技能有哪些、做linux后台开发需要对linux *** 作系统学习到什么程度、有谁可以提供一些Linux系统概述的资料,要快,非常感谢。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9514572.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存