不一定,即使是開發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系統原理,也就足夠了。