返回顶部
首页 > 资讯 > 精选 >如何实现GNU核心实用程序分析
  • 388
分享到

如何实现GNU核心实用程序分析

2023-06-16 01:06:56 388人浏览 薄情痞子
摘要

本篇文章为大家展示了如何实现GNU核心实用程序分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。大多数 linux 系统管理员需要做的事情都可以在 GNU coreutils 或 util-linu

本篇文章为大家展示了如何实现GNU核心实用程序分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

大多数 linux 系统管理员需要做的事情都可以在 GNU coreutils 或 util-linux 中找到。

许多 Linux 系统管理员最基本和常用的工具主要包括在两套实用程序中:GNU 核心实用程序(coreutils)和 util-linux。它们的基本功能允许系统管理员执行许多管理 Linux 系统的任务,包括管理和操作文本文件、目录、数据流、存储介质、进程控制、文件系统等等。

这些工具是不可缺少的,因为没有它们,就不可能在 Unix 或 Linux 计算机上完成任何有用的工作。鉴于它们的重要性,让我们来研究一下它们。

GNU coreutils

要了解 GNU 核心实用程序的起源,我们需要乘坐时光机进行一次短暂的旅行,回到贝尔实验室的 Unix 早期。编写 Unix 是为了让 Ken Thompson、Dennis Ritchie、Doug McIlroy 和 Joe Ossanna 可以继续他们在大型多任务和多用户计算机项目 Multics  上的工作:开发一个叫做《太空旅行》游戏的小东西。正如今天一样,推动计算技术发展的似乎总是游戏玩家。这个新的操作系统比 Multics(LCTT  译注:multi- 字头的意思是多数的)的局限性更大,因为一次只能有两个用户登录,所以被称为 Unics(LCTT 译注:uni-  字头的意思是单独的)。后来这个名字被改成了 Unix。

随着时间的推移,Unix 取得了如此巨大的成功,开始贝尔实验室基本上是将其赠送给大学,后来送给公司也只是收取介质和运输的费用。在那个年代,系统级的软件是在组织和程序员之间共享的,因为在系统管理这个层面,他们努力实现的是共同的目标。

最终,AT&T 公司的老板们决定,他们应该在 Unix 上赚钱,并开始使用限制更多的、昂贵的许可证。这发生在软件变得更加专有、受限和封闭的时期,从那时起,与其他用户和组织共享软件变得不可能。

有些人不喜欢这种情况,于是用自由软件来对抗。Richard M. Stallman(RMS),他带领着一群“反叛者”试图编写一个开放的、自由的可用操作系统,他们称之为 GNU 操作系统。这群人创建了 GNU 实用程序,但并没有产生一个可行的内核。

当 Linus Torvalds 开始编写和编译 Linux  内核时,他需要一套非常基本的系统实用程序来开始执行一些稍微有用的工作。内核并不提供命令或任何类型的命令 shell,比如  Bash,它本身是没有任何用处的,因此,Linus 使用了免费提供的 GNU 核心实用程序,并为 Linux  重新编译了它们。这让他拥有了一个完整的、即便是相当基本的操作系统。

你可以通过在终端命令行中输入命令 info coreutils 来了解 GNU 核心实用程序的全部内容。下面的核心实用程序列表就是这个信息页面的一部分。这些实用程序按功能进行了分组,以方便查找;在终端中,选择你想了解更多信息的组,然后按回车键。

* Output of entire files::       cat tac nl od base32 base64* FORMatting file contents::     fmt pr fold* Output of parts of files::     head tail split csplit* Summarizing files::            wc sum cksum b2sum md5sum sha1sum sha2* Operating on sorted files::    sort shuf uniq comm ptx tsort* Operating on fields::          cut paste join* Operating on characters::      tr expand unexpand* Directory listing::            ls dir vdir dircolors* Basic operations::             cp dd install mv rm shred* Special file types::           mkdir rmdir unlink mkfifo mknod ln link readlink* Changing file attributes::     chgrp chmod chown touch* Disk usage::                   df du stat sync truncate* Printing text::                echo printf yes* Conditions::                   false true test expr* Redirection::                  tee* File name manipulation::       dirname basename pathchk mktemp realpath* Working context::              pwd stty printenv tty* User information::             id logname whoami groups users who* System context::               date arch nproc uname hostname hostid uptime* SELinux context::              chcon runcon* Modified command invocation::  chroot env nice nohup stdbuf timeout* Process control::              kill* Delaying::                     sleep* Numeric operations::           factor numfmt seq

