優質文章,第一時間送達!
1.ag:比 grep、ack 更快的遞歸搜索文件內容。
2.tig:字符模式下交互查看 git 項目,可以替代 git 命令。
3.mycli:mysql 客戶端,支持語法高亮和命令補全,效果類似 ipython,可以替代 mysql 命令。
4.jq: json 文件處理以及格式化顯示,支持高亮,可以替換 python -m json.tool。
5.shellcheck:shell 腳本靜態檢查工具,能夠識別語法錯誤以及不規范的寫法。
6.yapf:Google 開發的 python 代碼格式規范化工具,支持 pep8 以及 Google 代碼風格。
7.mosh:基于 UDP 的終端連接,可以替代 ssh,連接更穩定,即使 IP 變了,也能自動重連。
8.fzf:命令行下模糊搜索工具,能夠交互式智能搜索并選取文件或者內容,配合終端 ctrl-r 歷史 命令搜索簡直完美。
9.PathPicker(fpp):在命令行輸出中自動識別目錄和文件,支持交互式,配合 git 非常有用。
運行以下命令:
10.htop: 提供更美觀、更方便的進程監控工具,替代 top 命令。
11.axel:多線程下載工具,下載文件時可以替代 curl、wget。
12.sz/rz:交互式文件傳輸,在多重跳板機下傳輸文件非常好用,不用一級一級傳輸。
13.cloc:代碼統計工具,能夠統計代碼的空行數、注釋行、編程語言。
14.ccache:高速 C/C++編譯緩存工具,反復編譯內核非常有用。使用起來也非常方便:
改成:
15.tmux:終端復用工具,替代 screen、nohup。
16.neovim: 替代 vim。
17.script/scriptreplay: 終端會話錄制。
回放:
18.you-get: 非常強大的媒體下載工具,支持 youtube、google+、優酷、芒果 TV、騰訊視頻、秒拍等視頻下載。
還有 mac 專有的 pb買粉絲py/pbpaste:
把命令行輸出拷貝到系統粘貼板:
把系統粘貼板內容拷到終端:
mac 下的 say 命令支持多種語言(英語、普通話、粵語)文本朗讀,支持各種銷魂恐怖的語氣。跑這個命令感受下,小心被嚇著了:
19.thefuck:用途是每次命令行打錯了以后,打一句 fuck 就會自動更正命令。比如 apt-get 打成了 aptget。fuck 以后自動變成 apt-get。但還是沒加 sudo。再 fuck,成功!
又比如 git branch 打成了 git brnch。fuck!更正成 git branch。
又比如 python 打成了 puthon。fuck!一秒變 python。
而且關鍵是每次打命令和內心 os 完全一致,有種人機合一的快感。fuck!
20.tldr: 如果你經常不想詳讀 man 文檔,那么你應該試試這個小工具。
使用 $ man tar 時
使用 $ tldr tar 時
關于零基礎怎么樣能快速學好Python的問題,百度提問和解答的都很多,你可以百度下看看。我覺得從個人自學的角度出發,應從以下幾個方面來理解:
1 為什么選擇學python?
據統計零基礎或非專業的人士學python的比較多,據HackerRank開發者調查報告2018年5月顯示(見圖),Python排名第一,成為最受歡迎編程語言。Python以優雅、簡潔著稱,入行門檻低,可以從事Linux運維、Python Web網站工程師、Python自動化測試、數據分析、人工智能等職位,薪資待遇呈上漲趨勢。
2 入門python需要那些準備?
2.1 心態準備。編程是一門技術,也可說是一門手藝。如同書法、繪畫、樂器、雕刻等,技藝純熟的背后肯定付出了長時間的反復練習。不要相信幾周速成,也不能急于求成。編程的世界浩瀚無邊,所以請保持一顆敬畏的心態去學習,認真對待寫下的每一行代碼,甚至每一個字符。收拾好自己的心態,向著編程的世界出發。第一步至關重要,關系到初學者從入門到精通還是從入門到放棄。選一條合適的入門道路,并堅持走下去。
2.2 配置 Python 學習環境。選Python2 還是 Python3?入門時很多人都會糾結。二者只是程序不兼容,思想上并無大差別,語法變動也并不多。選擇任何一個入手,都沒有大影響。如果你仍然無法抉擇,那請選擇 Python3,畢竟這是未來的趨勢。
編輯器該如何選?同樣,推薦 pycharm 社區版,配置簡單、功能強大、使用起來省時省心,對初學者友好,并且完全免費!其他編輯器如:notepad++、sublimeText 3、vim 和 Emacs等不推薦了。
操作環境?Python 支持現有所有主流操作平臺,不管是 windows 還是 mac 還是 linux,都能很好的運行 Python。并且后兩者都默認自帶 Python 環境。
2.3 選擇自學的書籍。我推薦的書的內容由淺入深,建議按照先后順序閱讀學習:
2.3.1《Python簡明教程》。這是一本言簡意賅的 Python 入門教程,簡單直白,沒有廢話。就算沒有基礎,你也可以像讀小說一樣,花兩天時間就可以讀完。適合入門快速了解語法。
2.4 學會安裝包。Python中有很多擴展包,想要安裝這些包可以采用兩種方法:
2.4.1 使用pip或easy_install。
1)在網上找到的需要的包,下載下來。eg. rsa-3.1.4.tar.gz;
2)解壓縮該文件;
3)命令行工具cd切換到所要安裝的包的目錄,找到setup.py文件,然后輸入python setup.py install
2.4.2 不用pip或easy_install,直接打開cmd,敲pip install rsa。
3 提升階段需要恒心和耐力。
完成入門階段的基礎學習之后,常會陷入一個瓶頸期,通過看教程很難進一步提高編程水平。這時候,需要的是反復練習,大量的練習。可以從書上的例題、作業題開始寫,再寫小程序片段,然后寫完整的項目。我們收集了一些練習題和網站。可根據自己階段,選擇適合的練習去做。建議最好挑選一兩個系列重點完成,而不是淺嘗輒止。
3.1 多做練習。推薦網站練習:
crossin編程教室實例:相對于編程教室基礎練習著重于單一知識點,
編程實例訓練對基礎知識的融會貫通;
hackerrank:Python 部分難度循序漸進,符合學習曲線
實驗樓:提升編程水平從做項目開始;
買粉絲dewar:社區型編程練習網站,內容由易到難;
leet買粉絲de:為編程面試準備,對初學者稍難;
牛客網:提供 BAT 等大廠筆試題目;
買粉絲de買粉絲bat:提供一邊游戲一邊編程;
projecteuler:純粹的編程練習網站;
菜鳥教程100例:基于 py2 的基礎練習;
3.2 遇到問題多交流。
3.2.1 利用好搜索引擎。
3.2.2 求助于各大網站。推薦
stackoverflow:這是一個程序員的知識庫;
v2ex:國內非常不錯的編程社區,不僅僅是包含程序,也包含了程序員的生活;
segmentfault:一家以編程問答為主的網站;
CSDN、知乎、簡書等
3.2.3 加入相關的QQ、買粉絲群、百度知道。不懂的可以隨時請教。
Python語言是一種面向對象的動態類型語言。
Python語言最初被設計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用于獨立的、大型項目的開發。作為一種解釋型腳本語言,可以在以下方面加以應用:
1、圖形處理:
有PIL、Tkinter等圖形庫支持,能方便進行圖形處理。
2、數學處理:
NumPy擴展提供大量與許多標準數學庫的接口。
3、文本處理:
Python提供的re模塊能支持正則表達式,還提供SGML,XML分析模塊,許多程序員利用python進行XML程序的開發。
4、數據庫編程:
程序員可通過遵循Python DB-API(數據庫應用程序編程接口)規范的模塊與Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等數據庫通信。python自帶有一個Gadfly模塊,提供了一個完整的SQL環境。
5、網絡編程:
提供豐富的模塊支持sockets編程,能方便快速地開發分布式應用程序。很多大規模軟件開發計劃例如Zope,M買粉絲 及BitTorrent. Google都在廣泛地使用它。
6、Web編程:
應用的開發語言,支持最新的XML技術。
7、多媒體應用:
Python的PyOpenGL模塊封裝了“OpenGL應用程序編程接口”,能進行二維和三維圖像處理。PyGame模塊可用于編寫游戲軟件。
擴展資料:
作為一種廣泛使用的計算機語言,Python具有以下優點:
Python火的原因在于其優點很多。
優點如下:
1、面向對象廣
從根本上講,Python 是一種面向對象的語言。它的類模塊支持多態、操作符重載和多重繼承等高級概念,并且以Python 特有的簡潔的語法和類型,OOP 十分易于使用。事實上,即使你不懂這些術語,仍會發現學習Python 比學習其他OOP 語言要容易得多。
2、免費
Python 的使用和分發是完全免費的。就像其他的開源軟件一樣,例如,Tcl 、Perl&