鍍金池/ 教程/ Linux/ shell 學(xué)習(xí)第二十三天----打印
shell 學(xué)習(xí)四十一天----列出文件 ls 和 od 命令
shell 學(xué)習(xí)小結(jié)
shell 學(xué)習(xí)第二十八天----case 語句
shell 學(xué)習(xí)四十四天----尋找文件
shell 學(xué)習(xí)三十五天----波浪號展開與通配符
shell 學(xué)習(xí)三十八天----執(zhí)行順序和 eval
shell 學(xué)習(xí)四十八天----文件校驗和匹配
shell 學(xué)習(xí)四十天----awk 的驚人表現(xiàn)
shell 學(xué)習(xí)第十一天----sed 正則的精確控制
shell 學(xué)習(xí)第十七天----awk 命令
shell 學(xué)習(xí)三十九天----內(nèi)建命令
shell 學(xué)習(xí)四十五天----xargs
shell 學(xué)習(xí)三十七天----引用
shell 學(xué)習(xí)第十六天----join 練習(xí)
shell 學(xué)習(xí)第二十四天----提取開頭或結(jié)尾數(shù)行
shell 學(xué)習(xí)第九天----分組
shell 學(xué)習(xí)第五天----基本的 I/O 重定向
shell 學(xué)習(xí)第十五天----使用 cut 選定字段
shell 學(xué)習(xí)四十六天----文件系統(tǒng)的空間信息 df 和 du 命令
shell 學(xué)習(xí)第八天----擴展正則表達式 (ERE)
shell 學(xué)習(xí)第十九天----文本塊排序
shell 學(xué)習(xí)第二十一天----重新格式化段落
shell 學(xué)習(xí)三十六天----命令替換
shell 學(xué)習(xí)第二十天----sort 的其他內(nèi)容以及 uniq 命令
shell 學(xué)習(xí)四十二天----使用 touch 更新文件時間
shell 學(xué)習(xí)五十一天----top 命令查看進程列表
shell 學(xué)習(xí)第一天
shell 學(xué)習(xí)五十四天----進程系統(tǒng)調(diào)用的追蹤 strace
shell 學(xué)習(xí)五十天----查看進程 ps 命令
shell 學(xué)習(xí)第二十七天----退出狀態(tài)和 if 語句
shell 學(xué)習(xí)第二十三天----打印
shell 學(xué)習(xí)三十三天----關(guān)于重定向
shell 學(xué)習(xí)四十九天----進程建立
shell 學(xué)習(xí)第三十天----break,continue,shift,getopts
shell 學(xué)習(xí)五十五天----進程記賬
shell 學(xué)習(xí)總結(jié)一
shell 學(xué)習(xí)第二十六天----變量與算數(shù)
shell 學(xué)習(xí)第二十二天----計算行數(shù), 字?jǐn)?shù)以及字符數(shù)
shell 學(xué)習(xí)五十八天----/proc 文件系統(tǒng)
shell 學(xué)習(xí)第二十五天----神器的管道符
shell 學(xué)習(xí)第三十二天----read 讀取一行
sheel 學(xué)習(xí)第三天
shell 學(xué)習(xí)----小結(jié)
shell 學(xué)習(xí)第十八天----文本排序
shell 學(xué)習(xí)第三十一天----函數(shù)問題
shell 學(xué)習(xí)第十天----sed 查找與替換
shell 學(xué)習(xí)四十三天----臨時性文件的建立與使用
shell 學(xué)習(xí)四十七天----文件比較 cmp,diff,patch
shell 學(xué)習(xí)三十四天----printf 詳解
shell 學(xué)習(xí)五十七天 ----linux 任務(wù)管理,針對上一講的總結(jié)和擴展
shell 學(xué)習(xí)第六天----小結(jié)
shell 學(xué)習(xí)第十三天----sed 案例分析
shell 學(xué)習(xí)第七天----基礎(chǔ)正則表達式 (BRE)
shell 學(xué)習(xí)第十二天----行與字符串
shell 學(xué)習(xí)小結(jié)四
shell 學(xué)習(xí)第二十九天----循環(huán)
shell 學(xué)習(xí)五十二天----刪除進程 kill 命令
shell 學(xué)習(xí)五十六天----延遲進程調(diào)度
shell 學(xué)習(xí)第四天----華麗的 printf 輸出
shell 學(xué)習(xí)第十五天----join 連接字段
shell 學(xué)習(xí)完結(jié)篇----希望你能看到
shell 學(xué)習(xí)第二天
shell 學(xué)習(xí)五十三天----捕獲信號 trap

