如何才能学好linux?

小虎55617193


初学入门Linux的话,可以先安装一个桌面版的Linux虚拟机(Ubuntu、CentOS7等都行),以熟悉常用命令为主,待基本掌握环境后,可以研究一下内核源码及常用服务器的搭建,加深理解和应用,下面我简单介绍一下Linux的学习过程,感兴趣的朋友可以尝试一下:

01

安装Linux

这里建议安装一个桌面版的Linux虚拟机(Ubuntu、CentOS7等发行版本都行),初学入门的话,如果对Linux完全不熟悉,安装迷你版会非常不适应,许多功能和包都需要自己适配下载,可以先使用桌面版,不至于完全手足无措,后期熟悉环境后,可以使用无界面版,操作起来也会非常容易:

02

入门Linux

Linux虚拟机安装好后,就是Linux基础入门,这里网上教程和资料非常多,像慕课网、菜鸟教程、B站等都有大量优质视频和文档,当然,你也可以找一本专业的Linux书籍,一边学习一边练习,《鸟哥的私房菜》就非常不错,覆盖面比较广,讲解的也非常细致,常见的基础命令和配置等都要熟悉掌握,这些是使用Linux的基础:

03

深入Linux

Linux基础熟悉后,就是深入Linux的过程,这里可以学习和研究的东西就非常多了,基础的Linux应用,包括服务器搭建、嵌入式开发等,都有非常光明的前景,当然,你也可以研究一下Linux内核,包括内存管理、进程管理、文件系统、驱动等,对于深入理解操作系统来说,可以说是大有裨益:

目前就分享这么多吧,Linux入门来说,其实非常容易,只要你多用多练,很快就能掌握的,后期深入Linux,可以研究一下常见服务器的搭建以及内核源码,对于自身发展来说,非常有益,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。


小小猿爱嘻嘻


对于这个问题作为一个在linux下开发代码十几年的人,忍不住说几句

任何一门技能的学习,想要学精学透,都要付出巨大的努力,尤其是一些专业性比较强的技能,更需要持之以恒长期不断的投入大量的精力去学习和实践,比如linux的学习,就是一门专业性非常强的技能,如何能学好这项技能。

如何才能学好那?

思想上的重视

首先要明白自己为什么要学习linux,学习linux能给自己带来什么,也就是说要知道学好linux对自己的重要性。当从思想上认识到一件事对自己的重要性有多大的时候,就会投入多大的精力去做这件事。

行动上的具体

有了思想上的重视,下面就需要具体的行动

(1)从基础知识学习,打好基本功;任何一门新知识的学习,都要了解它的一些基本内容,基本概念等等,这样就需要找一本介绍linux的专业书籍,先大致了解一下linux的相关内容,不至于后期学习linux的时候,连一些最基本的专业名称都搞不懂。

(2)勤学多练,多多思考;linux是一门实用性非常强的技术,基础理论的学习就是为了应用的更好实现,应用的实现反过来也会使理论的知识更加巩固;找一套功能比较齐全的开发板,在开发板上实现各种功能,不断地去实践,带着问题去寻找答案,当看着自己设计的功能在开发板上实现,会乐此不彼。

(3)拓展知识面,不断强化练习;linux的应用非常广泛,所有想要学好linux,需要学习拓展的内容也非常多,平长就需要关注一些专业的社区或论坛。理论知识学得再多,最终还得让其变为现实,所以不断的强化练习是少不了的,只有不断地强化练习,才能做到“熟能生巧”,


总之,学好 Linux 绝非一朝一夕之事,时间、知识的积累是必不可少的


大学生编程指南


