不一定,即使是开发Linux桌面项目现在也多用Qt和electron。除非是系统级编程、嵌入式开发,你需要学习C语言。现在以deepin为代表国内Linux发行版方兴未艾,目标就是让Linux成为无需长期学习简单上手的桌面操作系统。 看你用Linux是为了干什么咯。如果你说的想学好Linux指的是工作或日常能用Linux,或在上面开发点东西,那倒不必非得学会c语言。 但是如果你说的学好Linux说的是Linux kernel,或者你想「玩」好Linux,那就有必要学一学c语言了。 学好Linux是指Linux的哪些方面呢? 仅仅是像Windows那样日常使用? 那选Ubuntu或deepin,它们对新手友好,跟C语言没什么关系 想在Linux下开发? 如果开发的东西跟C语言没什么关系,那就不用 还是想学习Linux内核? 能问这个问题估计不是要学习内核了。。。。 学linux不是一定要啃内核。这个是误导吧,开源的意思是你只要想,你就可以接触到它的全部代码,代码面前没有秘密。能够做不是必须做。 操作系统可以学的部分太多了,大部分人不需要了解内核就能玩 这是屁话. 有固然好当然深入研究 连linux内核都要搞清楚所以然的 是的要c基础知识.运维0基础到高级篇学习方法(大致总结了下):基础篇:1.Linux入门介绍,版本,Http/Https,Tcp/ip协议等。2.基础入门:系统安装,常用命令,SSH,telnet,xinetd服务,yum配置,rsync,scp,resync,pssh远程同步,iptables防火墙,网路配置,系统优化。3.Lnmp服务体系4.Tomcat/Resin服务体系5.Git服务体系 6.MySQL基础,命令管理,多种备份,迁移,主从(全复制,延时,半复制),监控,优化,许可权控制等。7.Shell基础到深入,从0到写一个跳板机管理(1000行代码+)8.Cacti/Nagios/Zaabix体系9.Ansible自动化体系详解,玩转ansible管理百台伺服器+。10.维护中小企业百台伺服器规模案例提升篇:1.Lvs+Keepalived技术体系2.Haproxy+Keepalived技术体系,Lvs+Haproxy 4-7层体系,slb,elb技术体系3.openldap,openvpn,ppt,l2tp技术体系4.Cobber自动化安装系统 5.Redis各种姿势6.bind-view7.cdn技术体系8.自建cdn,外部购买cdn策略,视频,在线教育,游戏,搜索,电商案例9.Kvm/docker技术体系10.rabbitmq技术体系学习11.各种公有云技术体系:ars,ali,qq,青云等12.维护大型企业的架构高级篇:1.python基础:版本区别,集合,字典,元祖,列表,迭代器,封装,函数,装饰器,class类,打包,编译,常用库用法。 2.python框架Django:,Mvc原理,session,cookie,后端Api,登陆,许可权,资料库/缓存,增删改查,模版,static,celery,调度,错误定义,收集,request,行为监控等3.前端技术:html,css,js,bootstrap4.项目:cmdb,流程系统,批量系统,配置管理系统,发布系统,监控系统,自动化装机系统,查询系统,DB/Redis平台系统,Docker私有云系统,Docker持续集成系统,Cdn调度平台,图片系统,用户系统,许可权系统,后台系统,uuid自动分配系统,定时任务系统,预控系统,调度系统 看你想怎么学好。使用,不需要会shell,懂命令就可以了深入了解为什么?,看看专业的分析,有很多原理性的东西修改,优化。这就需要用c语言了,看实现源码 完全不学一点C语言的话,就连shell脚本都写不好,因为很多shell命令的返回值就是它内部使用的最后一个API调用的返回值。 看你用linux来做什么,两者之间没有绝对的关系。如果学习源码的话,光懂c语言还远远不够。 提出这个问题是因为我前面看了《unix编程艺术》,大概了解了linux的由来和当时一个操作系统的局面。我就突然想到想要了解它是不是要去了解内核,要不然只会一个命令去使用它显得有点单薄,所以提了一个这个问题。 不是。如果你是做互联网后台的,学好java和bash,再加上搞清楚linux系统原理,也就足够了。 推荐阅读:
不一定,即使是开发Linux桌面项目现在也多用Qt和electron。除非是系统级编程、嵌入式开发,你需要学习C语言。
现在以deepin为代表国内Linux发行版方兴未艾,目标就是让Linux成为无需长期学习简单上手的桌面操作系统。
看你用Linux是为了干什么咯。
如果你说的想学好Linux指的是工作或日常能用Linux,或在上面开发点东西,那倒不必非得学会c语言。
但是如果你说的学好Linux说的是Linux kernel,或者你想「玩」好Linux,那就有必要学一学c语言了。
学好Linux是指Linux的哪些方面呢?
那选Ubuntu或deepin,它们对新手友好,跟C语言没什么关系
如果开发的东西跟C语言没什么关系,那就不用
能问这个问题估计不是要学习内核了。。。。
学linux不是一定要啃内核。
这个是误导吧,开源的意思是你只要想,你就可以接触到它的全部代码,代码面前没有秘密。
能够做不是必须做。
操作系统可以学的部分太多了,大部分人不需要了解内核就能玩
这是屁话. 有固然好
当然深入研究 连linux内核都要搞清楚所以然的 是的要c基础知识.
运维0基础到高级篇学习方法(大致总结了下):
基础篇:
1.Linux入门介绍,版本,Http/Https,Tcp/ip协议等。
2.基础入门:系统安装,常用命令,SSH,telnet,xinetd服务,yum配置,rsync,scp,resync,pssh远程同步,iptables防火墙,网路配置,系统优化。
3.Lnmp服务体系
4.Tomcat/Resin服务体系
5.Git服务体系
6.MySQL基础,命令管理,多种备份,迁移,主从(全复制,延时,半复制),监控,优化,许可权控制等。
7.Shell基础到深入,从0到写一个跳板机管理(1000行代码+)
8.Cacti/Nagios/Zaabix体系
9.Ansible自动化体系详解,玩转ansible管理百台伺服器+。
10.维护中小企业百台伺服器规模案例
提升篇:
1.Lvs+Keepalived技术体系
2.Haproxy+Keepalived技术体系,Lvs+Haproxy 4-7层体系,slb,elb技术体系
3.openldap,openvpn,ppt,l2tp技术体系
4.Cobber自动化安装系统
5.Redis各种姿势
6.bind-view
7.cdn技术体系
8.自建cdn,外部购买cdn策略,视频,在线教育,游戏,搜索,电商案例
9.Kvm/docker技术体系
10.rabbitmq技术体系学习
11.各种公有云技术体系:ars,ali,qq,青云等
12.维护大型企业的架构
高级篇:
1.python基础:版本区别,集合,字典,元祖,列表,迭代器,封装,函数,装饰器,class类,打包,编译,常用库用法。
2.python框架Django:,Mvc原理,session,cookie,后端Api,登陆,许可权,资料库/缓存,增删改查,模版,static,celery,调度,错误定义,收集,request,行为监控等
3.前端技术:html,css,js,bootstrap
4.项目:cmdb,流程系统,批量系统,配置管理系统,发布系统,监控系统,自动化装机系统,查询系统,DB/Redis平台系统,Docker私有云系统,Docker持续集成系统,Cdn调度平台,图片系统,用户系统,许可权系统,后台系统,uuid自动分配系统,定时任务系统,预控系统,调度系统
看你想怎么学好。
使用,不需要会shell,懂命令就可以了
深入了解为什么?,看看专业的分析,有很多原理性的东西
修改,优化。这就需要用c语言了,看实现源码
完全不学一点C语言的话,就连shell脚本都写不好,因为很多shell命令的返回值就是它内部使用的最后一个API调用的返回值。
看你用linux来做什么,两者之间没有绝对的关系。如果学习源码的话,光懂c语言还远远不够。
不是。
如果你是做互联网后台的,学好java和bash,再加上搞清楚linux系统原理,也就足够了。