歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> UNIX高手的20個習慣

UNIX高手的20個習慣

日期:2017/2/25 10:12:39   编辑:Unix基礎知識

Unix 下要采用的20個好習慣為:

1) 在單個命令中創建目錄樹。

2) 更改路徑;不要移動存檔。

3) 將命令與控制操作符組合使用。

4) 謹慎引用變量。

5) 使用轉義序列來管理較長的輸入。

6) 在列表中對命令分組。

7) 在 find 之外使用 xargs 。

8) 了解何時 grep 應該執行計數——何時應該繞過。

9) 匹配輸出中的某些字段,而不只是對行進行匹配。

10) 停止對 cat 使用管道。

11) 使用文件名自動完成功能 (file name completion)。

12) 使用歷史擴展。

13) 重用以前的參數。

14) 使用 pushdpopd 管理目錄導航。

15) 查找大型文件。

16) 不使用編輯器創建臨時文件。

17) 使用 curl 命令行實用工具。

18) 最有效地利用正則表達式。

19) 確定當前用戶。

20) 使用 awk 處理數據。

1. 在單個命令中創建目錄樹

清單 1 演示了最常見的 UNIX 壞習慣之一:一次定義一個目錄樹。

清單 1. 壞習慣 1 的示例:單獨定義每個目錄樹

~ $ mkdir tmp

~ $ cd tmp

~/tmp $ mkdir a

~/tmp $ cd a

20. 使用 awk 處理數據

awk 命令似乎始終處在 Perl 的陰影下,但它對於簡單、基於命令行的數據處理來說是一個快速、實用的工具。清單 15 顯示了如何開始使用 awk 命令。若要獲取文件中每行文本的長度,請使用 length() 函數。若要查看字符串 ing 是否出現在文件文本中,請使用 index() 函數,該函數返回 ing 首次出現的位置,這樣您就可以使用它來進行進一步的字符串處理。若要 tokenize(也就是說,將一行拆分為單詞長度的片段)某個字符串,請使用 split() 函數。
清單 15. 基本 awk 處理

$ cat text

testing the awk command

$ awk '{ i = length($0); print i }' text

23

$ awk '{ i = index($0,”ing”); print i}' text

5

$ awk 'BEGIN { i = 1 } { n = split($0,a," "); while (i <= n) {print a[i]; i++;} }' text

testing

the

awk

command

打印文本文件中的指定字段是一項簡單的 awk 任務。在清單 16 中,sales 文件包含每個銷售人員的姓名,後跟每月銷售數字。您可以使用 awk 命令來快速獲得每個月的銷售總額。缺省情況下,awk 將每個以逗號分隔的值視為不同的字段。您使用 $n 操作符來訪問每個字段。
清單 16. 使用 awk 對數據進行匯總

$cat sales

Gene,12,23,7

Dawn,10,25,15

Renee,15,13,18

David,8,21,17

$ awk -F, '{print $1,$2+$3+$4}' sales

Gene 42

Dawn 50

Renee 46

David 46

成為命令行高手需要進行一些實踐。按照相同的方式處理問題很簡單,因為您已經習慣了。擴展您的命令行資源可以顯著提高您的工作效率,並促使您朝著 UNIX 命令行高手的方向前進!

Copyright © Linux教程網 All Rights Reserved