Linux和其他类Unix系统的GNU coreutils 知多少

这篇具有很好参考价值的文章主要介绍了Linux和其他类Unix系统的GNU coreutils 知多少。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GNU coreutils是GNU项目的一部分,它是一组基本的命令行工具集,用于操作和管理Linux和其他类Unix系统中的文件和数据流。这些工具被广泛用于终端和脚本中,提供了许多常用的功能和实用程序。Linux和其他类Unix系统的GNU coreutils 知多少?了解它有助你熟悉常用的linux命令。

官网地址:Coreutils - GNU core utilities

Linux和其他类Unix系统的GNU coreutils 知多少,linux应用开发,gnu,linux,服务器

这张图很牛炸,瞧瞧上面列出的命令行程序,是不是很容易帮助记忆。

常用命令行程序

 以下是一些常见的GNU coreutils工具及其功能:

 1. ls :列出目录中的文件和子目录。

2. cp :复制文件和目录。

3. mv :移动或重命名文件和目录。

4. rm :删除文件和目录。

5. mkdir :创建新目录。

6. rmdir :删除空目录。

7. cat :将文件内容输出到终端或文件。

8. head :显示文件的前几行。

9. tail :显示文件的后几行。

10. grep :根据模式匹配搜索文件中的文本。

11. wc :统计文件中的字数、行数和字符数。

12. sort :对文件的行进行排序。

13. uniq :从文件中删除重复的行。

14. chmod :更改文件或目录的权限。

15. chown :更改文件或目录的所有者。

16. chgrp :更改文件或目录的所属组。

17. find :在文件系统中搜索文件和目录。

18. du :估算文件或目录的磁盘使用情况。

19. df :显示文件系统的磁盘空间使用情况。

20. ln :创建硬链接或符号链接。

21. basename :从文件路径中提取文件名部分。

22. dirname :从文件路径中提取目录部分。

23. tee :将标准输入内容复制到标准输出和文件。

24. cut :从文件的每一行中提取指定的字段。

25. paste :将多个文件的内容按列合并。

26. sed :基于规则进行文本替换和转换。

27. awk :处理和分析文本数据。

28. tar :创建、提取和管理tar归档文件。

29. gzip :压缩文件。

30. gunzip :解压缩文件。

GNU coreutils和GNU Binary Utilities区别

GNU Binary Utilities(GNU二进制工具)和GNU coreutils(GNU核心工具集)是GNU项目中的两个不同的软件集合,它们具有不同的功能和目的。

1. GNU Binary Utilities(GNU二进制工具): GNU Binary Utilities是一组用于处理二进制文件的工具。它们主要用于开发和调试可执行文件、库文件和目标文件。

Binutils- GNU Project - Free Software Foundation

这些工具包括:

- as :汇编器,将汇编语言源代码转换为可执行文件格式。

- ld :链接器,将多个目标文件和库文件链接为一个可执行文件。

- objcopy :用于复制、转换和操作目标文件的工具。

- objdump :用于反汇编目标文件并显示其内容。

- readelf :用于显示和分析ELF格式的目标文件信息。

2. GNU coreutils(GNU核心工具集): GNU coreutils是一组基本的命令行工具,用于操作和管理Linux和其他类Unix系统中的文件和数据流。它们主要用于终端和脚本中,提供了许多常用的功能和实用程序。一些常见的GNU coreutils工具已在前面的回答中提到,如 lscpmvrmmkdir 等。

总结:

- GNU Binary Utilities是一组用于处理二进制文件的工具,主要用于开发和调试可执行文件、库文件和目标文件。

- GNU coreutils是一组基本的命令行工具,用于操作和管理文件和数据流,主要用于终端和脚本中。

GNU coreutils核心程序

Linux和其他类Unix系统的GNU coreutils 知多少,linux应用开发,gnu,linux,服务器

 

对代码阅读有帮助提高c/c++语言

源码地址:

git clone git://git.sv.gnu.org/coreutils

GNU软件源码

下载地址:https://ftp.gnu.org/gnu/

stc-c++官方手册地址 (学习c++新特性的一手资料):

https://gcc.gnu.org/onlinedocs/libstdc++/

libstdc++ Source: Main Index 

大名鼎鼎的GCC

GCC, the GNU Compiler Collection- GNU Project

https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc.pdf

好玩的东西

想要了解这些实用程序的资深开发人员可能想从这里开始他们的旅程。

琐事

最短的实用程序:false(2 行 - 与 arch、dir 和 vdir 相关)
最短的独立实用程序:true(80 行) -第一个版本几乎是一个最小的 C 程序!
最长的实用程序:ls(5308 行)

  • 许多实用程序都可以追溯到 20 世纪 70 年代的 Research UNIX。少数甚至可以追溯到 Multics
  • 最古老的精神祖先是 CTSS LISTF命令(~1963)。值得庆幸的是短接到ls
    • LISTF是1962年设计论文中最初的18个实用程序之一
  • dd实用程序的独特语法让人想起 OS/360作业控制语言(20 世纪 60 年代初)。
  • 排序程序是唯一利用多线程的实用程序
  • fmt实用程序演示了使用特征成本优化行和段落
  • 看似简单的yes实用程序使用页对齐内存缓冲区具有高性能输出
  • df实用程序比du更快。前者使用设备元数据,后者检查所有文件
  • cksum包括两个入口点,一个用于正常操作,一个用于生成 CRC-32 表
  • echo实用程序没有失败条件
  • testexpr实用程序的设计与典型实用程序有很大不同
  • su最初由 coreutils/shellutils 维护