本人学习linux也有段时间了,说一下自己的感受吧。最早的时候,听网上大神们说,学linux要在纯命令模式下,才能学到真正的技术。于是本人也在自己的电脑上面安装了纯命令模式的centos,以期待自己能够像技术大牛一样。但是安装完之后,面对着黑乎乎的屏幕只能干瞪眼,真的不知道接下来要干什么,有种束手无措的感觉。听说linux上面有自帮助文档,可以尝试敲敲help、info或者man之类的,但是面对着密密麻麻的英文,我这种过了英语六级的人看着都头大,虽然能看懂,但是明显感觉效率很低。所以这种情况下手头最好有本参考书来指引一下。但是即使有参考书加持,在你遇到问题的时候,还是会比较懵逼,这时候最好的老师就是网络搜索,本人也尝试安装了命令行模式的浏览器,但是使用体验是真不如图形界面下的浏览器。所以根据本人的实践经验,在你对linux有一定的了解之前,还是建议在图形界面下学习吧。毕竟遇到问题可以随时网上查资料。初学者真的不建议用纯命令模式,学习效率是真的很低下。

综合以上,本人建议初学者,在自己的电脑上面通过虚拟机安装图形界面的linux,图形界面的linux也能让你对linux有一个直观的感受。所有的linux图形界面发行版都会自带terminal软件,一般在桌面上右击,打开的菜单中就会有terminal选项,学习的时候只需要在terminal中敲命令,遇到问题也可以很方便的通过网络搜索获取答案。

最后说一下本人对命令的理解,这是我在最开始学习linux的时候困扰最久的问题。很多教程上来就是叫你敲命令,ls、cd、pwd这些,反正都是让你要多实践。你也跟着书上敲,一遍一遍实践。但是很多人都不明白自己一遍一遍敲的这些命令到底是个什么东西,都是在懵逼状态下跟着敲的,实践的再多也是一知半解的。本人认为,在学习一样东西的时候,最好能先了解一下基础原理。这样在学习的时候心里有底儿。我们在命令行下敲命令的时候,其实是在跟一个叫shell的程序打交道,shell会根据用户敲的命令名字,在环境变量PATH指定的路径下寻找和命令名字匹配的一个可执行文件,找到后shell会创建一个子进程,在子进程中加载并执行该可执行文件。所以我们平时敲的大部分命令都是一个已经存在的可执行文件,那么这个可执行文件放在哪里呢,通过whereis就可以看到命令所对应的可执行文件的路径了,例如要看看ls这个命令在哪里,就执行 whereis ls就可以看到ls的路径了。如果你把这个文件删掉,那么shell就会告诉你找不到这条命令。大部分命令都是一个可执行文件,但是我们在用whereis查看cd命令的可执行文件路径的时候,shell的输出是这个样子的:“cd:”,竟然没有路径名,这是什么鬼? 这是因为cd是shell的一个内置命令,不以可执行文件的形式存在。所以咱们平时敲的命令主要分为两种,一种是以可执行文件存在的外部命令,一种是没有可执行文件的内置命令。这里的外部和内置是从shell的角度说的。那么怎么判断一条命令是shell内置命令还是外部命令呢,用type查看就可以了,比如查看cd,在命令行下敲type cd,shell的输出是cd is a shell builtin。那么cd就是一条shell内置命令。\r\r说了这么多,好像还没有解释shell是什么东西,shell是一个命令解释器,其实shell和咱们敲的这些命令都是一样的,都是运行在linux内核之上的应用程序,在内核的眼里都是内核要调度执行的进程。这些进程在运行之前,都是一个一个的可执行文件。只是shell是在linux启动之后就会由init进程自动加载执行的。他也对应着一个可执行文件。可以通过查看/etc/passwd文件中每条记录的最后一个字段查看每个用户在启动后执行的shell可执行文件路径,也可以通过SHELL环境变量查看当前启动的shell。echo $SHELL

希望本人的回答能对你有所帮助。文中观点不一定正确,欢迎留言讨论





linux基础学习


