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 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工具已在前面的回答中提到,如 ls
、 cp
、 mv
、 rm
、 mkdir
等。
总结:
- GNU Binary Utilities是一组用于处理二进制文件的工具,主要用于开发和调试可执行文件、库文件和目标文件。
- GNU coreutils是一组基本的命令行工具,用于操作和管理文件和数据流,主要用于终端和脚本中。
源码地址:
git clone git://git.sv.gnu.org/coreutils
下载地址:https://ftp.gnu.org/gnu/
stc-c++官方手册地址 (学习c++新特性的一手资料):
https://gcc.gnu.org/onlinedocs/libstdc++/
libstdc++ Source: Main Index
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 行)
coreutils 中有一些独立的代码片段值得研究:
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