linux mail命令及其历史

一、【问题描述】

最近隔壁组有人把crontab删了,crontab这个命令有点反人类,它的参数特别容易误操作:

crontab -   是删除计划表

crontab -e 是编辑,总之就是特别容易输入错误。

好在可以通过mail命令找回,但是mail是一个远古命令,他的操作也很反人类

二、【命令展示】

在 Linux 中使用 mail 命令时,可以通过以下操作来导航和操作邮件内容:

  1. 上下移动:使用 jk 键来向下和向上移动。
  2. 左右移动:可以使用 hl 键来向左和向右移动。
  3. 查看邮件:输入邮件编号并按 Enter 键来查看特定邮件。例如,输入 1 并按 Enter 键查看第一封邮件。
  4. 删除邮件:输入 d 加邮件编号,然后按 Enter 键删除特定邮件。例如,输入 d 1 删除第一封邮件。
  5. 退出邮件客户端:输入 q 并按 Enter 键退出 mail 命令

三、【总结】

笔者去查了一下,这个mail命令究竟有多远古, 原文是这么写的

The most ancient command is mail, 
which was included in Unix 1st Edition in 1971 according to the manuals. 
At this time, Unix had no remote communication facility at all,
so mail would simply write to other users' files on a single machine.

GPT是这么回复的

所以总的来说,mail的操作习惯不同是因为其本身就是一个远古命令,如果希望用好使一点的,可以用mutt来平替 

四、【参考】

这篇文章是笔者查资料看到的,有兴趣可以看看

mail, Mail, mailx, nail—history notes (sourceforge.net)

1. 机翻

mail, Mail, mailx, nail—history notes:

邮件命令在Unix系统中的名称长期以来一直存在混淆。以下是一些澄清:

最古老的命令是mail,根据手册,它是在1971年的Unix第一版中包含的。那时,Unix根本没有远程通信设施,所以邮件只是简单地写入到单台机器上其他用户的文件中。

随后的Unix版本中,mail进行了一些更新;它可以调用uux,后来是sendmail,用于发送远程消息,并至少具有一些交互式命令用于在邮箱中导航。像这样的邮件命令是通过System V接口定义(SVID)和Single Unix规范(直到1998年版)标准化的。

随着后续版本的System V,mail仍然获得了一些更多的功能,例如打印头部摘要的功能。这样的邮件命令的开源版本作为Heirloom Toolchest软件包的一部分是可用的;查看其手册页以获取其功能概述。然而,所有派生自原始mail的命令仍然有些原始;因为它们既不调用分页器查看超过CRT屏幕的消息,也没有提供设置主题行的方法,所以它们不太适合用于互联网邮件。尽管如此,它们仍然适用于发送短消息。

然而,从中应该学到的是,使用mail命令的-s选项在shell脚本中设置主题行是不可移植的,不会在某些Unix实现上起作用。

在1978年,Kurt Shoens为Unix编写了另一个邮件用户代理:Berkeley Mail。它不是原始邮件命令的派生版本。当它被包含在2BSD发布版中时(这仍然只是Unix第6或第7版系统的附加组件),它的用户界面已经完整(所以如果在Heirloom mailx中设置了bsdcompat选项,它实际上看起来和感觉都一样)。安装后,Berkeley Mail被发现为/usr/ucb/Mail,但Unix mail仍然可以在/bin/mail中找到。

混淆真正开始于3BSD发布版(一个完整的系统,而不是一个附加组件),因为它还提供了一个/usr/ucb/mail命令,它只是一个指向Mail的链接。因此,根据PATH设置,输入mail可能会调用Unix mail或Berkeley Mail。这在所有Berkeley发布版本中一直保持不变,直到4.3BSD-Tahoe及其派生版本;最终,Unix mail被完全删除,但名称在所有位置上仍然保持为指向Mail的链接。

对于System V Release 3,创建了Berkeley Mail的一个派生版本:mailx。它基本上与Mail兼容,但有一些附加功能,并且用户界面略有改变(如果未设置bsd...兼容变量,Heirloom mailx使用类似的界面)。

这个System V mailx命令随后也在1992年被标准化为POSIX.2,包括许多扩展。

Linux发行版使情况变得更加混乱。它们只能使用原始的Berkeley Mail(直到2005年的OpenSolaris发布,System V mailx是封闭源代码)。然而,由于Mail和mailx对于大多数应用程序来说足够相似,对于许多应用程序来说,也似乎适合于具有简单的mailx命令,该命令只是Mail,因此不足以达到正式的POSIX.2一致性。大多数发行版也使mail调用Mail,因为Unix mail也是封闭源代码,直到2002年1月。