欢迎投身到Linux大家庭!

  朋友们好,我是系统软件产品经理,计算机科学与技术工学硕士,“用大白话讲解天马行空的技术原理”践行者。欢迎关注我,了解更多业界知识,和我一起探索数据后面的真相。


  和学习任何一项技能一样,要学好Linux要注重理论和实践的结合,尤其是实践非常重要。Linux系统的操作经常会涉及到使用命令行和shell脚本来实现一些奇思妙想的操作,所以熟练的使用常用的命令是学好Linux的关键。



首先你需要一本好的入门教材

这一本教材不一定大而全,但是一定要精炼有趣。因为开始学习Linux的时候对Linux系统不够熟悉,并且使用习惯上和windows非常不一样,所以需要保持浓厚的学习兴趣。教材的内容最好是那种一个一个小实验的,不会花费很多时间并且还很有成就感那种。这样不至于在学习初期因为没有成就感导致枯燥无味影响学习效果。一般来说初学Linux都推荐经典教材《鸟哥的Linux私房菜》。我个人不太推荐这本书,因为它上来就介绍了很多关于Linux系统的理论知识,学吧,非常枯燥,不学呢,又担心会对后面学习产生影响。

我推荐的是刘遄(音chuan)的《Linux就该这么学》

这本书非常注重实战,基本上是手把手教你从怎样使用虚拟机安装Linux系统开始,到常用命令操作,一步一步再向配置各种服务和高级运维等话题深入。

这本书的电子版是免费下载的。请使用搜索引擎搜索:Linux就该这么学。


其次你需要一个合适的Linux发行版

如果你意在考证,那么CentOS7可以帮助你实现练习RHEL认证所需要的绝大部分技能;

如果你是自己作为日常生活或者工作开发的主力机,我会推荐你ubuntu或者Manjaro。前者是老牌Linux桌面系统,成熟稳定,网上相关的资料也很多;后者是基于ArchLinux的新秀,最近两年很受热捧,事实也确实很好用,我编写这篇回答就是在Manjaro系统上完成的。Manjaro不但系统稳定流畅(我10年老笔记本现在都可以流畅的跑),而且还有众多漂亮的桌面。


第三你需要一颗坚定持久的耐心

学习Linux不是一日而成一蹴而就的,因为Linux很多地方需要交叉查询资料,多思考多动手,按照教材一步一步反复练习,直到能在使用Linux命令的时候不再需要使用搜索引擎查询用法了。


第四是要不断实践不断提高

Linux是一个很庞大的工程,当你入门了之后,就要注意结合自己具体的项目实践深入Linux的深层次理论——如果没有项目,就自己给自己设计一个。对于非程序员来说,重要的部分是使用,那么shell编程就是必学的,即便是没有从事编程工作也要学。


第五逼着自己用Linux完成所有事

我从2009年正式从windows投入ubuntu9的怀抱,刚开始的时候很不习惯,总是想切回windows,享受安逸区带来的便利。结果就是半年过去了仍然不能熟练使用ubuntu。然后我一咬牙,干脆把windows格式化了,电脑上只留下ubuntu,逼着自己用ubuntu做事。从此我就再没有用windows作为主力系统了。


总结

学无止境,Linux的学习也没有止境,毕竟它是一个开放的不断发展的系统,自学Linux和参加培训其实在本质上效率不会相差很多,只要找对路子,跟着我介绍的这几个方向,一定可以事半功倍,早日修成高手。



如果觉得我说的对你有帮助,还请动动小手点个赞、加个关注: )
欢迎朋友们在评论中发表自己的观点。

产品经理老胡


Linux毕竟只是个操作系统,只要掌握了正确的学习方法,不会有多难。今天咱们就好好看看,Linux到底怎么学才是正确的学习方法。转自——马哥linux运维

一、从命令开始从基础开始

常常有些朋友一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解 Linux系统:

●安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh

●文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln

●系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last

●网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup

●系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho

二、选择一本好的Linux书籍

