就其本質而言,Unix 是一個「超級工具」環境。即使是 Unix 的初學者, 都能很快地領會到存在於 shell 程式設計、別名與歷史機制以及各種編輯工具中的無窮威力。 然而,只有極少數的人們真的精通 Unix 所提供的強大能力。要學習的東西實在是太多了!
「Unix 超級工具」第三版實實在在地含有數以千計的秘訣、命令稿與技巧, 可以讓 Unix 的使用變得更容易、更有有效率且甚至更有樂趣。本書由上百篇的短文組成, 內含大量與其它章節之間的交互參考,可讓你從一篇新的文章快速地翻閱至另一篇新的文章。 當你看到一個接一個有趣的秘訣時,你會發現很難將本書放下來。
隨著 Linux 越來越普及以及 Mac OS X 的到來,Unix 也變成一種新穎且令人興奮的事物。 因為 Unix 不再被視為是難以相處的作業系統,越來越多的使用者第一次發現了它的優點。 這是一本最暢銷且為讀者喜愛的書,在最新版中充滿了幾乎是關於 Unix 各個面向的參考說明, 包括使用者需要知道的所有新技術。除了關於 Linux、Mac OS X 與 BSD 不可或缺的資訊外, 「Unix 超級工具」現在為 bash、zsh 與新的 shell,提供了較多的篇幅,而且對於 最新的公用程式與應用軟體也有較多的討論。有些文章的重點集中在安全性與 Internet 的存取, 還有新的一章討論如何從 Windows 存取 Unix,點出了當今各種系統的異質本性。 你也會發現本書介紹了更多關於軟體的安裝與包裝,以及 Perl 與 Python 的基本資訊。
伴隨著本書的網站提供了一些可供 Unix 使用者取用的最佳軟體,你可以下載並將它們加到你自己的超級工具箱中。 不管你是初學者還是 Unix 的超級使用者,你都會發現自己正在此新版「Unix 超級工具」中閱讀挖掘資訊寶藏, 並將它們添加到你的知識積蓄中。想要來點新鮮的事物嗎?請先看看本書,你必然會找到一項秘訣或技巧, 而讓你不再以困難的方法學習事物。
目錄
如何使用本書
序
第一篇 基本 Unix 環境
第 1 章 簡介
1.1 Unix 到底有何特別?
1.2 你身上增長的威力
1.3 Unix 的核心
1.4 與 Unix 溝通
1.5 程式係設計用於協同工作
1.6 有許多種 shell
1.7 執行中的是哪個 Shell?
1.8 每個人都能為 Shell 設計程式
1.9 內部與外部命
1.10 系統核心與 Daemon
1.11 檔名
1.12 副檔名
1.13 通配字符
1.14 檔案系統的樹狀結構
1.15 家(home)目錄
1.16 建造路徑
1.17 檔案存取權限
1.18 超級使用者(Root)
1.19 檔案何時不是檔案?
1.20 命令稿
1.21 Unix 網路與通訊
1.22 X 視窗系統
第 2 章 取得協助
2.1 man 命令
2.2 whatis:單行命令摘要
2.3 whereis:尋找命令所在位置
2.4 搜尋線上手冊頁
2.5 Unix 系統如何記得自己的名字
2.6 我用的是哪個版本?
2.7 我在哪個 tty 上?
2.8 誰在系統上?
2.9 info 命令
第二篇 自訂你的環境
第 3 章 建造你的 Unix Shell
3.1 當你登入時發生了何事呢?
3.2 Mac OS X Terminal 應用程式
3.3 Shell 設定檔—Which、Where 與 Why
3.4 登入 shell、交談式 shell
3.5 Shell 設定檔做些什麼?
3.6 更改帳號設定的技巧:保持 shell 待命
3.7 在 Shell 設定檔中使用絕對路徑
3.8 設定檔未在你期望的時候被讀取
3.9 在設定 prompt 測試中的陷阱
3.10 為不同的終端機進行自動設定
3.11 終端機設定:測試 TERM
3.12 終端機設定:測試遠端主機名稱與 X 顯示器
3.13 終端機設定:測試通訊埠
3.14 終端機設定:測試環境變數
3.15 終端機設定:搜尋終端機表格
3.16 終端機設定:測試視窗大小
3.17 終端機設定:設定與測試視窗名稱
3.18 供每個主機設定用的 .cshrc.$HOST 檔
3.19 建造一個「登入」Shell
3.20 RC 檔
3.21 製作自己的手冊頁而無需學習 troff
3.22 使用 -man 巨集撰寫簡單的手冊頁
第 4 章 與你的環境互動
4.1 設定提示的基本原則
4.2 靜態提示
4.3 動態提示
4.4 模擬動態提示
4.5 C Shell 的提示會對 vi、rsh 等造成問題
4.6 利用內建命令快速設定提示
4.7 多行 Shell 提示
4.8 視窗標題或狀態列中的通訊期資訊
4.9 供新手使用的「選單提示」
4.10 Shell 提示中的強調與顏色
4.11 右方提示
4.12 使用 $SHLVL 顯示 Subshell 層級
4.13 空白的 Shell 提示有何好處?
4.14 提示中的 dirs:比 $cwd 更好
4.15 外部命令發送訊號以設定變數
4.16 前提示、前執行與週期性命令
4.17 登出時執行命令
4.18 在 Bourne/Korn Shell 登出時執行命令
4.19 阻止 Bourne Shell 意外的登出
第 5 章 充分瞭解終端機、xterm 與 X 視窗
5.1 關於終端機有許多需要知道的事
5.2 終端機資料庫的概念
5.3 於登入時設定終端機類型
5.4 查詢終端機類型:qterm
5.5 查詢 xterm 的大小:resize
5.6 核對清單:登入時終端機掛掉
5.7 使用 stty 找出終端機的設定
5.8 設定自己的清除、結束與中斷字符
5.9 使用 xterm 與其類似工具
5.10 登入 xterms 與 rxvts
5.11 使用捲軸
5.12 要儲存多少行?
5.13 xterm 中簡單的複製與剪貼
5.14 基於選取目的所定義的字組(WORD)
5.15 設定標題列與圖示文字
5.16 選用字型的簡單方法
5.17 xterm 選單
5.18 動態地改變字型
5.19 使用 xclipboard
5.20 選取大範圍文字的問題
5.21 在視窗間複製與剪貼的秘訣
5.22 使用 xterm -e 執行單一命令
5.23 不要為 xterm -e 的引數加上引號
第 6 章 你的 X 環境
6.1 使用 xmodmap 定義鍵盤按鍵與按鈕按鍵
6.2 使用 xev 學習按鍵符號的對映
6.3 X 資源語法
6.4 X 的事件轉譯
6.5 設定 X 資源:概觀
6.6 使用 -xrm 選項設定資源
6.7 -name 如何影響資源
6.8 以 xrdb 設定資源
6.9 列出用戶端程式目前的資源:appres
6.10 啟動遠端 X 用戶端程式
第三篇 檔案與目錄操作
第 7 章 目錄組織
7.1 什麼?我,組織?
7.2 許多家目錄
7.3 存取目錄
7.4 供程式與命令稿所用的 bin 目錄
7.5 私有(個人)目錄
7.6 命名檔案
7.7 建立更多目錄!
7.8 讓目錄的建立更容易
第 8 章 目錄與檔案
8.1 除了 find 命令以外的所有東西
8.2 Unix 檔案的三個時間
8.3 使用 ls -t 與 ls -u 尋找最舊或最新的檔案
8.4 使用 ls -R 列出全部子目錄
8.5 ls -d 選項
8.6 彩色 ls
8.7 GNU ls 的一些特色
8.8 可列出最近更改之檔案的 csh 別名
8.9 使用 ls -A 與 -a 顯示隱藏檔
8.10 有用的 ls 別名
8.11 無法存取檔案?尋找檔名中的空格
8.12 顯示檔名中的非列印字符
8.13 依類型計算檔案
8.14 依年紀與大小列出檔案
8.15 newer:印出最新檔案的名稱
8.16 oldlinks:找出無效的符號連結
8.17 自動挑選唯一的檔名
第 9 章 使用 find 尋找檔案
9.1 如何使用 find
9.2 在深的目錄樹中搜尋
9.3 別忘了 -print
9.4 尋找名稱特殊的檔案
9.5 尋找舊的檔案
9.6 成為 find 搜尋運算符的專家
9.7 find 找到的時間
9.8 精確的檔案—時間比較
9.9 對找到的東西執行命令
9.10 使用 -exec 建立自訂的測試
9.11 應用自訂的 -exec 測試
9.12 使用單一命令尋找許多東西
9.13 依類型尋找檔案
9.14 依大小尋找檔案
9.15 依存取權限尋找檔案
9.16 依擁有者與群組搜尋
9.17 複製目錄樹
9.18 使用「快速 find」資料庫
9.19 結合「快速 find」資料庫與通配字符
9.20 使用 find 資料庫(更)快速尋找檔案
9.21 以 grep 處理目錄樹
9.22 lookfor:哪個檔案含有該文字?
9.23 使用 Shell 陣列瀏覽目錄
9.24 尋找檔案的(硬式)連結
9.25 使用 -prune 尋找檔案
9.26 在當前目錄中的快速 find
9.27 在 find 中跳過目錄樹的某些部份
9.28 避免 find 搜尋網路檔案系統
第 10 章 連結、更名與複製檔案
10.1 複製檔案是何等複雜
10.2 目錄中真的有些什麼?
10.3 有兩個或更多名稱的檔案
10.4 更多關於連結的事物
10.5 建立與移除連結
10.6 腐壞的符號連結
10.7 連結至目錄
10.8 顯示符號連結的真實檔名
10.9 更名、複製或比較一組檔案
10.10 交談式地更改一串檔名
10.11 完成它的另一個方法
10.12 使用 cp -r 複製目錄樹
10.13 使用 tar 與管道複製目錄樹
第 11 章 比較檔案
11.1 使用 diff 檢查差異
11.2 使用 diff3 比較三個不同版本
11.3 上下文 diff
11.4 並排的 diff:sdiff
11.5 使用 sdiff 選擇多方內容
11.6 diff 與定位點的問題
11.7 cmp 與 diff
11.8 使用 comm 比較兩個檔案
11.9 更友善的 comm 輸出
11.10 make 不是只供程式設計師使用!
11.11 make 的更多用途
第 12 章 顯示檔案內容
12.1 解開難題
12.2 cat 有何好處?
12.3 「less」就是更多
12.4 使用 cat -v 或 od -c 顯示非列印字符
12.5 空白中有些什麼?
12.6 找出檔案類型
12.7 把額外的空行壓扁
12.8 如何查看檔案的結尾:tail
12.9 對 tail 的精細控制
12.10 如何查看增長中的檔案
12.11 GNU tail 的檔案追蹤
12.12 印出檔案的開頭
12.13 顯示行號
第 13 章 搜尋檔案
13.1 不同版本的 grep
13.2 使用 grep 搜尋文字
13.3 尋找不相符的文字
13.4 使用 egrep 的擴充搜尋文字
13.5 對一串樣式進行 grep
13.6 近似 grep:agrep
13.7 使用 rcsgrep 搜尋 RCS 檔
13.8 GNU 的上下文 greps
13.9 使用 sed 的多行上下文 grep
13.10 複合搜尋
13.11 快速縮小搜尋
13.12 佯裝大小寫無關的搜尋
13.13 尋找某一欄的字符
13.14 使用「look」進行快速搜尋與拼字檢查
13.15 尋找二進位檔案中的文字
13.16 醒目的 grep
第 14 章 移除檔案
14.1 創造與毀滅的循環
14.2 Unix 如何追蹤檔案:Inodes
14.3 rm 與其危險
14.4 讓 rm 安全一點的技巧
14.5 永遠使用 yes 回答「Yes」或「No」
14.6 移除某些,保留某些
14.7 交談式移除檔案較快的方法
14.8 在某些目錄中較安全的檔案刪除
14.9 安全刪除:贊成與反對的立論
14.10 侵害性的刪除:rm -f
14.11 刪除帶有奇怪名稱的檔案
14.12 使用通配字符刪除帶有奇怪名稱的檔案
14.13 處理開頭為破折號(-)的檔名
14.14 使用 unlink 移除帶有奇怪名稱的檔案
14.15 藉由 i-number 移除奇怪的檔案
14.16 刪除目錄的問題
14.17 刪除陳舊的檔案
14.18 移除每個檔案但保留一個
14.19 使用 find 清理不需要的檔案
第 15 章 最佳化磁碟空間
15.1 磁碟空間是便宜的
15.2 將檔案清空而非移除
15.3 使用「位元桶」節省日誌檔與信箱的空間
15.4 使用連結節省空間
15.5 限制檔案大小
15.6 壓縮檔案以節省空間
15.7 節省空間:tar 與 compress 一棵目錄樹
15.8 有多少磁碟空間?
15.9 壓縮目錄樹:微調
15.10 使用 strip 節省執行檔佔用的空間
15.11 磁碟配額
第四篇 基礎編輯
第 16 章 拼字檢查、字數計算與本文分析
16.1 Unix 的 spell 命令
16.2 使用 ispell 交談式地檢查拼字
16.3 我該如何拼那個字?
16.4 深入 spell
16.5 在 ispell 的字典中增加單字
16.6 計算行數、字數與字符數:wc
16.7 Find a a Double word
16.8 尋找終止項目
16.9 只要單字,拜託
第 17 章 vi 的秘訣與技巧
17.1 vi 編輯器:為何內容如此之多?
17.2 涵蓋內容
17.3 使用 vi 編輯多個檔案
17.4 檔案之間的編輯
17.5 vi 的本地設定
17.6 使用緩衝區搬移或複製文字
17.7 使用編號緩衝區取回刪除的文字
17.8 使用搜尋樣式與全域命令
17.9 在 vi 中確認替代
17.10 保留原始檔案,寫入新檔
17.11 儲存部份檔案
17.12 附加至現存檔案
17.13 依樣式搬移文字區塊
17.14 有用的全域命令(使用樣式比對)
17.15 計算出現次數;停止搜尋繞回(Wraps)
17.16 將行中每個字的第一個字母改成大寫
17.17 在個別檔案中儲存對各個檔案的設定
17.18 以 Unix 命令過濾文字
17.19 vi 的檔案還原與網路檔案系統
17.20 小心使用 vi -r 復原的緩衝區
17.21 Shell 跳脫:使用 Unix 命令時執行另一個命令
17.22 vi 複合搜尋
17.23 vi 的單字縮寫
17.24 將 vi 的縮寫當成命令使用(在 vi 的編輯檔案之間剪貼)
17.25 使用 vi 的縮寫以修正打字錯誤
17.26 vi 的行命令與字符命令
17.27 暫存空間不足?使用另一個目錄
17.28 整理文字行
17.29 使用復原尋找你的位置
17.30 使用 .exrc 檔設定 vi
第 18 章 在 vi 中建立自訂命令
18.1 為何鍵入比需要的還多呢?
18.2 使用 vi 的 map 命令節省時間與按鍵
18.3 當你使用 map! 時失去了什麼
18.4 vi 的 @- 函式
18.5 將文字貼入執行 vi 視窗的按鍵對映
18.6 保護按鍵避免被 ex 解譯
18.7 重複編輯動作的對映
18.8 在 vi 中對映按鍵的更多範例
18.9 重複一個 vi 的按鍵對映
18.10 不使用 CAPS LOCK 鍵入大寫字母
18.11 不使用方向鍵而在文字輸入模式中移動游標
18.12 使用 vi 對映時不要失去重要功能:使用 noremap
18.13 分割長行的 vi 巨集
18.14 檔案備份巨集
第 19 章 GNU Emacs
19.1 Emacs:另一個編輯器
19.2 Emacs 功能:一份洗衣店清單
19.3 客製化以及如何取消
19.4 備份與自動儲存檔案
19.5 將 Emacs 設定在覆寫模式
19.6 命令完成
19.7 Mike 最喜歡的時間節約器
19.8 理性的搜尋
19.9 使用 Emacs 前解除 PWD
19.10 在檔案中插入二進位字符
19.11 使用單字縮寫模式
19.12 提供探究 Emacs 之用的目錄
19.13 可笑的娛樂
第 20 章 批次編輯
20.1 為什麼行編輯器不是恐龍
20.2 撰寫編輯命令稿
20.3 行定址
20.4 有用的 ex 命令
20.5 在 vi 中執行編輯命令稿
20.6 只修改一次卻能更改許多檔案
20.7 ed/ex 批次編輯:典型的例子
20.8 批次編輯的陷阱:編輯器對大型檔案失效
20.9 patch:不同檔案廣義的修補更新
20.10 快速參考:awk
20.11 awk 的版本
第 21 章 你不能全然稱此為編輯
21.1 為何不能呢?
21.2 使用 fmt 整理文字
21.3 fmt 的替代品
21.4 整理程式註解區塊
21.5 使用 behead 移除郵件/新聞標頭
21.6 使用 dd 的低階檔案屠宰場
21.7 offset:內縮文字
21.8 將檔案中的行齊中排列
21.9 在固定位置分割檔案:split
21.10 藉上下文分割檔案:csplit
21.11 使用 tr 深入探究字符
21.12 將「二進位」檔案編碼成 ASCII 檔
21.13 使用 dd 進行文字轉換
21.14 剪下直欄或欄位
21.15 使用 pr 產生分欄文字
21.16 使用 column 自動產生直欄
21.17 將鋸齒狀的直欄弄直
21.18 貼入直欄中
21.19 使用 join 連結行
21.20 什麼是(或不是)獨一無二的?
21.21 旋轉文字
第 22 章 排序
22.1 讓事物井然有序
22.2 排序欄位:sort 如何排序
22.3 更改 sort 的欄位分界符號
22.4 空白欄位分界符號造成的混淆
22.5 字母與數值排序
22.6 各種 sort 提示
22.7 lensort:依據行長排序
22.8 依姓排序人名清單
第五篇 行程與系統核心
第 23 章 工作控制
23.1 概述工作控制
23.2 工作控制的基礎
23.3 有效地使用工作
23.4 使用工作控制的一些陷阱
23.5 「目前工作」並非總是你所預期的
23.6 工作控制與 autowrite:真正的時間節約器!
23.7 系統過載?試著停止一些工作
23.8 當工作改變狀態時進行通知
23.9 使用 stty tostop 停止背景輸出
23.10 nohup
23.11 與行程斷絕關係
23.12 Linux 虛擬主控台
23.13 停止遠端登入期
第 24 章 啟動、停止與結束行程
24.1 本章有些什麼
24.2 fork 與 exec
24.3 管理行程:整體概念
24.4 Subshells
24.5 ps 命令
24.6 控制終端機
24.7 追蹤行程
24.8 為何 ps 將某些命令顯示在括號中
24.9 /proc 檔案系統
24.10 訊號是什麼?
24.11 結束前景工作
24.12 使用 kill 摧毀行程
24.13 列印佇列看守器:可重新啟動的 Daemon Shell 命令稿
24.14 結束你所有的行程
24.15 依名稱結束行程?
24.16 交談式地結束行程
24.17 行程失控?只要停止它們
24.18 清理無法結束的行程
24.19 為何你無法結束殭屍
24.20 你視窗的行程鏈
24.21 沒有 shell 的終端機視窗
24.22 藉由結束其行程而關閉視窗
第 25 章 延緩的執行
25.1 建造軟體機器人的簡單方法
25.2 週期性執行程式:cron 工具
25.3 增加 crontab 項目
25.4 將標準輸入包含於 cron 項目中
25.5 at 命令
25.6 讓你的 at 工作保持安靜
25.7 檢查與移除工作
25.8 避開其它 at 與 cron 工作
25.9 等候一小段時間:sleep
第 26 章 系統效能與側寫
26.1 時間就是一切
26.2 計時程式
26.3 哪些命令正在執行而且執行了多久?
26.4 檢查系統負載:uptime
26.5 知道何時對其他使用者「nice」而何時不
26.6 漂亮的陷阱
26.7 改變執行中工作的 niceness
名詞解釋
索引
如何使用本書
序
第一篇 基本 Unix 環境
第 1 章 簡介
1.1 Unix 到底有何特別?
1.2 你身上增長的威力
1.3 Unix 的核心
1.4 與 Unix 溝通
1.5 程式係設計用於協同工作
1.6 有許多種 shell
1.7 執行中的是哪個 Shell?
1.8 每個人都能為 Shell 設計程式
1.9 內部與外部命
1.10 系統核心與 Daemon
1.11 檔名
1.12 副檔名
1.13 通配字符
1.14 檔案系統的樹狀結構
1.15 家(home)目錄
1.16 建造路徑
1.17 檔案存取權限
1.18 超級使用者(Root)
1.19 檔案何...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。