shell 學(xué)習(xí)第二十三天----打印

如果希望打印文件,最好預(yù)先處理一下,包括調(diào)整邊距,設(shè)置行高,設(shè)置標(biāo)題等,這樣打印出來的文件更加美觀。當(dāng)然,不處理也能打印,但是可能會比較丑陋。

pr 命令

pr 命令就是轉(zhuǎn)換文件格式的,可以把較大的文件分割成多個頁面進行打印,并未每個頁面添加標(biāo)題。

語法:

pr option(s) filename(s)

pr 命令僅僅改變在屏幕上的輸出樣式,不改變文件本身,和 sed 有點類似。常見選項如下:

  • -k:分成激烈打印,默認(rèn)為 1。
  • -d:兩倍行距 (并不是所有版本的 pr 都有效)。
  • -h:“title” 設(shè)置每個文件的標(biāo)題。
  • -l:PAGE_LENGTH :每頁顯示多少行。默認(rèn)是每個頁面一共 66 行。
  • -o:MARGIN:每行縮進的空格數(shù)。
  • -w:PAGE_WIDTH:多列輸出時,設(shè)置頁面寬度,默認(rèn)是 72 個字符。

例如我有一個文件 food,里面的內(nèi)容為:

Sweet Tooth
Bangkok Wok
Mandalay
Afghani Cuisine
Isle of Java
Big Apple Deli
Sushi and Sashimi
Tio Pepe's Peppers

使用命令:pr -2 -h "food" food

輸出結(jié)果為:

2015-06-22 12:27                      food                       第 1 頁
weet Tooth                          Isle of Java
Bangkok Wok                         Big Apple Deli
Mandalay                            Sushi and Sashimi
Afghani Cuisine                     Tio Pepe's Peppers'

解釋:pr 會以文件的修改時間作為頁面標(biāo)題的時間戳;如果輸入時自管道而來,則使用當(dāng)前的時間,接上文件名稱 (如果輸入的數(shù)據(jù)內(nèi)容在管道中,則為空) 以及頁碼。

lplpr 命令將文件傳送到打印機進行打印。使用 pr 命令將文件格式化后就可以使用這兩個命令來打印。例如:

pr -2 -h "food" food | lpr

命令成功執(zhí)行會返回一個表示打印任務(wù)的 ID,通過這個 ID 可以取消打印或者查看打印狀態(tài)。

如果你希望打印多份文件,可以使用 lp-nNum 選項,或者 lpr 命令的 -Num 選項。Num 是一個數(shù)字,可以隨意設(shè)置。

如果系統(tǒng)連接了多臺打印機,可以使用 lp 命令的 -dprinter 選項,或者 lpr 命令的 -Pprinter 選項來選擇打印機。printer 為打印機名稱。

lpstatlpq 命令

lpstat 命令可以查看打印機的緩存隊列(有多少個文件等待打?。ㄈ蝿?wù) ID、所有者、文件大小、請求時間和請求狀態(tài)。

提示:等待打印的文件會被放到打印機的的緩存隊列中。

使用 lpstat -o 命令查看打印機中所有等待打印的文件,lpstat -o 命令按照打印順序輸出隊列中的文件。

cancellprm 分別用來終止 lplpr 的打印請求。使用這兩個命令,需要指定 ID(由 lplpq 返回)或打印機名稱。

lprm 命令用來取消當(dāng)前用戶的正在等待打印的文件,使用任務(wù)號作為參數(shù)可以取消指定文件,使用橫線 (-) 作為參數(shù)可以取消所有文件。lprm 會返回被取消的文件名。