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

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

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

pr 命令

pr 命令就是轉(zhuǎn)換文件格式的,可以把較大的文件分割成多個(gè)頁面進(jìn)行打印,并未每個(gè)頁面添加標(biāo)題.
語法:
pr option(s) filename(s)
pr 命令僅僅改變?cè)谄聊簧系妮敵鰳邮?不改變文件本身,和 sed 有點(diǎn)類似.常見選項(xiàng)如下:
-k:分成激烈打印,默認(rèn)為 1
-d:兩倍行距(并不是所有版本的 pr 都有效)
-h “title” 設(shè)置每個(gè)文件的標(biāo)題
-l PAGE_LENGTH :每頁顯示多少行.默認(rèn)是每個(gè)頁面一共 66 行.
-o MARGIN:每行縮進(jìn)的空格數(shù)
-w PAGE_WIDTH:多列輸出時(shí),設(shè)置頁面寬度,默認(rèn)是 72 個(gè)字符.
例如我有一個(gè)文件 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 會(huì)以文件的修改時(shí)間作為頁面標(biāo)題的時(shí)間戳;如果輸入時(shí)自管道而來,則使用當(dāng)前的時(shí)間,接上文件名稱(如果輸入的數(shù)據(jù)內(nèi)容在管道中,則為空)以及頁碼.
lp 和 lpr 命令將文件傳送到打印機(jī)進(jìn)行打印。使用 pr 命令將文件格式化后就可以使用這兩個(gè)命令來打印。例如:
pr -2 -h "food" food | lpr
命令成功執(zhí)行會(huì)返回一個(gè)表示打印任務(wù)的 ID,通過這個(gè) ID 可以取消打印或者查看打印狀態(tài)。

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

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

lpstat 和 lpq 命令

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

提示:等待打印的文件會(huì)被放到打印機(jī)的的緩存隊(duì)列中。

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

cancel 和 lprm 分別用來終止 lp 和 lpr 的打印請(qǐng)求。使用這兩個(gè)命令,需要指定 ID(由 lp 或 lpq 返回)或打印機(jī)名稱。
lprm 命令用來取消當(dāng)前用戶的正在等待打印的文件,使用任務(wù)號(hào)作為參數(shù)可以取消指定文件,使用橫線(-)作為參數(shù)可以取消所有文件。
lprm 會(huì)返回被取消的文件名。