这个列表里有 102 个实用程序。它涵盖了在 Unix 或 Linux 主机上执行基本任务所需的许多功能。但是,很多基本的实用程序都缺失了,例如,mountumount 命令不在这个列表中。这些命令和其他许多不在 GNU 核心实用程序中的命令可以在 util-linux 中找到。

util-linux

util-linix 实用程序包中包含了许多系统管理员常用的其它命令。这些实用程序是由 Linux 内核组织发布的,这 107  条命令中几乎每一个都来自原本是三个单独的集合 —— fileutils、shellutils 和 textutils,2003 年它们被合并成一个包:util-linux。

agetty          fsck.minix      mkfs.bfs        setpriv blkdiscard      fsfreeze        mkfs.cramfs     setsid blkid           fstab           mkfs.minix      setterm blockdev        fstrim          mkswap          sfdisk cal             getopt          more            su cfdisk          hexdump         mount           sulogin chcpu           hwclock         mountpoint      swaplabel chfn            ionice          namei           swapoff chrt            ipcmk           newgrp          swapon chsh            ipcrm           nologin         switch_root colcrt          ipcs            nsenter         tailf col             isosize         partx           taskset colrm           kill            pg              tunelp column          last            pivot_root      ul ctrlaltdel      ldattach        prlimit         umount ddpart          line            raw             unshare delpart         logger          readprofile     utmpdump dmesg           login           rename          uuidd eject           look            renice          uuidgen fallocate       losetup         reset           vipw fdformat        lsblk           resizepart      wall fdisk           lscpu           rev             wdctl findfs          lslocks         RTC Alarm       whereis findmnt         lslogins        runuser         wipefs flock           mcookie         script          write fsck            mesg            scriptreplay    zramctl fsck.cramfs     mkfs            setarch

这些实用程序中的一些已经被淘汰了,很可能在未来的某个时候会从集合中被踢出去。你应该看看维基百科的 util-linux 页面来了解其中许多实用程序的信息,而 man 页面也提供了关于这些命令的详细信息。

这两个 Linux 实用程序的集合,GNU 核心实用程序和 util-linux,共同提供了管理 Linux  系统所需的基本实用程序。在研究这篇文章的过程中,我发现了几个有趣的实用程序,这些实用程序是我从不知道的。这些命令中的很多都是很少需要的,但当你需要的时候,它们是不可缺少的。

在这两个集合里,有 200 多个 Linux 实用工具。虽然 Linux 的命令还有很多,但这些都是管理一个典型的 Linux 主机的基本功能所需要的。

上述内容就是如何实现GNU核心实用程序分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何实现GNU核心实用程序分析

