久综合色-久综合网-玖草影视-玖草资源在线-亚洲黄色片子-亚洲黄色片在线观看

Hello! 歡迎來到小浪云!


如何在Linux上優雅地寫代碼-Linux生存指南


avatar
小浪云 2025-01-03 120

初次接觸linux時,常常感到困惑,因為要頻繁地使用命令行界面,那個大黑框總是顯得晦澀難懂。即使翻閱各種手冊,使用vi/vim寫代碼也讓人感到不適。然而,linux下的工具卻擁有驚人的功能,遠遠超出我們的想象。如果你是Linux的初學者,那么閱讀下面的內容將會讓你的使用更加得心應手、更加高效。

1. 拋棄man,使用tldr優雅地閱讀手冊

1.1 簡潔明了

Linux系統中,幾乎一切操作都可以通過命令行完成,并且有著眾多豐富的命令行工具。然而,即使是最優秀的程序員也無法記住所有的命令及其使用方法。當我們遇到需要執行但又不熟悉的命令時,常常感到手足無措。比如,要使用tar命令進行打包或解壓縮,該如何操作呢?

有些人會打開搜索引擎,辛辛苦苦地查找答案,解決了問題,但很快又會遺忘。聰明的朋友可能會想到使用man命令,打開tar的手冊。然而,tar的手冊內容通常都很冗長,讓人望而卻步。

如何在Linux上優雅地寫代碼-Linux生存指南

又臭又長,需要你有較好的英語基礎和耐心。不僅僅是我們這么覺得,會英語的老外都覺得煩,于是有大神開發了tldr工具。tldr即Too Long;Didn’t Read的簡寫,太長不看。

使用方法和man一樣,比如查看tar命令的用法:

tldr?tar 

如何在Linux上優雅地寫代碼-Linux生存指南

他的畫風如上,雖然還是英語(不要害怕英語,這是一個程序員的基本功),但是他給出了使用的例子!排版簡潔、清晰,收納了使用率高的例子。

比如你要解壓縮,看到這,

如何在Linux上優雅地寫代碼-Linux生存指南

即使你的英語水平不高,憑有限的詞匯量, 你也能知道應該用什么參數了吧,可讀性極強

1.2 安裝tldr

Ubuntu下安裝很簡單,執行以下三條命令:

sudo?apt-get?install?nodejs sudo?apt-get?install?npm sudo?npm?install?-g?tldr 

如果出現了警告,有可能是因為nodejs版本問題,用以下命令升級nodejs:

sudo?apt-get?install?nodejs-legacy sudo?npm?install?-g?n sudo?n?latest 

如果升級nodejs失敗,可能是Ubuntu版本問題,用以下命令安裝穩定版nodejs:

sudo?n?stable sudo?node?-v 

然后再安裝tldr

sudo?npm?install?-g?tldr 

用以下命令可以對tldr更新

tldr?--update 

2. 讓你的終端分屏顯示

2.1 終端復用器(terminal multiplexer)

通過ssh登錄linux只有一個命令行界面,用tmux,讓他分開!

如何在Linux上優雅地寫代碼-Linux生存指南

如圖,一個界面分成很多塊,我們可以一邊寫程序,一邊查看其他東西。

可以任意調整各個窗格大小與數量

如何在Linux上優雅地寫代碼-Linux生存指南

優雅!一個命令即可安裝:

apt-get?install?tmux 

2.2 tmux操作

2.2.1 啟動tmux

直接輸入

tmux 

如圖,出現 綠色欄就說明進入tmux環境了。

如何在Linux上優雅地寫代碼-Linux生存指南

2.2.2 退出tmux

一個exit命令即可退出。

exit 

2.2.3 分屏

左右分屏:在要分屏的窗格下輸入

tmux?split-windosw?-h 

上下分屏就是把-h換成-w。

2.2.4 切換當前窗格

記住ctrl+b是tmux的各種快捷鍵的啟動鍵

切換窗格步驟:

1.按ctrl+b,松開。2.按方向鍵,如要切換到右邊就按->。

2.2.5 調整窗格大小

先切換到要調整的窗格,然后:

1.按ctrl+b,不松開。2.按方向鍵

2.2.6 關閉一個窗格

先切換到要關閉的窗格,然后:

1.按ctrl+b,松開。2.按x。

什么?還不夠優雅、高效,還是習慣在Windows下寫好,再放到Linux下編譯?

是的,這樣是正確的選擇,完全沒問題,但是如果不是寫大型項目,其實直接在Linux下使用vim/vi會更加優雅!

vim/vi可不是記事本,他有著強大的查找、搜索、替換…..等功能,并且可以讓你完全脫離鼠標,屬于越用越喜歡的慢熱型。不過確實比較復雜,不想在這么優雅的文章里介紹他,想學的可以看:

