web後端攻城獅要學linux嗎,一般要學到什麼水平呢?
來源:互聯網
上載者:User
關鍵字
linux
php
如題,本人想往php後端方向走,看好多招聘要懂linux,想提前瞭解下
回複內容:
需要學習,非常重要。
至少需要會以下幾點:
1、常用命令:cd, ls, cp, mkdir, mv, top, ps, cat, ssh, scp, tail, head, find, grep, chmod, chown,kill, rm, ping等等。
2、一些基本的概念:管道,重新導向,標準輸出,標準錯誤輸出等等。
3、vi或vim的基本操作。
4、計劃任務的配置。
5、日誌查看分析。
6、瞭解php, apache, nginx等的配置。
7、能讀懂一些bash shell指令碼,會一些df,du,netstat之類的命令。
我說一下,為什麼需要學習linux。
我是做PHP的,之前在一家國內電商公司做促銷相關開發。
1、我接手這個項目的時候,很多東西都是沒有文檔的,我必須自己上伺服器去摸清楚一些狀況。
1)我想知道有哪些指令碼在跑,這些指令碼是否都有日誌輸出等等。
這個就需要會一些linux基本命令,cd,ls,find,cat,crontab等等。
2) 我想瞭解一些web項目放在什麼位置,配置的網域名稱,訪問日誌放在哪兒。
這個就需要我知道查看nginx的虛擬機器主機配置,vim等的基本用法。
2、部署上線是有專門營運負責的,但是上線之後,我得確認一切運行正常。
對於web程式,線上頁面上作一些操作測試就行。
對於指令碼,最好的方法當然是查看日誌了,crontab, cat, tail等命令必不可少。
對於資料,就得mysql命令列查看了。
3、負載情況查看,有時候,營運會在伺服器上裝上一些zabbix之類的東西,讓你可以很方便地在網頁上查看伺服器上的狀況。
但是有的伺服器上沒有裝,那你只好自己上伺服器看了。top,sar, ps等命令就有必要了。
4、統計,有時候產品會讓你幫統計一些資料。sed, grep, wc等就有了必要。
5、排查線上問題。這個時候所需要會的是最多的。
1)、分析日誌很重要。cat, sed, tail, wc等必不可少。
2)、一些查看進程,磁碟狀況,串連數,DNS狀況的命令必不可少,ps, df, du, netstat, nslookup, ping等。公司是有專業營運的,但是他們是不瞭解的你的項目的,脫離你的項目,有些 問題單靠營運是發現不了的,所以這些你也得會。
6、有一次有個指令碼,我們希望它迴圈執行,每次執行只有幾秒的時間間隔,這個單靠計劃任務不好弄,所以我還得會一些bash shell。
7、營運只管線上,開發環境和測試環境一般是不管的。那麼對於有些項目,我們得自己安裝一些擴充或軟體,自己在開發環境和測試環境中部署。
我現在這個公司,有些東西營運是不管的,得自己去部署。
那就得會chmod, chown, scp, svn,mkdir, rm, crontab等命令了,得瞭解nginx, rsync的一些配置。
樓裡人說不重要,用winscp就行了。
1、實際上,對許可權管理稍微嚴格的公司,是不可能讓你直接通過ssh協議登上去的,所以像winscp這樣的軟體根本就用不了。
我目前所在的公司,都是先登入到通道機,再登入到目的伺服器上的。
2、難道大家做的項目中一個指令碼都沒有,不需要查看計劃任務,不需要重新導向輸出計劃任務的輸出?
3、日誌,有時候雖然營運通會讓你能夠直接通過web介面擷取日誌,但如果這個日誌有好幾個G呢?謝邀,正如上面各位所答,如果僅僅是工作需要。並不需要太多的Linux水平。日常操作也不用登入到Linux中,刪改檔案用winscp拉到Windows就好了。
然而,如果題主把Linux作為興趣,在業餘時間鑽研的話。那麼對你PHP的協助決不是一星兩點的。熟悉Linux及其工作機制的話,你解決PHP問題的能力和速度都會有很大的提升。一般學到會自製rpm/deb包的程度就差不多了。看情況,普通PHP只要會檔案操作,如果想成為大師級必須精通。別學做包這種沒用的,學學lnmp環境的搭建(lamp已經過時了,不過學學也可以),學學效能分析和最佳化Apache,Nginx配置什麼的要會吧。。。。最起碼的Web 後端, Linux 學得多深都不為過啊因為目前業界99%都是 Linux 系。所以一定要學。但是懂 Linux 操作只是基本,那些命令,各種服務安裝和配置,只要去用,就一定能學會,沒什麼難的。更重要的是原理,Linux 的基石,就算不學透至少要清楚,建議那些命令會了後要再看看 TCP/IP 協議詳解,APUE。這樣以後稱自己是後端開發才有底氣。本人去年應屆PHP,目前已經離不開Linux下的操作,個人看法是:非常有必要。
原因上面的答案已經有提到一些了。軟體測試