{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

自学linux应该学哪些内容呢?

RiddlerRiddler 回答0 收藏1
收藏问题

10条回答

ixlei

ixlei

回答于2022-06-27 16:55

新手学习linux方向大概如下:

1.先学习linux的基本命令,比如:cd,ls,cp,mv,mkdir,rm,cat,touch增删改查等等命令。

2.熟悉基本的操作后学习linux相关文件权限命令,比如:useradd,groupadd,passwd,chmod等等命令。

3.然后在学习更进阶一点的命令,比如:进程管理,磁盘管理,网络管理,文件管理等等相关的命令。

4.最后再学习下linux的软件安装卸载和shell脚本等等吧!然后多实际操作下搭建各种软件环境,基本就可以出师了。

评论0 赞同0
  •  加载中...
RaoMeng

RaoMeng

回答于2022-06-27 16:55

我说说我是怎么学的,现在学到什么程度,遇到哪些问题,困扰在哪里这些问题。

我是怎么学的:我是18年初买的第一个树莓派3B,刷了centos系统(我主要学习centos),刷系统比较简单,后来又买了3B+,4,和miniPC都是装的centos系统,Windows虚拟机也做一个系统。用树莓派0W做了两个项目。第一本书一定是鸟叔的Linux私房菜,版本2和3,这本书比较全面。一年写笔记20万字左右。

现在学到什么程度:现在可以自己做FTP服务器;外挂硬盘;文件服务器;常用命令;systemctl用法;用户操作;Vim操作比较熟练;可以写一shell脚本;比较了解系统结构;了解个文件夹作用;会用top看系统情况等。

遇到那些问题:Linux的变量比较复杂,操作也复杂,难!正则表达式难!sed,grep,等命令用的不熟练。群组操作没怎么练习,不熟练。

困扰:不知道现在该学什么,基本操作基本会了。现在处于不断学习阶段,下一步学什么不知道。(这期间学习了Python,基本入门)。

这就是我的学习历程,算经验,深入运维学的不好,没有环境,希望有机会提高。

评论0 赞同0
  •  加载中...
Jiavan

Jiavan

回答于2022-06-27 16:55

您好,更高兴为您回答问题。

LINUX,我学习了4年,目前我的职位是一名数据库运维工程师,对于linux的学习,我想我这个从网络毕业,变成linux运维方面的工作者蛮有心得。

基础概念

linux和苹果系统,微软系统一样,承载应用服务的底层架构,我们要学习linux,首先一定要了解它的概念。

Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。

linux有很多分支,redhat,debian等,根据不同的用户需求,被包装成不同的系统,可基础还是linux或者说unix。

操作命令

linux使我感兴趣,很重要的原因是命令,敲键盘可不是程序员的特权。

但使用linux,一定要明白命令的意义,否则,会造成无法弥补的后果。

linux主要的命令是文件系统,操作系统,程序管理相关,其他命令都是由其他搭载在上面的服务器提供。

开源程序

自学linux,最好是结合一个项目去学,比如docker,比如heartbert。

应用程序部署,会让你发现很多基本原理以及命令概念,其实linux并不复杂,只要用心,我们专注发现问题,就可以很快的切入其中。

开源程序是学习linux的辅助工具,我们在研究过程遇到的问题便是我们学习的内容,怎么去克服报错,怎么去分析报错,怎么去处理报错,层层揭开linux的秘密。

结语

兴趣决定我们学习的高度,如果你是因为工作或者其他需求要自学,一定要系统的学习,不要出现操作失误。

但如果你是因为兴趣学习,我想你回答发现linux十分有趣。

评论0 赞同0
  •  加载中...
toddmark

toddmark

回答于2022-06-27 16:55

linux很杂的,所以初期阶段你不用看学习什么内容,基础的都学就行了,这里可以看中国人写的基础书籍,上手快,外国翻译过来的反正我是看的很吃力,不太适合初级的人去看

基本知道linux之后,一些安装、权限等等操作后,就进阶,比如搭建LAMP、LNMP、DNS等等软件和服务,这些也要懂,这部分需要教程,看书超级缓慢,教程为主、练习为辅、这时候可以看国外大神写的书了,到这部分你就可以开始工作了,基本上企业也不会划分的很细,当然想走的更远,下面就是深度学习了,对了,python了解基本即可,但shell脚本一定要会,不说精通,至少要熟悉,一天2到5个shell脚本练习就够了,也不用太多精力花在这

当你学的差不多,才是决定往哪个方向了,比如云服务器、自动化运维、linux安全之类的方向,但都离不开开发,所以这时候你就要精通python语言了

自动化运维应该是趋势,云服务器也是热门,一门精通,其它也要熟悉,你才能走的远

还有个很重要的,原理一定要懂,每一个服务的运行原理比会安装更重要,所以死记硬背也要背下来。网络这块不是服务器运维的强项,但基本的ip/tcp协议你需要懂,会抓包、会基本分析就可以了,往后有精力了再深度学习

评论0 赞同0
  •  加载中...
zebrayoung

zebrayoung

回答于2022-06-27 16:55

1、Linux基础你得挑一个适合你的系统,然后在虚拟机安装它,开始使用它。 如果你想快速学会Linux,我有一个建议就是忘记图形界面,不要想图形界面能不能提供你问题的答案, 而是满世界的去找,去问,如何用命令行解决你的问题。在这个过程中,你最好能将Linux的命令掌握的不错,起码常用的命令得知道,同时建立了自己的知识库, 里面是你积累的各项知识。2、Linux平台的C/C++开发,同时还有Bash脚本编程[JAVA]再下个阶段,你需要学习的是Linux平台的C/C++开发,同时还有Bash脚本编程,如果你对Java兴趣很深还有Java。 同样,建议你抛弃掉图形界面的IDE,从VIM开始,为什么是VIM,而不是Emacs, 我无意挑起编辑器大战,但我觉得VIM适合初学者,适合手比较笨,脑袋比较慢的开发者。 Emacs的键位太多,太复杂,我很畏惧。然后是GCC,Make,Eclipse(Java,C++或者)。虽然将C++列在了Eclipse中,但我并不推荐用IDE开发C++,因为这不是Linux的文化, 容易让你忽略一些你应该注意的问题。 IDE让你变懒,懒得跟猪一样。如果你对程序调试,测试工作很感兴趣,GDB也得学的很好, 如果不是GDB也是必修课。这是开发的第一步,注意我并没有提过一句Linux系统API的内容, 这个阶段也不要关心这个。你要做的就是积累经验,在Linux平台的开发经验。我推荐的书如下:C语言程序设计。 C语言,白皮书当然更好。 C++推荐 C++ Primer Plus, Java我不喜欢,就不推荐了,附一个别人的书单:java 入门书籍。 工具方面推荐VIM的官方手册,GCC中文文档,GDB中文文档,GNU开源软件开发指导(电子书), 汇编语言程序设计(让你对库,链接,内嵌汇编,编译器优化选项有初步了解,不必深度)。如果你这个阶段过不了就不必往下做了,这是底线,最基础的基础,否则离开,不要霍霍Linux开发。 不专业的Linux开发者作出的程序是与Linux文化或UNIX文化相背的,程序是走不远的, 不可能像Bash,VIM这些神品一样。 所以做不好干脆离开。3、UNIX环境高级编程(作者英年早逝,第3版即将出版,稍等)UNIX环境高级编程堪称神作,经典中的经典。接下来进入Linux系统编程,不二选择,APUE,UNIX环境高级编程,一遍一遍的看, 看10遍都嫌少,如果你可以在大学将这本书翻烂,里面的内容都实践过,有作品,你口头表达能力够强, 你可以在面试时说服所有的考官。(可能有点夸张,但APUE绝对是圣经一般的读物,即使是Windows程序员也从其中汲取养分, Google创始人的案头书籍,扎尔伯克的床头读物。)这本书看完后你会对Linux系统编程有相当的了解,知道Linux与Windows平台间开发的差异在哪? 它们的优缺点在哪?我的总结如下:做Windows平台开发,很苦,微软的系统API总在扩容, 想使用最新潮,最高效的功能,最适合当前流行系统的功能你必须时刻学习。 Linux不是,Linux系统的核心API就100来个,记忆力好完全可以背下来。 而且经久不变,为什么不变,因为要同UNIX兼容,符合POSIX标准。 所以Linux平台的开发大多是专注于底层的或服务器编程。这是其优点,当然图形是Linux的软肋,但我站在一个开发者的角度,我无所谓,因为命令行我也可以适应, 如果有更好的图形界面我就当作恩赐吧。另外,Windows闭源,系统做了什么你更本不知道, 永远被微软牵着鼻子跑,想想如果微软说Win8不支持QQ,那ucloud不得哭死。 而Linux完全开源,你不喜欢,可以自己改,只要你技术够。另外,Windows虽然使用的人多,但使用场合单一,专注与桌面。 而Linux在各个方面都有发展,尤其在云计算,服务器软件,嵌入式领域, 企业级应用上有广大前景,而且兼容性一流,由于支持POSIX可以无缝的运行在UNIX系统之上, 不管是苹果的Mac还是IBM的AS400系列,都是完全支持的。 另外,Linux的开发环境支持也绝对是一流的,不管是C/C++,Java,Bash,Python,PHP,Javascript,。。。。。。就连C#也支持。而微软除Visual Stdio套件以外,都不怎么友好,不是吗?如果你看完APUE的感触有很多,希望验证你的某些想法或经验,推荐UNIX程序设计艺术, 世界顶级黑客将同你分享他的看法。4、选择方向:网络,图形,嵌入式,设备驱动网络方向:服务器软件编写及高性能的并发程序编写现在是时候做分流了。 大体上我分为四个方向:网络,图形,嵌入式,设备驱动。如果选择网络,再细分,我对其他的不是他熟悉,只说服务器软件编写及高性能的并发程序编写吧。 相对来说这是网络编程中技术含量最高的,也是底层的。 需要很多的经验,看很多的书,做很多的项目。我的看法是以下面的顺序来看书:APUE再深读 – 尤其是进程,线程,IPC,套接字多核程序设计 - Pthread一定得吃透了,你很NBUNIX网络编程 – 卷一,卷二TCP/IP网络详解 – 卷一 再看上面两本书时就该看了5.TCP/IP 网络详解 – 卷二 我觉得看到卷二就差不多了,当然卷三看了更好,努力,争取看了6.Lighttpd源代码 - 这个服务器也很有名了7.Nginx源代码 – 相较于Apache,Nginx的源码较少,如果能看个大致,很NB。看源代码主要是要学习里面的套接字编程及并发控制,想想都激动。如果你有这些本事,可以试着往暴雪投简历,为他们写服务器后台,想一想全球的魔兽都运行在你的服务器软件上。Linux内核 TCP/IP协议栈 – 深入了解TCP/IP的实现如果你还喜欢驱动程序设计,可以看看更底层的协议,如链路层的,写什么路由器,网卡, 网络设备的驱动及嵌入式系统软件应该也不成问题了。当然一般的网络公司,就算百度级别的也该毫不犹豫的雇用你。 只是看后面这些书需要时间与经验,所以35岁以前办到吧!跳槽到给你未来的地方!图形方向,我觉得图形方向也是很有前途的,以下几个方面。Opengl的工业及游戏开发,国外较成熟。影视动画特效,如皮克斯,也是国外较成熟。GPU计算技术,可以应用在浏览器网页渲染上,GPU计算资源利用上,由于开源的原因,有很多的文档程序可以参考。如果能进火狐开发,或google做浏览器开发,应该会很好 。嵌入式方向:嵌入式方向没说的,Linux很重要。掌握多个架构,不仅X86的,ARM的,单片机什么的也必须得懂。 硬件不懂我预见你会死在半路上,我也想走嵌入式方向,但我觉得就学校教授嵌入式的方法, 我连学电子的那帮学生都竞争不过。 奉劝大家,一定得懂硬件再去做,如果走到嵌入式应用开发,只能祝你好运, 不要碰上像Nokia,Hp这样的公司,否则你会很惨的。驱动程序设计:软件开发周期是很长的,硬件不同,很快。 每个月诞生那么多的新硬件,如何让他们在Linux上工作起来,这是你的工作。 由于Linux的兼容性很好,如果不是太低层的驱动,基本C语言就可以搞定,系统架构的影响不大, 因为有系统支持,你可能做些许更改就可以在ARM上使用PC的硬件了, 所以做硬件驱动开发不像嵌入式,对硬件知识的要求很高。可以从事的方向也很多,如家电啊,特别是如索尼,日立,希捷,富士康这样的厂子,很稀缺的。


评论0 赞同0
  •  加载中...
laoLiueizo

laoLiueizo

回答于2022-06-27 16:55

新手自学linux,需要制定详细的学习路线和学习内容,可以按照以下思路学习:第一阶段:linux基础入门Linux基础入门主要包括: Linux硬件基础、Linux发展历史、Linux系统安装、xshell连接、xshell优化、SSH远程连接故障问题排查、L inux基础优化、Linux目录结构知识、Linux文件属性、Linux通配符、正则表达式、Linux系统权限等第二阶段:linux系统管理进阶linux系统管理进阶包括:Linux定时任务、Linux用户管理、Linux磁盘与文件系统、Linux三剑客之sed命令等。第三阶段:Linux Shell基础Linux Shell基础包括:Shell编程基础、Linux三剑客之awk命令等。第四阶段:Linux网络基础第五阶段:Linux网络服务Linux网络服务包括:集群实战架构开始及环境准备、rsync数据同步服务、Linux全网备份项目、nfs网络存储服务精讲、inotify/sersync实时数据同步/nfs存储实时备份项目等。第六阶段:Linux重要网络服务Linux重要网络服务包括:http协议/www服务基础、nginx web介绍及基础实践、nginx web、lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统、nginx负载均衡、keepalived高可用等。第七阶段:Ansible自动化运维与Zabbix监控Ansible自动化运维与Zabbix监控包括: SSH服务秘钥认证、ansible批量自动化管理集群、 zabbix监控等。第九阶段:大规模集群高可用服务(Lvs、Keepalived)第十阶段:Java Tomcat服务及防火墙Iptables第十一阶段:MySQL DBA高级应用实践MySQL DBA高级应用实践包括:MySQL数据库入门基础命令、MySQL数据库进阶备份恢复、MySQL数据库深入事务引擎、MySQL数据库优化SQL语句优化、MySQL数据库集群主从复制/读写分离、MySQL数据库高可用/mha/keepalved等。第十二阶段:高性能数据库Redis和Memcached课程第十三阶段:Linux大规模集群架构构建(200台)第十四阶段:Linux Shell编程企业案例实战第十五阶段:企业级代码发布上线方案(SVN和Git)第十六阶段企业级Kvm虚拟化与OpenStack云计算第十七阶段公有云8大组件构建集群实战第十八阶段:Docker技术企业应用实践第十九阶段:Python自动化入门及进阶第二十阶段:职业规划与高薪就业指导Linux学习周期因人而异,如果您有比较好的学习规划,每天坚持学习4至5个小时,坚持3至6个月,应该可以熟练掌握Linux基本操作,但是,如果只有计划,没有实施,那就另当别论了,如果想更深入、更节省时间的学习Linux操作系统,建议报班学习,效果会更加明显

评论0 赞同0
  •  加载中...
Karuru

Karuru

回答于2022-06-27 16:55

B站上面有很多Linux入门的一些视频都可以看一看,推荐你一个https://www.bilibili.com/video/BV1va4y1t7Yb/

评论0 赞同0
  •  加载中...
cyqian

cyqian

回答于2022-06-27 16:55

C语言基础要打好,操作系统,还有计算机网络,可以看看linux的书籍,里面的基本都是介绍的了。linux系统比较多,可以下载安装红帽子,ubuntu等等,可以自己找找视频看看。涉及的后面开发就是嵌入式了,还有操作系统

评论0 赞同0
  •  加载中...
snowell

snowell

回答于2022-06-27 16:55

没有方向性,就是学习最大的阻碍了。

个人觉得最好先明确一个目标,比如通过Linux部署一个网络服务,或者部署一个网站。

自己的学习过程是这样的,前期通过视频只学习了自己感兴趣的部分。后期遇到需要使用到的时候又反复学习了一下。

自己啃书还是算了,我是先看的视频了解的差不多了,又买书看了一遍方便加深记忆。

评论0 赞同0
  •  加载中...
vibiu

vibiu

回答于2022-06-27 16:55

最基本的一些指令,脚本运行指令./*.sh 关机指令reboot 更新源指令。你可以在网上找到一些教程。或者linux新手建议使用国产的深度系统。对新手友好。。Linux的书籍建议看一看鸟叔的Linux.私房菜。先学会怎么更新源,怎么运行这软件脚本

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<