程式設計師需要了解的10個Linux命令
導讀 | 作為一個程式設計師,在軟體開發職業生涯中或多或少會用到 ,並且可能會使用 來檢索需要的資訊。本文將為各位開發者分享10個有用的Linux ,希望對你會有所幫助。 |
以下就是今天我們要介紹的Linux命令:
man touch, cat and less sort and grep cut sed tar find diff uniq chmod
接下來讓我們逐一來詳細介紹。
第一個你需要知道的Linux命令就是man命令,該命令可以顯示指定命令的用法和描述。比如你想知道ls命令的用法和選項,可以在終端執行“man ls”:
語法: man man ls
~# man ls LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is speciâ fied. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with .
touch命令可以在Linux系統中建立大小為0的任意型別檔案,作為程式開發者,當你需要在Linux伺服器上建立檔案時,可以使用touch命令:
語法: touch touch demo.txt
~# touch demo.txt root@devopscube:~# ls demo.txt
cat命令用來檢視檔案的內容,但是使用cat命令並不能編輯檔案的內容,它僅僅是可以瀏覽檔案內容。cat命令不支援鍵盤上下鍵翻頁。
語法: cat cat demo.txt
同樣的less命令也可以讓你瀏覽檔案,less命令非常快,並且支援上下鍵檢視檔案的開頭和末尾。然而more命令和它類似,只是more命令只能用enter鍵實現檔案的向前翻頁,不支援回退。
語法: less more
less demo.txt more demo.txt
sort命令用來對檔案內容進行排序。建立一個名為test.txt的檔案,並且把以下內容複製到該檔案中:
1 mike level intermediate jan 10 lucy level beginer mar 45 Dave level expert dec 4 dennis start beginner jul 7 Megan employee trainee feb 58 Mathew Head CEO nov
上面的例子中,第二列是名稱,所以如果你想對名稱列按字母排序,就可以使用“-k”選項,並標註列號,比如“-k2”:
語法: sort sort -k2 test.txt
排序結果
~# sort -k2 test.txt 45 Dave level expert dec 4 dennis start beginner jul 10 lucy level beginer mar 58 Mathew Head CEO nov 7 Megan employee trainee feb 1 mike level intermediate jan
第一列是數字,如果你想按數字排序,可以使用“-h”選項。如果數字在不同列上,你可以在“-h”選項後使用“-k”選項:
~# sort -h test.txt 1 mike level intermediate jan 4 dennis start beginner jul 7 Megan employee trainee feb 10 lucy level beginer mar 45 Dave level expert dec 58 Mathew Head CEO nov
最後一列是月份,你可以使用“-M”選項來讓檔案內容按月份排序:
~# sort -k5 -M test.txt 1 mike level intermediate jan 7 Megan employee trainee feb 10 lucy level beginer mar 4 dennis start beginner jul 58 Mathew Head CEO nov 45 Dave level expert dec
注:如果你想消除重複的行,可以在sort命令後使用“-u”選項。
使用“-r”選項,是檔案倒序排列:
~# sort -h -r test.txt 58 Mathew Head CEO nov 45 Dave level expert dec 10 lucy level beginer mar 7 Megan employee trainee feb 4 dennis start beginner jul 1 mike level intermediate jan
Grep命令非常強大,系統管理員經常會用到它。grep命令可以在檔案中搜尋指定格式的字串,同時對其進行標準輸出。
語法: grep "" grep "Mathew" test.txt
~# grep "dennis" test.txt 4 dennis start beginner jul
上面命令的輸出結果是包含該子字串的,如果你想檢索完整的單詞,你需要新增“-i”選項。同時,也可以用grep命令在多個檔案中搜尋字串,命令程式碼如下:
while(!game_over) { for each possible move: count_no_of_merges_for_2-tiles and 4-tiles choose the move with large number of merges }
grep "dennis" test1.txt test2.txt test3.txt
當然你也可以用正規表示式來匹配字串。
cut命令可以讓你用列或者分隔符提取檔案中的指定部分。如果你要列出檔案中某列的全部內容,可以使用“-c”選項。例如,下面將從test.txt檔案中提取第1、2列的全部內容。
cut -c1-2 test.txt ~# cut -c1-2 test.txt 1 10 45 4 7 58
如果你希望從檔案中提取指定的字串,那麼你可以使用分隔符選項“-d”和“-f”選項選中列。例如,我們可以利用cut命令提取names列:
cut -d' ' -f2 test.txt ~# cut -d' ' -f2 test.txt mike lucy Dave dennis Megan Mathew
下面的例子從/etc/passd file中提取users列:
cut -d':' -f1 /etc/passwd
sed 是一種線上編輯器,它一次處理一行內容。處理時,把當前處理的行儲存在臨時緩衝區中,稱為“模式空間”(pattern space),接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案內容並沒有 改變,除非你使用重定向儲存輸出。
如果你想透過搜尋替換檔案中的指定內容,你可以使用“s”選項來檢索到它然後將它替換。
語法: sed 's///' test.txt
例如,在test.txt檔案中用“michael”替換“mike”:
sed 's/mike/michael/' test.txt ~# sed 's/mike/michael/' test.txt 1 michael level intermediate jan 10 lucy level beginer mar 45 Dave level expert dec 4 dennis start beginner jul 7 Megan employee trainee feb 58 Mathew Head CEO nov
tar命令用來壓縮和解壓縮檔案,其中經常會用到“-cf”和“-xf”選項。
語法: tar
讓我們將test.txt檔案打包:
tar -cf test.tar test.txt ~# tar -cf test.tar test.txt root@devopscube:~# ls test.tar test.txt
用“-C”選項將剛才打包好的test.tar檔案解壓縮至“demo”目錄:
tar -xf test.tar -C /root/demo/ ~# tar -xf test.tar -C /root/demo/ root@devopscube:~# cd demo/ root@devopscube:~/demo# ls test.txt
find命令用來檢索檔案,可以用“-name”選項來檢索指定名稱的檔案:
find -name find -name test.txt ~#/home/ubuntu# cd ~ root@devopscube:~# find -name test.txt ./demo/test.txt ./test.txt
你也可以用“/ -name”來檢索指定名稱的資料夾:
find / -name passwd ~# find / -name passwd /etc/cron.daily/passwd /etc/pam.d/passwd /etc/passwd /usr/share/lintian/overrides/passwd
diff命令用來找出2個檔案的不同點。diff命令透過分析檔案內容,然後將不同的行列印出來,下面的例子可以找出兩個檔案test和test1的不同點
語法: diff diff test.txt test1.txt
~# diff test.txt test1.txt 7c7 < 59 sdfsd --- > 59 sdfsd CTO dec
uniq命令用來過濾檔案中的重複行:
語法: uniq uniq test.txt
~# uniq test.txt 1 mike level intermediate jan 10 lucy level beginer mar 45 Dave level expert dec 4 dennis start beginner jul 7 Megan employee trainee feb 58 Mathew Head CEO nov
chmod命令用來改變檔案的讀/寫/執行許可權,許可權數值如下所示:
4 - read permission 2 - write permission 1 - execute permission 0 - no permission
下面的命令可以給test.txt檔案賦最高的許可權:
chmod 755 test.txt
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2914592/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端程式設計師需要了解的MySQL前端程式設計師MySql
- 程式設計師需要了解的邏輯學思想程式設計師
- 程式設計師需要了解的硬核知識之CPU程式設計師
- 程式設計師需要了解的硬核知識之磁碟程式設計師
- 注意啦!10 個你需要了解的 Linux 網路和監控命令Linux
- 【Linux常用命令①】程式設計師必須掌握的Linux命令Linux程式設計師
- 程式設計師需要了解的硬核知識之控制硬體程式設計師
- 程式設計師需要了解的硬核知識之記憶體程式設計師記憶體
- 程式設計師需要了解的硬核知識之二進位制程式設計師
- 程式設計師需要了解的硬核知識之壓縮演算法程式設計師演算法
- 準備程式設計師面試?你需要了解這 14 種程式設計面試模式程式設計師面試模式
- 程式設計師需要了解的硬核知識之作業系統和應用程式設計師作業系統
- 程式設計師的10個好習慣程式設計師
- 程式設計師需要懂點的批處理命令之bat(1.0)程式設計師BAT
- 程式設計師必須要了解的web安全程式設計師Web
- 新Rust程式設計師需要學習的9個功能Rust程式設計師
- 一個合格的程式設計師,需要哪些必備技能?程式設計師
- JAVA 程式設計師需要用到 10 個測試框架和庫Java程式設計師框架
- windows程式設計師開發linux程式的頭一個月Windows程式設計師Linux
- 程式設計師是一個需要天賦的職業嗎?程式設計師
- 玩轉flutter create命令,做10倍程式設計師Flutter程式設計師
- 你需要程式設計師鼓勵師嗎?程式設計師
- 為什麼Python程式設計師需要學習Linux系統?Python程式設計師Linux
- Java程式設計師需要學習的技能Java程式設計師
- Java程式設計師都需要懂的「反射」Java程式設計師反射
- .Net WEB 程式設計師需要掌握的技能Web程式設計師
- 30個Python程式設計師需要知道的程式設計技巧,可以讓你的工作事半功倍!Python程式設計師
- 程式設計師程式設計入門一定知道!程式設計師需要學什麼?程式設計師
- 程式設計師,真有必要了解架構嗎?程式設計師架構
- 10個程式設計好習慣:優秀程式設計師的經驗分享程式設計師
- 讓程式設計師假裝很忙的三個Linux命令列工具,程式碼雨是這樣實現的!程式設計師Linux命令列
- 那個程式設計師的 Linux 常用軟體清單 | Linux 工具篇程式設計師Linux
- 一個老程式設計師的程式設計之路,寫給年輕的程式設計師們程式設計師
- @程式設計師,你需要點財商程式設計師
- Java全棧程式設計師之01:做個Linux下的程式猿Java全棧程式設計師Linux
- 頂尖程式設計師的10個優良習慣程式設計師
- 每個程式設計師都需要知道的概念和術語 - codeburst程式設計師
- 老程式設計師的10個程式設計小技巧,教你寫出高質量程式碼!程式設計師