日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

用終端打印機(jī)打印Unix文件

【用終端打印機(jī)打印Unix文件】
Unix系統(tǒng)提供了一個(gè)文件打印命令LP,格式為:LP文件名,功能是將指定文件在缺省的系統(tǒng)打印機(jī)上打印出來 。系統(tǒng)打印機(jī)通常指主機(jī)LP0或LP1打印口連接的并口打印機(jī),Unix OpenServer5.0通過Scoadmin→Print設(shè)置選單命令來設(shè)定 。

在一些情況下,我們經(jīng)常遇到需要在主機(jī)的某一或任一終端的打印機(jī)上完成文件打印,但Unix系統(tǒng)并沒有提供實(shí)現(xiàn)這一功能的現(xiàn)成命令 。通過Scoadmin→Print設(shè)置選單命令,可以將缺省的打印機(jī)定義到某個(gè)終端上 。但實(shí)際情況是:第一,要進(jìn)入超級(jí)用戶才能設(shè)定,設(shè)定后系統(tǒng)要重啟,打印機(jī)被固定在某一終端上 。第二,這個(gè)設(shè)定其實(shí)根本實(shí)現(xiàn)不了打印,用LP方式打印文件時(shí),只將文件送到設(shè)定的終端上顯示,絲毫不能使終端打印機(jī)動(dòng)作一下 。

怎樣才能方便地在主機(jī)任一終端打印機(jī)上實(shí)現(xiàn)文件打印功能呢?下面的小程序可以達(dá)到這個(gè)目的 。假定程序名為Ep,程序如下:

ls$1〉TERMPPlist

list=′cat TERMPPlist awk′{print$1}′′

for fl in$list

do

sleep 1

stty ixon ixoff opost-ixany

echo″33[5i″

cat$fl

echo″33[4i″

sleep 1

done

使用格式:Ep文件名〉/dev/ttyxx

例如,要將文本文件Sal.txt在/dev/tty25h終端打印機(jī)上打印出來,只需執(zhí)行如下命令:

Ep Sal.txt〉/dev/tty25h

需要解釋的是:

1.033[5i、033[4i是通用終端打印功能控制代碼ESC[5i、ESC[4i,如國光CJ320H終端 。具體可參閱相應(yīng)終端隨機(jī)使用手冊(cè) 。

2.這是在終端的并口打印機(jī)上實(shí)現(xiàn)的,所以,終端設(shè)置選單要設(shè)置成并口打印機(jī)和正確的打印機(jī)類型 。如何實(shí)現(xiàn)串口打印機(jī)打印需參閱終端隨機(jī)使用手冊(cè)的打印功能控制代碼 。

3.打印過程不在終端上顯示,即打印過程不影響終端顯示 。利用不同的控制代碼也可以實(shí)現(xiàn)同時(shí)顯示 。

要特別注意的是:

設(shè)置終端與主機(jī)通訊方式時(shí),一定要設(shè)置成“限制發(fā)送” 。如國光CJ320H設(shè)置選單中就有此功能 。否則,打印機(jī)打印出的文件(特別是字節(jié)數(shù)較大的文件)有可能隨機(jī)一截一截地丟失 。原因很簡單:終端和打印機(jī)忙且緩沖滿時(shí),來不及接收和處理主機(jī)發(fā)來的文件數(shù)據(jù),而主機(jī)并沒有得到終端和打印機(jī)忙而拒絕接收數(shù)據(jù)的稍等信號(hào),將文件數(shù)據(jù)照發(fā)不誤,造成數(shù)據(jù)丟失 。

另外,用Split命令可實(shí)現(xiàn)文件的分段打印 。如用以下三條語句替換前面的第一條語句,可實(shí)現(xiàn)對(duì)文件的每100行分段打印 。

rm TERMPP*2〉/dev/null

split-100$1TERMPP 2〉/dev/null

lsTERMPP*〉TERMPPlist 2〉/dev/null

該程序?qū)υ赨nix系統(tǒng)主機(jī)任一終端打印機(jī)上實(shí)現(xiàn)文件的打印非常靈活、方便 。

    推薦閱讀