色偷偷91综合久久噜噜-色偷偷成人-色偷偷尼玛图亚洲综合-色偷偷人人澡久久天天-国内精品视频一区-国内精品视频一区二区三区

Hello! 歡迎來到小浪云!


如何在Linux上優(yōu)雅地寫代碼-Linux生存指南


avatar
小浪云 2025-01-03 162

初次接觸linux時(shí),常常感到困惑,因?yàn)橐l繁地使用命令行界面,那個(gè)大黑框總是顯得晦澀難懂。即使翻閱各種手冊,使用vi/vim寫代碼也讓人感到不適。然而,linux下的工具卻擁有驚人的功能,遠(yuǎn)遠(yuǎn)超出我們的想象。如果你是linux的初學(xué)者,那么閱讀下面的內(nèi)容將會(huì)讓你的使用更加得心應(yīng)手、更加高效。

1. 拋棄man,使用tldr優(yōu)雅地閱讀手冊

1.1 簡潔明了

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

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

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

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

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

tldr?tar 

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

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

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

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

即使你的英語水平不高,憑有限的詞匯量, 你也能知道應(yīng)該用什么參數(shù)了吧,可讀性極強(qiáng)

1.2 安裝tldr

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

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

如果出現(xiàn)了警告,有可能是因?yàn)?a href="http://www.wanjiajiazheng.cn/help/index.php/tag/nodejs" title="nodejsflickr.photos.notes.edit target="_blank">nodejs版本問題,用以下命令升級nodejs

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

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

sudo?n?stable sudo?node?-v 

然后再安裝tldr

sudo?npm?install?-g?tldr 

用以下命令可以對tldr更新

tldr?--update 

2. 讓你的終端分屏顯示

2.1 終端復(fù)用器(terminal multiplexer)

通過ssh登錄Linux只有一個(gè)命令行界面,用tmux,讓他分開!

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

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

可以任意調(diào)整各個(gè)窗格大小與數(shù)量

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

優(yōu)雅!一個(gè)命令即可安裝:

apt-get?install?tmux 

2.2 tmux操作

2.2.1 啟動(dòng)tmux

直接輸入

tmux 

如圖,出現(xiàn) 綠色欄就說明進(jìn)入tmux環(huán)境了。

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

2.2.2 退出tmux

一個(gè)exit命令即可退出。

exit 

2.2.3 分屏

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

tmux?split-windosw?-h 

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

2.2.4 切換當(dāng)前窗格

記住ctrl+b是tmux的各種快捷鍵的啟動(dòng)鍵

切換窗格步驟:

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

2.2.5 調(diào)整窗格大小

先切換到要調(diào)整的窗格,然后:

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

2.2.6 關(guān)閉一個(gè)窗格

先切換到要關(guān)閉的窗格,然后:

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

什么?還不夠優(yōu)雅、高效,還是習(xí)慣在Windows下寫好,再放到Linux下編譯?

是的,這樣是正確的選擇,完全沒問題,但是如果不是寫大型項(xiàng)目,其實(shí)直接在Linux下使用vim/vi會(huì)更加優(yōu)雅!

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

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

上面的只是初級優(yōu)雅,真正的優(yōu)雅來了。

3. 管道配合printf調(diào)試程序

Linux下,gdb是一個(gè)很好的調(diào)試工具,不會(huì)用的可以學(xué)一下,在這篇文章中,我并不打算介紹gdb,而是教你用管道機(jī)制,利用Linux里一些命令配合printf來調(diào)試。

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

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

3.1 基操:聯(lián)合grep找到想要的信息

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

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

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

./pstree.o?|grep?system 

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

ok,只輸出了含system的。

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

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

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

編輯

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

比如一個(gè)程序,里面的printf會(huì)運(yùn)行n次,為了測試程序,n可能很大,用head命令就相當(dāng)于想讓他讓運(yùn)行幾次就運(yùn)行幾次!

寫一個(gè)簡單的程序模擬一下該情況:

#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上優(yōu)雅地寫代碼-Linux生存指南

編輯

3.3 用sort排序輸出結(jié)果

sort的-u選項(xiàng)

在輸出行中去除重復(fù)行。

sort的-r選項(xiàng)

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

sort的-t選項(xiàng)和-k選項(xiàng)

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

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

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

加上-t選項(xiàng),后面跟間隔符,指定了間隔符之后,用-k來指定列數(shù)。

另外,管道機(jī)制可以讓命令連用

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

3.4 uniq命令統(tǒng)計(jì)輸出結(jié)果

uniq命令不帶任何參數(shù)會(huì)刪除重復(fù)出現(xiàn)的行

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

有了這個(gè)-c選項(xiàng),再配合sort就可以統(tǒng)計(jì)輸出了

如何在Linux上優(yōu)雅地寫代碼-Linux生存指南

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

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

相關(guān)閱讀

主站蜘蛛池模板: 一区二区在线播放视频 | 日韩免费视频一区二区 | 日本韩国视频在线观看 | 九九精品视频一区二区三区 | 婷婷中文在线 | 久久精品国产线看观看亚洲 | 国产精品黄网站 | 日本精品久久久一区二区三区 | 婷婷色吧| 美日韩一区二区 | a4yy私人毛片 | 97久久综合九色综合 | www.五月激情| 性做久久久久久网站 | 特级毛片免费播放 | 日韩操片 | 国产三级在线播放 | 天天操你| 久久精品国产亚洲片 | 一级特黄性色生活片一区二区 | 欧美中文字幕在线视频 | 美女久久精品 | xxxx8888免费看的视频 | 久久性精品 | 精品伊人久久大线蕉地址 | 美女一区二区在线观看 | 亚洲人成网站色7777 | 一个人看的www片免费高清视频 | ntr中文字幕亚洲综合 | 日韩视频一区二区在线观看 | 99国产精品高清一区二区二区 | a级免费视频 | zzijzzij亚洲日本护士 | 久久久久久九 | 亚洲综合性 | 一色屋色费精品视频在线观看 | 黄色毛片在线播放 | www黄com| 伊人网成人 | 日本黄色aa | aaa成人永久在线观看视频 |