为了完全混淆,一些商业Unix供应商随着时间的推移放弃了对原始mail的支持,并使其调用mailx。

Heirloom mailx源自Berkeley Mail。自版本10以来,Heirloom mailx还具有System V和POSIX mailx添加的独立实现。

Heirloom mailx以前是以nail的名称开发的,并于2006年3月整合到Heirloom项目中。

如果被称为Mail,则应创建一个简短的shell脚本,在调用mailx之前设置bsdcompat变量。但mail是一个完全不同的命令,如果需要使用开源版本,则应从Heirloom Toolchest获取。可移植的脚本应该在不带任何选项的情况下调用mail,或者应该使用标准化的mailx接口。在任何情况下,它们应将MAILRC变量设置为/dev/null以绕过用户的配置。由于这个变量存在于mailx中,但不存在于Mail中,因此在脚本中使用Mail不太可靠,应该避免。(实际上,这意味着在许多BSD衍生版本和Linux发行版上,没有可靠的方法从脚本发送邮件。但这是一个人必须面对的事实。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/333538.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.冒泡排序

样例输入 5 8 3 6 4 9 样例输出 3 4 6 8 9 以下是解题答案&#xff1a; class demo1{public static void main(String[] args) {Scanner scnnew Scanner(System.in);int[] array new int[scn.nextInt()];if(array.length>0&&array.length<200){for(int…

书生·浦语大模型全链路开源体系-作业1

视频链接&#xff1a;书生浦语大模型全链路开源体系_哔哩哔哩_bilibili 1. LLM发展 LLM是近年来人工智能领域的一个重要发展方向。大型语言模型的历史可以追溯到2017年,当时OpenAI推出了GPT-1(Generative Pre-trained Transformer)模型,这是一个基于Transformer架构的语言生成…

【前端三剑客之HTML】详解HTML

1. HTML(超文本标记语言) HTML意为超文本标记语言&#xff0c;其可以通过标签把其他网页/图片/视频等资源引入到当前网页中&#xff0c;让网页最终呈现出来的效果超越了文本.HTML是一种标记语言&#xff0c;其是由一系列标签组成的. 而且每个标签都有特定的含义和确定的页面显…

LeetCode/NowCoder-链表经典算法OJ练习3

孜孜不倦&#xff1a;孜孜&#xff1a;勤勉&#xff0c;不懈怠。指工作或学习勤奋不知疲倦。&#x1f493;&#x1f493;&#x1f493; 目录 说在前面 题目一&#xff1a;返回倒数第k个节点 题目二&#xff1a;链表的回文结构 题目三&#xff1a;相交链表 SUMUP结尾 说在前…

K-means聚类算法详细介绍

目录 &#x1f349;简介 &#x1f348;K-means聚类模型详解 &#x1f348;K-means聚类的基本原理 &#x1f348;K-means聚类的算法步骤 &#x1f348;K-means聚类的优缺点 &#x1f34d;优点 &#x1f34d;缺点 &#x1f348;K-means聚类的应用场景 &#x1f348;K-mea…

全局查询筛选器适用场景 以及各场景示例

EF Core中的全局查询筛选器&#xff08;Global Query Filters&#xff09;是一种强大的功能&#xff0c;可以在实体框架的DbContext级别为特定的EntityType设置默认的过滤条件。这些筛选器自动应用于所有涉及到相关实体的LINQ查询中&#xff0c;无论是直接查询还是通过Include或…

借助 CloudFlare 增强站点内容保护防采集

今天在一位站长的帮助下实测了 CloudFlare 增强站点内容保护实现防采集的功能,效果那是杠杠的,如果您的站点原创内容比较多的话,明月强烈建议试试 CloudFlare 这个内容保护,无论是 WordPress 、Typecho 都有非常好的效果,并且几乎没有任何误伤,搜索引擎爬虫蜘蛛更是不会影…

利用边缘计算网关的工业设备数据采集方案探讨-天拓四方

随着工业4.0时代的到来&#xff0c;工业设备数据采集成为了实现智能制造、提升生产效率的关键环节。传统的数据采集方案往往依赖于中心化的数据处理方式&#xff0c;但这种方式在面对海量数据、实时性要求高的工业场景时&#xff0c;往往显得力不从心。因此&#xff0c;利用边缘…

内存泄漏案例分享3-view的内存泄漏

案例3——view内存泄漏 前文提到&#xff0c;profile#Leaks视图无法展示非Activity、非Fragment的内存泄漏&#xff0c;换言之&#xff0c;除了Activity、Fragment的内存泄漏外&#xff0c;其他类的内存问题我们只能自己检索hprof文件查询了。 下面有一个极佳的view内存泄漏例子…

数据结构——不相交集(并查集)

一、基本概念 关系&#xff1a;定义在集合S上的关系指对于a&#xff0c;b∈S&#xff0c;若aRb为真&#xff0c;则a与b相关 等价关系&#xff1a;满足以下三个特性的关系R称为等价关系 (1)对称性&#xff0c;aRb为真则bRa为真&#xff1b; (2)反身性,aRa为真; (3)传递性,aRb为真…

【程序员如何送外卖】

嘿&#xff0c;咱程序员要在美团送外卖&#xff0c;那还真有一番说道呢。 先说说优势哈&#xff0c;咱程序员那逻辑思维可不是盖的&#xff0c;规划送餐路线什么的&#xff0c;简直小菜一碟。就像敲代码找最优解一样&#xff0c;能迅速算出怎么送最省时间最有效率。而且咱平时…

“技术与管理并重:构建以等保测评为导向的全方位防御体系“

在数字化转型浪潮下&#xff0c;企业信息安全面临着前所未有的挑战。为了有效应对日益复杂的网络威胁&#xff0c;构建一个稳固的信息安全防线&#xff0c;技术手段与管理制度的有机结合显得尤为重要。本文将探讨如何以信息安全等级保护测评&#xff08;等保测评&#xff09;为…

【HUST】信道编码|基于LDPC码的物理层安全编码方案概述

本文对方案的总结是靠 Kimi 阅读相关论文后生成的&#xff0c;我只看了标题和摘要感觉确实是这么回事&#xff0c;并没有阅读原文。 行文逻辑&#xff1a;是我自己设定的&#xff0c;但我并不是这个研究领域的&#xff0c;所以如果章节划分时有问题&#xff0c;期待指出&#x…

音乐编曲软件哪个好用 studio one和fl studio哪个好

编曲软件的出现&#xff0c;打破了时间与空间的限制&#xff0c;使得创作者能随时随地进行音乐创作。随着信息时代的发展&#xff0c;使用编曲软件进行音乐创作已经成为业界主流。业内常用的有Cubsae、LogicPro、Studio One、Ableton live等&#xff0c;这次教程我将为大家解读…

云计算期末复习(1)

云计算基础 作业&#xff08;问答题&#xff09; &#xff08;1&#xff09;总结云计算的特点。 透明的云端计算服务 “无限”多的计算资源&#xff0c;提供强大的计算能力 按需分配&#xff0c;弹性伸缩&#xff0c;取用方便&#xff0c;成本低廉资源共享&#xff0c;降低企…

【全开源】填表统计预约打卡表单系统FastAdmin+ThinkPHP+UniApp

简化流程&#xff0c;提升效率 一、引言&#xff1a;传统表单处理的局限性 在日常工作和生活中&#xff0c;我们经常会遇到需要填写表单、统计数据和预约打卡等场景。然而&#xff0c;传统的处理方式往往效率低下、易出错&#xff0c;且不利于数据的统计和分析。为了解决这些…

OpenLayers6入门,OpenLayers实现在地图上拖拽编辑修改绘制图形

专栏目录: OpenLayers6入门教程汇总目录 前言 在前面一章中,我们已经学会了如何绘制基础的三种图形线段、圆形和多边形:《OpenLayers6入门,OpenLayers图形绘制功能,OpenLayers实现在地图上绘制线段、圆形和多边形》,那么本章将在此基础上实现图形的拖拽编辑功能,方便我…

如何使用Android NDK将头像变成“遗像”

看完本文的标题&#xff0c;可能有人要打我。你说黑白的老照片不好吗&#xff1f;非要说什么遗像&#xff0c;我现在就把你变成遗像&#xff01;好了&#xff0c;言归正传。我想大部分人都用过美颜相机或者剪映等软件吧&#xff0c;它们的滤镜功能是如何实现的&#xff0c;有人…

Amazon云计算AWS之[7]内容推送服务CloudFront

文章目录 CDNCDN简介CDN网络技术 CloudFrontCloudFront基本概念 CDN CDN简介 用户在发出服务请求后&#xff0c;需要经过DNS服务器进行域名解析后得到所访问网站的真实IP&#xff0c;然后利用该IP访问网站。在这种模式中&#xff0c;世界各地的访问者都必须直接和网站服务器连…

统计计算四|蒙特卡罗方法(Monte Carlo Method)

系列文章目录 统计计算一|非线性方程的求解 统计计算二|EM算法&#xff08;Expectation-Maximization Algorithm&#xff0c;期望最大化算法&#xff09; 统计计算三|Cases for EM 文章目录 系列文章目录一、基本概念&#xff08;一&#xff09;估算 π \pi π&#xff08;二&…