有趣的实现

coreutils 中有一些独立的代码片段值得研究:

  • shuf和shred使用的随机数ISAAC密码
  • shuf使用的油藏采样
  • sum中使用的旧版System V和BSD校验和
  • expr中使用的左关联表达式求值
  • shred实用程序使用的安全覆盖
  • 由cksum实用程序计算的CRC -32 校验和
  • 合并排序适合排序
  • 因子背后的一连串数学魔法

其他资源

Free Software Directory

util-linux - Debian Package Tracker

Software- GNU Project - Free Software Foundation

Boost.SmartPtr: The Smart Pointer Library - 1.83.0

Boost C++ Libraries文章来源地址https://www.toymoban.com/news/detail-668958.html

到了这里,关于Linux和其他类Unix系统的GNU coreutils 知多少的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统下的程序调试工具——GDB(GNU Debugger)

    GCC(GNU Compiler Collection)是GNU开发的编程语言编译器,它支持多种编程语言,如C、C++、Objective-C、Fortran、Ada和Go等。 以下是一些常用的操作: 启动GDB并加载程序 设置断点 在代码中的某一行设置断点,当程序运行到这一行时,GDB会暂停执行。 例如,如果你在 main.c 文件的第

    2024年04月13日
    浏览(48)
  • 操作系统的最强入门科普(Unix/Linux篇)

    大家好,我是小枣君。 今天这篇文章,我们来聊聊 操作系统( Operating System ) 。 说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和macOS系统;用手机、平板电脑,则是android(安卓)和iOS系统。 如果是从事信息通信行

    2024年02月04日
    浏览(55)
  • Linux系统下cpython-37m-x86_64-linux-gnu.so文件ImportError

    ) 在查找答案的过程中遇到了几种回答,大多评论都表示有用 库的版本不兼容 多数遇到的是这种,但因为库比较难发现哪个不匹配等等原因,继续寻找其它回答…(当然,如果出现numpy或是pillow库的问题,还是及时解决比较好) 我运行的是UA-CMDet,如果有类似的可以作为简单

    2024年02月19日
    浏览(42)
  • export 是一个在 Unix 和类 Unix 系统(比如 Linux 和 macOS)中常用的 shell 命令,主要用于设置或导出环境变量。

    export 是一个在 Unix 和类 Unix 系统(比如 Linux 和 macOS)中常用的 shell 命令,主要用于设置或导出环境变量。环境变量是在操作系统中用于存储系统设置和命令行程序配置的全局值。下面提供了一些 export 命令的基本用法和示例。 基本用法 设置环境变量 : 这里, VARIABLE_NAME 是

    2024年01月19日
    浏览(43)
  • RK3568平台开发系列讲解(Linux系统篇)Linux 应用程序的安全

    🚀返回专栏总目录 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇让我们如何写出尽可能安全的应用程序。

    2023年04月16日
    浏览(51)
  • linux系统上nodejs 报错:node: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27‘ not found

    原因:因为当前系统不支持GLIBC_2.27,而且node的版本过高,但是后来降低了版本还是报这个错误,后来发现低版本的软链接在/usr/bin,而高版本的软链接在/usr/local/bin,一直使用了高版本所在的软链接 解决方法:删除/usr/local/bin中node的软链接,然后再安装一个比较低版本的no

    2024年02月16日
    浏览(54)
  • 第三十九章 配置镜像 - 配置 ISCAgent - 在 UNIX Linux 和 macOS 系统上为非根实例启动 ISCAgent

    尽管 IRIS 通常以根用户身份安装,但在 UNIX®/Linux 和 macOS 系统上,实例可能会被其他用户安装和运行。 非根实例的 ISCAgent 由安装用户在后台运行 ISCAgentUser 脚本启动,该脚本位于 IRISSYS 环境变量定义的目录中,例如: 虽然可能无法将 ISCAgent 配置为在系统启动时自动启动,但

    2023年04月26日
    浏览(66)
  • 查看linux操作系统版本:Ubuntu?Centos?还是其他?

    背景是这样的,由于工作需要,要在服务器上安装mongo,一度认为远程服务器是Centos7系统,结果死活装不上啊,然鹅灵机一动,这服务器确定是Centos7吗??? 安装mongo的两篇博客献上,需要的话可以参考 mac 安装部署mongoDB社区版 Linux服务器安装部署最新稳定版本mongoDB社区版

    2024年02月06日
    浏览(59)
  • Linux系统root下执行su登录其他用户失败

    在Linux系统上,从root用户切换到oracle用户时报错 su: cannot open session: Permission denied 如下: 定位原因1 分析登录日志,可以看到时登录的时候limit中的 memlock 设置失败,导致用户登录失败: limit配置表示限制该用户最大可以打开的文件数量、会话数量、内存等,使用 ulimit -a 命令

    2024年02月05日
    浏览(46)
  • Linux下打包发布QT程序,并运行在其他没有安装QT环境的linux系统上

    一、Linux下打包发布步骤如下 编译应用程序环境:ubuntu18.04版本 开发环境:Qt5.14.2 编译环境:gcc_64 要移植的电脑:ubuntu18.04版本,没有开发环境 第一步:打包依赖库 1、创建一个打包目录,把生成的可执行文件拷贝放在创建的打包目录下,这里我是创建了一个打包目录名称为

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包