在很久很久以前,鵝廠開發類工程師職級分為:助理工程師、工程師、高階工程師和專家工程師四大類。
小特特從北京某學校畢業後,據傳因為其性別比較突出,所以很幸運地拿到了工程師的職級,並在畢業後順利成為了乙隻新鵝。
1. 班車風雲
這天,小特特頂著亂糟糟的頭髮,穿著拖鞋和短褲,斜挎著塑料編織袋,抓上工卡和手機就擠上了最晚的一趟班車。
正當其憨憨入睡時,手機不知趣地響起了一陣"悅耳"的鈴聲。那獨一無二的動聽旋律,小特特不用拿出手機便已知是公司的告警**。
她慌慌張張從編織袋裡拿出手機,按下接聽後,乙個熟悉的機器女聲:"您有乙個硬碟告警,ip為...",話音未落,小特特就按下了1
而自動結束了這次人機對話。
2. 辦公室之殤
來到工位後,小特特既嫻且熟地開啟xshell登入到跳板機後,使用ssh [email protected]
登入到了硬碟告警的機器。輸入sudo su - worker
切換到 worker 使用者後,小特特使用df -h
命令檢視完各分割槽的容量,再快速輸入du -h --max-depth=1
命令檢視當前目錄下各檔案(及資料夾)的大小。發現 ***.log 檔案占用了近 100 g空間後,她果斷地使用了rm ***.log
命令將其進行了刪除。
刪除完檔案後,小特特還執行了下ls –lhs
命令將當前目錄下各檔案以從大到小的順序進行展示。
處理完硬碟告警後,小特特通過ssh
遠端連線到了個人雲開發機,開始使用 vim 進行日常開發。自動補齊,
ctags
進行函式跳轉,filetype
設定語法高亮,quickfix 列表快速編譯,vim-fugitive 外掛程式實現在 vim 中完成各種 git 操作。隨著自定義配置和外掛程式的逐步完善,小特特已經能夠在 vim 下完成日常的開發工作。
從滾動的命令列發現錯誤 log 均出現在請求某個外部 cgi 介面後,小特特使用awk '-f,' '' ***.log.20191212
提取出了返回錯誤的所有 url。
為了確認是否是必現錯誤,小特特使用curl -d
命令模擬了一次請求。由於內部請求使用的是 http 協議,小特特還使用tcpdump -s 0 -a 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'
對模擬請求進行了抓包分析。
小特特確認錯誤原因是外部介面超時未返回後,立即聯絡了該介面對應的負責同學。處理完這個問題後,小特特繼續了她的開發工作。
當需要安裝某個開源庫時,小特特使用rz -bey
命令將本地 windows 機器上的壓縮包傳到了開發機,然後使用md5sum ***.tar.gz
命令驗證傳輸的檔案是否正確,最後再使用tar xvzf ***.tar.gz
命令將壓縮包解壓後進行使用。
find -type f -name readme.md
命令在當前工作目錄中查詢名為readme.md的所有檔案。
臨近黃昏時,又乙個程序占用 cpu 過高的告警出現在了手機上。登入上機器後,小特特先使用history | tail -n 200
檢視最近執行過的命令列表,看下是否有異常情況。確認無異常後,她使用top
命令檢視系統的 cpu、記憶體等的使用情況。
在top
命令的基本檢視中,按數字1
監控每個邏輯 cpu 的使用情況;按p
實現按 cpu 降序排列,按m
按記憶體降序排列。
為進一步檢視系統執行現狀,小特特還使用free -h
命令檢視了記憶體的使用情況。發現確實是因為使用者請求量增加而導致服務使用 cpu 和記憶體過高後,小特特急忙通知了運維同學進行了擴容處理。
晚上九點半,小特特基本完成了一天的開發工作,為了測試下新開發的功能是否正常。編譯通過後,使用nohup *** 9999
啟動了程序,並監聽在 9999 埠。
啟動完程序後,小特特使用netstat -anp | grep -w 9999
命令確認程序確實在監聽 9999 埠。測試過程中,她發現程序載入的乙個外部 so 動態庫對應功能並沒有生效,lsof ***.so
命令也顯示啟動的程序並沒有載入該 so 檔案。
使用 gdb 除錯時發現,該 so 並沒有匯出函式fffff。nm -d ***.so | grep fffff
命令也證實了該 so 確實沒有匯出該函式。
同時,小特特使用ps aux | grep -w ***| grep -v grep | awk '' | xargs kill -9
停掉了測試程序***
。
3. 結語
數了下,文**現了近 30 個 linux 命令,我"太男"了。熟練使用這些命令,個人覺得已經可以應付 linux 下的初級開發和運維工作了。
歡迎關注
遊戲後台開發工程師
此崗位是某大型網路股份 主要做手機遊戲研發,發行和運營 自主研發 公司目前100多人,創始人來自國內頂尖網路公司。崗位職責 1 負責手遊後台系統的架構設計和優化 2 負責手遊版本的後台開發和效能優化 3 負責後台運營系統的設計優化。任職要求 1 計算機相關專業本科及以上學歷,能熟練閱讀英文技術文件 ...
python web後台開發工程師 本科
削微寒的程式設計師之路 主要內容 本科生,python,深圳 心得 1 堅持發現樂趣 2 申請github賬號,積累專案 3 多看職位描述並總結 4 python一般用於兩個地方1.資料處理2.後台 初創公司 5 推薦書籍 python核心程式設計 改善pyhton程式的91個建議 新手先看這本 笨...
爬蟲工程師的日常
很多讀者可能都不太清楚爬蟲是幹什麼的,今天我就來跟大家科普下爬蟲工程師平時的工作都是怎樣的。爬蟲又分為增量式爬蟲和全量式爬蟲。全量式爬蟲又稱為一次性爬蟲,就是把該 的資料一次性全部抓取下來,後面就不需要再管該 了,這種爬蟲任務通常比較簡單。而增量式爬蟲不止這次要把 資料抓取下來,而且之後還要檢測該 ...