Unix / Linux 基本工具 - 打印和電子郵件

Hello, 有志於成為程序員的你!今天,我們將深入探索一些在您的學習旅程中會發現非常有用的Unix/Linux工具。作為你鄰居的友好計算機老師,我興奮地指導你走進使用命令列打印文件和發送電子郵件的世界。別擔心你從未碰過終端機——我們將從最基本的開始,逐步學習。讓我們開始吧!

Unix / Linux - Basic Utilities

打印文件

打印文件可能聽起來像是一個瑣碎的任務,但相信我,知道如何從命令列執行這項操作可以節省很多時間。讓我們探討在Unix/Linux系統中打印文件的不同方法。

'lp' 指令

'lp' 指令是你打印文件的首選工具。它代表 "line printer"(行打印机),這個詞語可以追溯到計算機的早期時代,當時的打印机真的是一行一行地打印。現在,它與所有類型的打印机兼容。

這裡是基本語法:

lp [選項] 檔名

讓我們看一些例子:

  1. 打印名為 "report.txt" 的文件:

    lp report.txt

    這個指令會將文件發送到默認打印机。

  2. 打印多個文件:

    lp file1.txt file2.txt file3.txt

    你可以列出你想打印的所有文件,用空格分隔。

  3. 指定打印机:

    lp -d myprinter report.txt

    這會將文件發送到名為 "myprinter" 的打印机,而不是默認打印机。

  4. 打印多份副本:

    lp -n 3 report.txt

    這會打印三份文件的副本。

'lpstat' 指令

'lpstat' 指令是你的打印狀態檢查器。它提供了關於打印机和打印工作的信息。

這裡有一些有用的例子:

  1. 列出所有可用的打印机:

    lpstat -p
  2. 檢查所有打印工作的狀態:

    lpstat -o
  3. 獲取名為 "myprinter" 的特定打印机的詳細信息:

    lpstat -p myprinter -l

'cancel' 指令

犯錯了?別擔心!'cancel' 指令讓你可以取消打印工作。

基本語法:

cancel [選項] [工作ID]

例子:

cancel 123

這會取消ID為123的打印工作。

發送電子郵件

現在,讓我們來學習如何從命令列發送電子郵件。這可能看起來有些過時,但它對於自動化和快速通信非常有力。

'mail' 指令

'mail' 指令是你從終端發送電子郵件的瑞士軍刀。

基本語法:

mail [選項] 收件人

讓我們看一些例子:

  1. 發送一封簡單的電子郵件:

    echo "Hello, this is a test email" | mail -s "Test Subject" [email protected]

    這會發送一封標題為 "Test Subject" 和內容為 "Hello, this is a test email" 的電子郵件給 [email protected]

  2. 發送帶有附件的電子郵件:

    mail -s "Report Attached" -a report.pdf [email protected] < email_body.txt

    這會發送一封標題為 "Report Attached",附上 "report.pdf" 文件,並使用 "email_body.txt" 的內容作為電子郵件內容。

  3. 發送給多個收件人:

    echo "Meeting at 3 PM" | mail -s "Reminder" [email protected] [email protected] [email protected]

    這會將相同的電子郵件發送到多個收件人。

'mailx' 指令

'mailx' 是 'mail' 的增強版,具有更多功能。它的使用方法與 'mail' 相似,但它提供了更多靈活性。

例子:

echo "Content of the email" | mailx -s "Subject" -a attachment.pdf -c [email protected] [email protected]

這會發送一封帶有主題、附件和抄送收件人的電子郵件。

結合使用

現在,我們已經學會了打印和發送電子郵件的基本知識,讓我們來看一個結合兩者的實際範例:

#!/bin/bash

# 生成報告
echo "Daily Report" > report.txt
date >> report.txt
echo "Sales: $1000" >> report.txt

# 打印報告
lp -d officeprinter report.txt

# 電子郵件發送報告
cat report.txt | mail -s "Daily Sales Report" [email protected]

echo "Report printed and emailed successfully!"

這個腚本生成一個簡單的報告,將其打印到辦公室打印机,並通過電子郵件發送给老板。是不是很棒?

結論

恭喜你!你剛剛踏入了Unix/Linux打印和發送電子郵件工具的世界。記住,熟練是需要練習的,所以不要害怕嘗試這些指令。它們可能起初看起來有些令人生畏,但很快它們就會變得習以為常。

在我們結束之前,這裡是一個快速總結我們學過的命令的表格:

指令 目的 示例
lp 打印文件 lp report.txt
lpstat 檢查打印机狀態 lpstat -p
cancel 取消打印工作 cancel 123
mail 發送電子郵件 echo "Hello" \| mail -s "Subject" [email protected]
mailx 增強發送電子郵件 mailx -s "Subject" -a file.pdf [email protected]

繼續探索,持續學習,在你意識到之前,你將會成為命令列大師!下次見,快樂編程!

Credits: Image by storyset