在各个Linux论坛中,我们看到最多的问题往往是某个新手,在安装或使用linux的过程中遇到一个具体的问题就开始提问,很多都是重复性的问题,甚至有不少人连基本的问题描述都不是很清楚。这说明很多初学linux的人还没有掌握基本功。怎样才能快速提高掌握linux的基本功呢? 最有效的方法莫过于学习权威的linux工具书,工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于 linux的书籍有很多不过精品的不多,笔者强烈建议阅读《鸟哥的Linux私房菜 基础篇》,现在出到了第三版。新手最好能够买一本纸版书来仔细研读,并认真做好学习笔记。当然,如果习惯看电子书,也可以从这里 下载 PDF电子书。

三 、养成在命令行下工作的习惯

一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。即使是通过一条缓慢的调制解调器线路,它也能操纵几千公里以外地远程系统。

四、用Unix思维思考Linux

由于Linux是参照Unix的思想来设计的,理解和掌握它就必须以Unix的思维来进行,而不能以Windows思维。不可否认,windows 在市场上的成功很大一部分在于技术思想的独到之处。可是这个创新是在面对个人用户的前提下进行的,而面对着企业级的服务应用,它还是有些力不从心。多年来在计算机操作系统领域一直是二者独大:unix在服务器领域,Windows在个人用户领域。由此可见,用户需求决定了所采用的操作系统。不管什么原因,如果要学习Linux,那么首先要将思维从Windows的“这个小河” 中拖出来,放入Unix的海洋。

五、学习shell

对于Shell(中文名称壳),习惯Windows的读者肯定是非常陌生的,因为Windows只有一个“Shell”(如果可以说是Shell的话),那就是Windows自己。用一句话容易理解的解释就是,shell是用户输入命令与系统解释命令之间的中介。最直观的说法,一种Shell有一套自己的命令。举一个容易理解的例子,Linux的标准Shel是Bash Shel;Solaris的shell是B shell;Linux的Shell是以命令行的方式表现出来的。读者可能会不理解,Windows从命令行“进化”到了图形界面,那么Linux现在还使用命令行岂不是一种倒退?

当初我刚刚接触Linux时就曾有过这种想法。可是后来发现,如果使用图形界面,那么分配给应用软件的资源就少了,在价格昂贵的服务器上,能够以较低的硬件配置实现同样的功能是非常重要的。

下面举例说明,一台服务器有1GB内存,假设其中512MB用于处理图形界面,若要安装一个需要784MB内存的数据库软件,惟一的办法就是扩大内存。但是如果使用命令行,系统可能只需要64MB内存,其它的内存就可以供数据库软件使用了。使用命令行,不仅是内存,而且CPU及硬盘等资源的占用都要节省很多。所以,作为服务器使用命令行是优点而不是缺点。既然Shell有这么多优点,就必须要学习它。


精致的猪猪2


linux系列有两种发行版本

1).Red

Hat系,包括RHEL、fedora、centos等

2).Debian系,包括Debian、Ubuntu、Mint等

想要学习的话如果个人学习,推荐使用Ubuntu。如果是工作的话,则使用centos学习

1.学习Linux,首先就是安装Linux系统,通过镜像安装,这个过程可以先大概的了解一下linux的启动过程,对一些概念有个大致的印象

2.在安装好的系统之上,学习一些基本命令的操作,比如ls . 列出当前文件夹下的子文件和子目录,cd /root 切换到root的目录下,top命令查看一些进程的cpu,内存等资源的使用情况,ps命令同样也可以查看进程的内存等资源使用情况,pwd查看当前所在的路径等等,将这一些命令熟练的掌握

3.在掌握了linux的一些基本命令之后,那么可以进行一些服务的安装搭建练习,比如在Linux下安装搭建DNS服务器,搭建nginx服务器等等

4.进阶阶段的话,可以尝试进行内核参数的调优,比如tcp关闭连接之后保持高速通道,扩大linux系统的最大句柄打开数之类的内核参数的优化,sysctl -a可以查看目前已经加载的内核参数

