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

news2024/12/25 2:01:33

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

官网地址:Coreutils - GNU core utilities

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

常用命令行程序

 以下是一些常见的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核心程序

 

对代码阅读有帮助提高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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VR智慧校园资中控管理平台综合提升了课堂教学质量

随着越来越多高校在课堂中引进VR虚拟仿真实训系统,为了方便老师对全班同学进行高效率地管理,VR中控平台应运而生。下面为您详细介绍VR中控平台在课堂教学中的应用优势。 VR中控系统安装在教师总控端,融合了课件、视频、3D动画等丰富的教学资源…

Leetcode-每日一题【剑指 Offer 35. 复杂链表的复制】

题目 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 输入:head [[7,null],[13,0],[11,4]…

【原理图专题】​​​​OrCAD Capture如何将连线加粗

在实际的工作中,特别是大公司里。原理图和PCB是两个不同的人进行的,是两个工种。原理图由硬件工程师绘制,而PCB则由专门的Layout工程师绘制。那么两个人之间的交互要是无法在一个频道上,就很容易在后期审查或是打样产出后才出现这样或那样的问题。 为了做到更好的传达原理…

RabbitMQ---work消息模型

1、work消息模型 工作队列或者竞争消费者模式 在第一篇教程中,我们编写了一个程序,从一个命名队列中发送并接受消息。在这里,我们将创建一个工作队列,在多个工作者之间分配耗时任务。 工作队列,又称任务队列。主要思…

STM32电源名词解释

STM32电源架构 常用名词 VCC Ccircuit 表示电路,即接入电路的电压。 VDD Ddevice 表示器件, 即器件内部的工作电压。 VSS Sseries 表示公共连接,通常指电路公共接地端电压。 VDDA Aanalog 表示模拟,是模拟电路部分的电源。主要为…

七大排序算法详解

1.概念 1.排序的稳定性 常见的稳定的排序有三种:直接插入排序,冒泡排序,归并排序 对于一组数据元素排列,使用某种排序算法对它进行排序,若相同数据之间的前后位置排序后和未排序之前是相同的,我们就成这种…

stm32之5.长按按键(使用时钟源)调整跑马灯速度

------------------------------ 源码 #include <stm32f4xx.h> #include "led.h" #include "delay.h" #include "my_str.h" #include "beep.h" #include "key.h" int main(void) { key_init(); Led_init();…

Java【手撕双指针】LeetCode 57. “两数之和“, 图文详解思路分析 + 代码

文章目录 前言一、两数之和1, 题目2, 思路分析3, 代码展示 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: &#x1f4d5; JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 &#x1f4d7; Java数据结构: 顺序表, 链表…

M1使用android模拟器的办法

问题背景 在产品的某一期需求中&#xff0c;是关于对于模拟器使用app的用户进行一定的管控&#xff0c;比如说封禁。那么这时候测试就需要模拟器了。对于Windows平台&#xff0c;网上有很多的平台可供选择。使用M1的我&#xff0c;只能不断的找可以用的模拟器。 解决过程 首…

uniapp-form表单

<template><view class"ptb-20 plr-30 bg min100"><view class"bg-white radius-20 pd-30"><view class"bold mt-30 mb-50 size-32">选择方式&#xff1a;</view><u--form labelPosition"left" :mod…

Orchestrator自身高可用性方案

目录 获得 HA 的方法 一 没有高可用性 &#xff08;No high availability&#xff09; 使用场景 架构组成 架构图 二 半高可用性&#xff08;Semi HA&#xff09; 三 基于共享数据库后端高可用&#xff08;HA via shared backend&#xff09; 四 基于Raft协议高可用 五…

python中的matplotlib画折线图(数据分析与可视化)

先导包&#xff08;必须安装了numpy 、pandas 和matplotlib才能导包&#xff09;&#xff1a; import numpy as np import pandas as pd import matplotlib.pyplot as plt核心代码&#xff1a; import numpy as np import pandas as pd import matplotlib.pyplot as pltpd.se…

什么是软件压力测试?软件压力测试工具和流程有哪些?

软件压力测试 一、含义&#xff1a;软件压力测试是一种测试应用程序性能的方法&#xff0c;通过模拟大量用户并发访问&#xff0c;测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题&#xff0c;如内存泄漏、线程锁、资源泄漏等&#xff0c;…

小猫爪:嵌入式小知识15-XCP基础简介

小猫爪&#xff1a;嵌入式小知识15-XCP基础简介 0 目录1 前言2 XCP的由来3 XCP基础简介3.1 XCP的协议组成3.2 XCP的通信模式3.2.1 Standard communication model3.2.2 Block Transfer communication model3.2.3 Interleaved communication model 3.3 XCP帧格式3.4 XCP的专业术语…

又一个国产操作系统将现身,基于AOSP,兼容安卓应用

日前媒体报道指又一家手机企业似乎自研自主操作系统&#xff0c;名字为*IOS&#xff0c;已申请域名备案&#xff0c;这被认为是它开始自研手机操作系统的迹象&#xff0c;自研操作系统似乎已成为国产手机努力的方向。 关于*IOS最早在2014年就曾传出&#xff0c;但是后来因故而最…

【Unity】Text文本组件的一些操作

Unity的Text组件的几种常见的操作方法 Text组件是Unity中用于在UI界面上显示文本的组件。它包含了一些常见的属性和方法&#xff0c;可以用来控制文本的内容、外观和交互。以下是一些常见的Text组件的操作&#xff1a; 设置文本内容&#xff1a;通过直接在Unity编辑器中的Text…

计算机竞赛 基于GRU的 电影评论情感分析 - python 深度学习 情感分类

文章目录 1 前言1.1 项目介绍 2 情感分类介绍3 数据集4 实现4.1 数据预处理4.2 构建网络4.3 训练模型4.4 模型评估4.5 模型预测 5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于GRU的 电影评论情感分析 该项目较为新颖&#xff0c;适合作为竞…

VM——获取图像中的圆环区域

、需求&#xff1a;下图是圆柱形铝罐&#xff0c;需要获取图像中的罐沿区域。 2、方法如下&#xff1a; (1)通过找外圆&#xff0c;提取圆形区域 &#xff08;2&#xff09;利用“拷贝填充”模块&#xff0c;绘制外圆ROI&#xff0c;选择“输出掩膜” &#xff08;3&#xff09…

【排错经验】树莓派4B摄像头问题集锦(USB摄像头)

1、E: Unable to locate package luvcview 这款软件不是在任意版本的操作系统下都适用的&#xff0c;要查看自己Ubuntu版本支持的uvcview。 方法&#xff1a;输入命令&#xff1a;sudo apt-cache search uvcview 由图可知&#xff0c;我这个版本的操作系统支持的是guvcview 所…

GMS基本模块TIN、Solids、Modflow2000/2005、MT3DMS、MODPATH。及其在地下水流动、溶质运移、粒子追踪方面的应用

解决地下水数值模拟技术实施过程中遇到的困难&#xff0c;从而提出切实可行的环境保护措施&#xff0c;达到有效保护环境、防治地下水污染&#xff0c;推动经济社会可持续发展的目的。 &#xff08;1&#xff09;水文地质学&#xff0c;地下水数值模拟基础理论&#xff1b;&am…