本文链接: https://lsjlt.com/news/282013.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何实现GNU核心实用程序分析
    本篇文章为大家展示了如何实现GNU核心实用程序分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。大多数 Linux 系统管理员需要做的事情都可以在 GNU coreutils 或 util-linu...
    99+
    2023-06-16
  • laravel的核心实例分析
    本文小编为大家详细介绍“laravel的核心实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“laravel的核心实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。laravel的核心是服务容器,也就是...
    99+
    2023-06-29
  • css核心语法实例分析
    这篇文章主要介绍了css核心语法实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇css核心语法实例分析文章都会有所收获,下面我们一起来看看吧。   css基本概念  ...
    99+
    2024-04-02
  • 简易vuex4核心原理及实现源码分析
    目录前言Vuex 核心原理使用方式vuex 运行流程核心原理实现一个简易版的 vuex实现 store 的派发和注册、响应式、injectKey实现 getters、mutation...
    99+
    2023-01-12
    vuex4核心原理 vuex4 简易版
  • Java核心库实现AOP过程
    这篇文章是关于Java的一个疑难杂症,通过利用Java核心库实现简单的AOP方法,并把实例代码做了分析对照,以下是全部内容:Spring是一个十分火热开源框架,而AOP(面向切面编程)则是Spring最重要的概念之一,为了更好的理解和学习A...
    99+
    2023-05-30
    java 核心库 aop
  • 解析Flink内核原理与实现核心抽象
    目录一、环境对象1.1 执行环境StreamExecutionEnvironmentLocalStreamEnvironmentRemoteStreamEnvironmentStre...
    99+
    2024-04-02
  • CSS的webkit核心浏览器实例分析
    今天小编给大家分享一下CSS的webkit核心浏览器实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2024-04-02
  • vue核心面试题实例代码分析
    这篇文章主要介绍了vue核心面试题实例代码分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue核心面试题实例代码分析文章都会有所收获,下面我们一起来看看吧。1-为什么要在列表中绑定key,有什么作用&nbs...
    99+
    2023-07-04
  • 如何分析GNU和Linux的编程概念
    今天就跟大家聊聊有关如何分析GNU和Linux的编程概念,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。学习GNU/Linux时,你可能会遇到不懂得问题,这里有GNU/Linux的全面...
    99+
    2023-06-17
  • Go语言如何实现LRU算法的核心思想和实现过程
    这篇文章主要介绍了Go语言如何实现LRU算法的核心思想和实现过程,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。GO实现Redis的LRU例子常见的三种缓存淘汰算法有三种:FIFO,LRU和LFU实现LRU缓存淘汰算法1....
    99+
    2023-07-06
  • 实时应用程序的核心技术:ASP、Django 和 JavaScript
    随着互联网的快速发展,实时应用程序已经成为许多企业和开发者的首选。实时应用程序可以实现快速响应和实时数据更新,满足用户对实时性的需求。在实时应用程序的开发过程中,选择合适的技术框架是至关重要的。 本文将介绍三种常用的实时应用程序框架:AS...
    99+
    2023-09-17
    实时 django javascript
  • 如何利用Python实现简单C++程序范围分析
    目录1. 实验说明2. 项目使用3. 算法原理3.1 构建CFG3.2 构建Constraint Graph3.3 构建E-SSA Constraint Graph3.4 三步法3....
    99+
    2024-04-02
  • 用C++实现SLR语法分析程序
    目录一、文法二、SLR 分析表三、运行环境四、输入输出设计五、主要数据结构六、核心算法七、测试一、文法 原文法 E->E+T|E-T|T T->T*F|T/F|F F...
    99+
    2024-04-02
  • React 跨端动态化核心技术实例分析
    目录一 前言二 React 技术核心优势分析1 数据驱动模型2 从 JSX 到虚拟 DOM3 独立事件系统三 React 能为跨端动态化做些什么?1 React 语法做 DSL2 保...
    99+
    2024-04-02
  • 怎么解析RadonDB分布式数据库核心技术与实现
    怎么解析RadonDB分布式数据库核心技术与实现,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。摘要:随着数据规模的逐步扩大,存储和运维成本逐渐...
    99+
    2024-04-02
  • 如何进行Drupal核心远程代码执行漏洞的分析
    今天就跟大家聊聊有关如何进行Drupal核心远程代码执行漏洞的分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。0x01 漏洞概述Drupal是一款开源的内容管理系统,使用...
    99+
    2023-06-19
  • PHP开发微信小程序:如何实现数据分析?
    PHP开发微信小程序:如何实现数据分析?随着微信小程序的普及和应用范围的扩大,对于数据分析的需求也越来越大。在开发微信小程序的过程中,数据分析是非常重要的一环。通过数据分析,我们可以了解用户的行为习惯、用户群体特征,从而进行针对性的优化和改...
    99+
    2023-10-26
    数据分析 PHP 微信小程序
  • 如何理解Java Socket聊天程序核心代码
    如何理解Java Socket聊天程序核心代码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java Socket聊天程序在编写的时候需要我们注意很多的事情,本程...
    99+
    2023-06-17
  • java如何实现评委打分程序
    这篇文章给大家分享的是有关java如何实现评委打分程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。评委打分题目: 在比赛中,有6个评委为参赛的选手打分,分数为0-100的整数分,选手的最后得分为:去掉一个最高分...
    99+
    2023-06-29
  • 小程序如何实现分享功能
    要在小程序中实现分享功能,可以按照以下步骤操作: 在小程序的页面中使用或标签创建一个分享按钮或分享图标。 通过小程序API获...
    99+
    2024-04-17
    小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作