5.学会了造句子,那么之后就可以写作文了。同理学会了linux的命令之后,那么可以学习一下shell的基本语句,awk sed的学习,用shell实现一些特定功能的脚本,比如可以通过cat /proc/cpuinfo加上awk命令来实现对cpu相关信息的统计等





桓艺恒


学习linux系统就有了四种任务可选:

第一种是桌面linux的学习;

第二种则是作为服务器系统的学习;

第三种是移动设备系统知识的学习;

第四种则是嵌入式专用设备系统知识的学习。

学好Linux系统不容易。但是学好Linux系统绝对值得。而且,学好Linux系统后,Iinux系统足够成为你一生的有趣职业。而桌面版本linux系统ubuntu也足以保证人们的办公需要。现在地球上如火如荼的互联网系统里,90%以上服务器以至于智能终端中都奔跑着Linux系统,可以准备地说,地球上的互联网系统是由linux系统支撑起来的。

笔者使用Linux用戸量最大的ubuntu大约十年功夫。已习惯于ubuntu桌面办公;也用ubuntu来开发应用与作系统布署。LinuX一直以服务器稳定安全闻名于世,其实以ubuntu为代表的桌面版操作系统同样可与windows与苹果桌面版相媲美。

windows系统最擅长的是桌面操作系统,当然这也是目前应用市场经济收益最高的市场。但是linux系统起源于开源社区,组成linux的大部分系统都开源。因为开源的原因,全世界的编程高手都可以分享linux的历史成果,也可以随时为这个linux系统贡献自己的研究高质量程序代码!

信息安全被全球人类认识之后,各主权国家都开始开发自己的国防与文化安全的计算机操作系统,基于计算机系统的复杂性,绝大部分90%新系统都基于linux之上开发。从这种角度来看,未来linux桌面应用教育培训人才的需要将特别巨大。类似于windows桌面办公系统linux桌面版知识也将示来linux人才必须研究的任务。不过基于图形桌面系统的linux办公应用系统,比如电影制𠈠作系统、文字数学办公工具、3D制作软件等等输掉件工具……

正是因为ubuntu有了精致的图形桌面系统,ubuntu不光可以进行桌面系统应用学习,同时也可以做为大型网络开发平台与服务器系统进行学习;linux系统还可以用作移动系统操作系统(比如安卓);linux系统还可以作用大量嵌入设备的操系统。

从这个角度来看来,学习linux系统就有了四种任务可选,一种是桌面linux的学习,第二种则是作为服务器系统的学习;第三种是移动设备系统知识的学习;第四种则是嵌入式专用设备系统知识的学习。

图:linux服务器系统的知识框架

windows系统最擅长的是桌面操作系统,当然这也是目前应用市场经济收益最高的市场。但是linux系统起源于开源社区,组成linux的大部分系统都开源。因为开源的原因,全世界的编程高手都可以分享linux的历史成果,也可以随时为这个linux系统贡献自己的研究高质量程序代码!

目前移动设备的安卓手机系统其实也是奔跑在linux系统之上。现行全球80%以上的移动应用APP都基于linux系统之上为人们提供娱乐服务、通讯服务和移动办公服务。也因为安卓系统的风行,以往基于windows桌面办公系统的绝大部分应用系统都重新发布于适于安卓系统的轻型应用版本。


创新炎黄


我说说自己的经历吧。

很小时候家里刚有电脑的时候还是XP时代(刚开始有Vista),我不知道那里看到了一本介绍各种系统安装的电子书,里面包括了win95,win98,winXP,Red Hat,红旗等等系统的安装教程。

