If you're working on a Unix or Linux terminal and want instant alerts for incoming emails then the biff
command is just what you need. Originally built for early Unix systems, biff is a lightweight terminal-based mail notification tool that instantly pops up when new mail arrives. It gets its name from a real dog at UC Berkeley, known for barking whenever the mailman showed up—fitting for a tool that does the same in your terminal
Unlike modern GUI email clients, which consume more resources and often delay alerts, biff works asynchronously through the comsat daemon, making it perfect for users working over SSH, managing remote Linux servers, or coding in minimal environments. It even shows the first few lines of the message directly in your terminal, giving you just enough info to decide if it's urgent—no switching windows or opening mail clients needed.
What is Biff?
Biff is like a text message notification for your Unix terminal – it pops up when you get new emails. Created for old-school systems without fancy GUIs, it’s named after a UC Berkeley dog that barked when mail arrived!
Syntax:
biff [ y | n ]

Options:
- Y : This option is to enable the mail notification.
- N : This option is to disable the mail notification.
Note:
- When mail notification is enabled, the header and first few lines of the message will be printed on your screen whenever mail arrives. To enable the notifications you have to pass this command:
biff y
- Biff operates asynchronously via the comsat service. If that service is not enabled, biff will not do anything.
- Turn Off Alerts of notification
biff n # "No more distractions!"
How Biff Works
Here are how the biff works:
- Comsat Service: Biff relies on the
comsat
(communications satellite) daemon—a background service that listens for new mail events. It acts like a notification server that pushes updates to your terminal instantly when a new mail arrives. - Asynchronous Alerts: Unlike GUI clients that interrupt your workflow or require you to switch windows, Biff alerts pop up in your current terminal session—while you're typing, compiling, or managing the server. No user action is needed.
- Preview Feature: Biff doesn't just say "You’ve got mail." It smartly shows you the email sender and the first 15 lines of the message, allowing quick context without opening a mail client.
Biff is a classic Linux utility designed to notify users immediately when new mail arrives
Feature | Biff | GUI Email Clients |
---|
Speed | Instant notifications as soon as new mail hits the server—no need to refresh or check manually. | Often requires manual refresh or relies on periodic syncing, which might delay alerts. |
Resource | Extremely lightweight. It uses almost no system memory or CPU. | GUI-based clients consume more RAM and CPU, especially when running continuously in the background. |
Use Case | Ideal for system administrators, developers, or users working over SSH on remote servers. | Better suited for personal desktops and laptops where a full-featured interface is needed. |
Conclusion
The biff command in Linux may seem old-school, but it still holds a valuable place in modern terminal-based workflows, especially for system administrators, developers, or anyone using SSH on cloud servers like AWS, Azure, or GCP. It offers a fast, resource-light way to stay on top of your email—without disrupting your work or loading a heavy GUI.
Similar Reads
atd command in Linux with examples atd is a job scheduler daemon that runs jobs scheduled for later execution. These jobs are one-time task(not recurring) at a specific time scheduled using 'at' or 'batch' utility. Syntax: atd [-l load_avg] [-b batch_interval] [-d] [-f] [-s] Options: -l : Specifies a limiting load factor, over which
2 min read
atrm command in Linux with examples atrm command is used to remove the specified jobs. To remove a job, its job number is passed in the command. A user can only delete jobs that belong to him. Only superuser can delete any job even if that belongs to another user. Syntax: atrm [-V] job [job...] Options: -V : Used to print the version
1 min read
atq command in linux with examples atq displays the list of pending jobs which are scheduled by the user. If the user is the superuser then the pending jobs of all the users will be displayed. The output lines display Job number, date, hour, queue, and username for each job. Syntax: atq [-V] [-q queue] Options: -V: It will display th
2 min read
autoconf command in Linux with examples autoconf command is used in Linux to generate configuration scripts. Generate a configuration script from a TEMPLATE-FILE if given, or from âconfigure.acâ if present, or 'configure.in'. The output is sent to the standard output if TEMPLATE-FILE is given, otherwise, it is sent into âconfigureâ. To us
1 min read
autoheader command in Linux with Examples autoheader command in Linux is used to create a template file of C â#defineâ or any other template header for configure to use. If the user will give autoheader an argument, it reads the standard input instead of reading configure.ac and also writes the header file to the standard output. This comma
3 min read
automake command in Linux with Examples automake is a tool used for automatically generating Makefile.in files compliant with the set GNU Coding Standards. autoconf is required for the use of automake. automake manual can either be read on-line or downloaded in the PDF format. More formats are also offered for download or on-line reading.
1 min read
autoreconf command in Linux with examples autoreconf is a Autotool which is used to create automatically buildable source code for Unix-like systems. Autotool is a common name for autoconf, automake, etc. These all together are termed as Autotools. Important Points: Provides Portability of source code packages by automatic buildable capabil
2 min read
AWK command in Unix/Linux with examples Awk is a scripting language used for manipulating data and generating reports. The awk command programming language requires no compiling and allows the user to use variables, numeric functions, string functions, and logical operators. Awk is a utility that enables a programmer to write tiny but eff
8 min read
banner command in Linux with examples The 'banner' command in Linux is a simple yet powerful utility used to display text in large ASCII characters on the terminal. This command can be particularly useful for creating prominent messages or headings within scripts and outputs.Syntax of the 'banner' Commandbanner textbanner 'Command' Exam
3 min read
basename Command in Linux with examples The 'basename' command in Linux is a fundamental utility used in file manipulation and script writing. It simplifies file paths by stripping directory information and optional suffixes from file names. Here a detailed overview of the 'basename' command, including its syntax, options, and practical u
3 min read