一文徹底解決vi/vim編輯器操作

上面的只是初級優雅,真正的優雅來了。

3. 管道配合printf調試程序

Linux下,gdb是一個很好的調試工具,不會用的可以學一下,在這篇文章中,我并不打算介紹gdb,而是教你用管道機制,利用Linux里一些命令配合printf來調試。

Linux 下程序可以協同工作,可以將一個命令/程序的輸出通過管道(Pipes)連接到另一個命令/程序的輸入,管道操作符是 |。

在程序中使用printf加入調試信息,或作為輸出信息,是常用的調試和輸出方法,但經常會遇到打印出幾百行,不容易閱讀的情況。

3.1 基操:聯合grep找到想要的信息

比如一個輸出進程信息的程序,運行后很長(這里只展示了一部分)。

如何在Linux上優雅地寫代碼-Linux生存指南

我們想看看包含system字樣的,只需:

./pstree.o?|grep?system 

如何在Linux上優雅地寫代碼-Linux生存指南

ok,只輸出了含system的。

3.2 用head讓程序只輸出一部分

比如一個輸出信息特別多的程序,我們有時只想看幾行信息

如何在Linux上優雅地寫代碼-Linux生存指南

編輯

-n后面的參數就是表示輸出的行數。這個操作看似作用不大,實則特別有用

比如一個程序,里面的printf會運行n次,為了測試程序,n可能很大,用head命令就相當于想讓他讓運行幾次就運行幾次!

寫一個簡單的程序模擬一下該情況:

#include? int?main?(int?argc,?char?**argv) { ????????int?i,j; ????????j?=?8; ????????for(i?=?0;i?if?(i?%?j?==?0)?{ ????????????????????????printf("0 "); ????????????????????????j++; ????????????????} ????????????????printf("1 "); ????????} } 

如何在Linux上優雅地寫代碼-Linux生存指南

編輯

3.3 用sort排序輸出結果

sort的-u選項

在輸出行中去除重復行。

sort的-r選項

sort默認的排序方式是升序,想改成降序,加-r。

sort的-t選項和-k選項

如果一行的輸出有好幾個部分/列,比如:

a:1:30:d b:2:30:c f:1:1:a  

每行都有4列,列與列之間用冒號隔開了,我想用第4列排序,怎么辦?

加上-t選項,后面跟間隔符,指定了間隔符之后,用-k來指定列數。

另外,管道機制可以讓命令連用

如何在Linux上優雅地寫代碼-Linux生存指南

3.4 uniq命令統計輸出結果

uniq命令不帶任何參數會刪除重復出現的行

-c??:?在每列旁邊顯示該行重復出現的次數 -d??:?僅顯示重復出現的行列 -u??:?僅顯示出一次的行列(沒有重復的) 

有了這個-c選項,再配合sort就可以統計輸出了

如何在Linux上優雅地寫代碼-Linux生存指南

如上,表示 程序的前一百行輸出里0輸出了12次,1輸出了88次。

這些功能我們完全可以在自己寫的程序里實現,然后調試,這并不難,但是也會麻煩,而且這都是為了調試我們的程序,跟我們程序功能實際上不沾邊,既然有現成的好用的輪子,為什么不用呢?

相關閱讀

主站蜘蛛池模板: 成人网18免费网站在线 | 国产理论在线观看 | 伊人成人在线 | 国产午夜免费视频片夜色 | 久久精品在线免费观看 | 国产精品九九久久一区hh | 日本午色www高清视频 | 老司机黄色影院 | 91情国产l精品国产亚洲区 | 午夜神马理论 | 欧美性精品hd在线观看 | 亚洲精品一区最新 | 欧美一级片a | 在线播放高清国语自产拍免费 | 日韩国产欧美在线观看一区二区 | 精品欧美成人高清视频在线观看 | 亚洲国产高清人在线 | 久久久国产一区二区三区丝袜 | 99精品视频在线观看免费播放 | 久夜色精品国产一区二区三区 | 国产成在线观看免费视频成本人 | 亚洲欧美日韩国产一区二区精品 | 一级毛片无毒不卡直接观看 | 国产原创91 | 一男一女搞黄 | 免费在线黄色网址 | 黄色毛片免费 | 男操美女| 91大神大战丝袜美女在线观看 | 欧美国产日本精品一区二区三区 | 又www又黄又爽啪啪网站 | 国产一级影片 | 亚洲一区二区三区首页 | 久久91av | 亚洲欧美中文日韩二区一区 | gdcm01果冻传媒 | 午夜视频在线观看一区二区 | 日韩精品福利视频一区二区三区 | 国产精品国产三级在线高清观看 | 欧美成人片在线 | 欧美在线播放成人a |