当时就很感兴趣,就经常拿老爸的2G手机搜这些系统相关的资料,那时候还找到了Tiny Core Linux,号称全世界最小的Linux。在这之后就对Linux很感兴趣,玩过号称最好看的openSUSE,玩过感觉最简洁的Fedora,还有最容易上手的Ubuntu,当然还有国产的深度系统、StartOS,台式机玩Android X86,还废寝忘食爬了几个月的远景论坛,搞黑苹果。确实兴趣是最好的老师,在这个过程中自己慢慢学了很多Linux知识。

后来慢慢往码农方向发展,慢慢熟悉shell,学习Linux更加深入的应用,学习搭建服务器,学习常用的软件,工具使用,慢慢觉得Linux真的是个伟大的操作系统。


JasonJe


安装一个虚拟平台

  1. 可以在win10下面安装一个hype-v,具体操作如下,在控制面板---程序和功能---Hyper-V。

  2. 安装一台Centos7虚拟机,具体操作如下:

  3. 当然你也可以安装一个workstation来虚拟一台Centos系统。

练习

  1. Linux系统安装好了,你就可以使用远程工具SecureCRT连接上去执行命令,这个时候你就可以找一本书或者是一个网站,照着上面的命令一个一个的练习,这个过程是非常考验人的,你一定要坚持下去,熬过这个阶段你就会好过了,当然这个阶段你需要找更多的资料和网站上的视频来练习。

  2. Linux基础命令
    1、Linux常用命令:
    ls cd useradd cat ifconfig vim ps df rm cp chown chmod free top tail
    head grep find awk sed mv ln lsof chkconfig mkdir touch tar yum wget zip
    crontab netstat curl rsync ssh scp rpm du fdisk fsck.ext4 mount umount which who wc
    2、Linux常见服务:NTP DHCP NFS SAMBA VSFTPD HTTPD MYSQL PHP NGINX TOMCAT LVS KEEPALIVED SQUID IPTABLES MEMCACHED REDIS MQ ZABBIX CACTI NAGIOS LAMP LNMP MYSQL主从。

    综上所述

Linux不是一个可以速成的课程,本身Linux起点都高于Windows系统,请不要听信机构的鬼话,什么3月速成,那也就是让你背个题库考试而已,你要学习Linux就要静下心来,对着那黑糊糊的屏幕去捣鼓,一个服务你只有不下20遍的练习你才能做到熟能生巧,以上只是个人见解。

兰亭溪山


说到linux系统,想到我刚接触到linux,跟学生时期学一门课程样,感觉好复杂,内容多,好难记。现在从事这liunx几年工作经验了。

下面交流下我的linux学习心得。

首先要了解linux系统和windows系统的区别。windows系统主要是图形操作系统,操作上更直观,个人工作,娱乐上用的多。

linux系统主要命令操作系统,90%后台服务器都是用的linux系统。虽然现在也有图形操作界面,但对一个真的从事linux系统工作的人,用的不多。

下面图是linux系统文件系统架构,看起来是不是很复杂,不要急,等你入门了之后也就这么回事。我这贴出来就更直观展示与windows系统区别。

做一个新手来说找一本linux相关书籍过一下,不管能懂多少,记住多少,做到心里有个数就行。主要了解linux系统,linux系统启动过程,linux系统目录结构,linux文件基本属性,linux文件与目录管理,linux用户与用户组管理,linux磁盘管理。

对linux有个大概了解后,自己电脑上弄个虚拟机装个linux系统,再把学习linux知识,命令在虚拟机上操作,这个对linux系统架构,目录结构,文件权限等深入理解有非常大的帮助,对linux命令的理解和记忆是最靠谱的,孰能生巧的必备工具。

linux系统熟悉后,就可以学习shell编程,懂shell编程的才称得上linux大神。这里就不多嘴怎么学习了。网上有很多网站介绍怎么学习shell编程的。

最后介绍下学习liunx相关书籍。《鸟哥的linux私房菜》(这本书也是我初学习linux系统的主要来源,不过有点老了),《linux从入门到精通》,《linux就该这么学》等。


分享到:


相關文章: