成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

七個 GNU 工具,命令行的強大功能與終端親密接觸的必備工具

系統 Linux
在 GNU 命令中的進步就是在擁有終端靈活性方面的進步。現在,讓我們來了解 7 個必備的 GNU 工具吧。

GNU 項目是一個自由軟件組織,它創造了開源這個術語,今天它被許多公司廣泛使用。

GNU 是 GNU, is Not Unix 的縮寫,這意味著:

Unix? 的命令非常成功,許多程序員和公司都想“復制它們”。而且大多數公司的名稱本身就包含了 Unix? 這個名字,例如:HP Unix, Berkeley Unix,等等。

但是,Unix?及其名稱的版權所有者AT&T已經禁止將 Unix? 名稱用于類似的項目。

所以GNU想出了一個用這個名字做諷刺的主意,但說它不是Unix?。??

另一件事是 Unix? 程序的源代碼不可用,即便如此,當用于學習目的時,加州大學伯克利分校(后來創辦BSD)也有限制性許可證。

因此,GNU 創造了替代方案,也就是說,除了擁有一個許可(由他們創建的 GPL )甚至允許重新發布的許可之外,這些程序做了同樣的事情,并且有可用的源代碼。

根據GNU 通用公共許可證 (GNU GPL) 的條款,分發由 GNU 項目創建的軟件的組織是自由軟件基金會。

GNU 軟件最大的區別之一是它使用 POSIX 標準,這使得它可以移植到任何操作系統。

在 GNU 命令中的進步就是在擁有終端靈活性方面的進步。現在,讓我們來了解 7 個必備的 GNU 工具吧。

1. GCC

GCC代表G NU C ompiler C ollection,是各種編程語言的編譯器和優化器的集合,其中包括:C、C++、Java、Go、Fortran、Ada、D、Objective-C、Objective-C++ 等。

GCC 擁有近2000 萬行代碼,是世界上最大的免費程序之一。

它擁有最廣泛的架構支持,包括:

AArch64, Alpha, ARM, AVR, Blackfin, eBPF, Epiphany (GCC 4.8), H8/300, HC12, IA-32 (x86), IA-64 (Intel Itanium), MIPS, Motorola 68000, MSP430, Nvidia GPU, Nvidia PTX、PA-RISC、PDP-11、PowerPC、R8C/M16C/M32C、RISC-V、SPARC、SuperH、System/390/zSeries、VAX、x86-64、68HC11、A29K、C6x、CR16、D30V、DSP16xx、 ETRAX CRIS、FR-30、FR-V、IBM ROMP、IP2000、M32R、MCORE、MIL-STD-1750A、MMIX、MN10200、MN10300、摩托羅拉 88000、NS32K、RL78、Stormy16、V850、Xtensa、Cortus APS3 、ARC、AVR32、C166 和 C167、D10V、EISC、eSi-RISC、Hexagon[73]、LatticeMico32、LatticeMico8、MeP、MicroBlaze、MRISC32、MSP430、Nios II 和 Nios、OpenRISC , PDP-10, PIC24/dsPIC, PIC32, Propeller, Saturn (HP48XGCC), System/370, TIGCC (m68k variant), TMS9900, TriCore, Z8000 等等。

GCC 有一個超過500 名貢獻者的列表,所有的名字都可以在這里訪問。

幾家公司在許多自由軟件項目中使用 GCC,其中最著名的有:NASA、Google、IBM等。

GCC 最大的競爭對手是 Clang/LLVM,它也是一個很棒的編譯器,盡管它是從頭開始編寫的,但根據它自己的創建者Chris Lattner在一些采訪中說,他最大的參考是 GCC,所以 Clang 擁有所有使用的參數GCC,也是出于兼容性原因。

要安裝 GCC,您可以使用系統的包管理器或在此處下載 GCC 。

相關教程:如何在 Ubuntu 20.04/22.04 上安裝 GCC 編譯器  https://www.linuxmi.com/ubuntu-20-04-22-04-gcc.html

使用示例

編譯用C語言編寫的程序:

gcc main.c
./a.out # 運行的二進制

用C++編譯程序:

g++ main.cpp
./a.out # 運行的二進制

用Java編譯程序:

gcj -C Hello.java # 編譯成 Hello.class
gij Hello # 運行 Hello.class

gcc是目前參數最豐富的程序之一。要了解所有參數,請使用手冊:

man gcc

欲了解更多信息,請訪問官方 GCC 頁面。

2.GNU Sed

GNU Sed是一個命令行文本流編輯器,它使用一種簡單而緊湊的編程語言來解析和轉換文本。

Sed 有幾個版本,GNU Sed 就是其中之一。例如,在使用 GNU Sed 和macOS中的 Sed 時,您可能會遇到兩者之間的許多差異,并注意到 GNU Sed 的可用性更優越并且具有更多參數。

基本使用示例

在文本文件中用單詞LinuxMi替換和修改所有出現的單詞Title:linuxmi.txt

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                    
? sed -i 's/Title/LinuxMi/' linuxmi.txt

欲了解更多信息,請訪問官方 GNU Sed 頁面。

相關:

Linux中的Grep,Awk,Sed命令 https://www.linuxmi.com/linux-grep-awk-sed.html

3.GNU awk

GNU awk 是特定領域的語言變體之一:AWK。與 GNU Sed 一樣,它的主要區別在于它具有我們在介紹中提到的 POSIX 標準。

它還廣泛用于通過命令行進行文本編輯和數據過濾。最基本的用法示例是:

僅列出命令生成的文本文件的第一列ls -l > linuxmi.txt。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                    
? ls -l > linuxmi.txt

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                    
? awk '{print $1}' linuxmi.txt

欲了解更多信息,請訪問GNU Awk 官方頁面。

相關:

為什么說每個 Linux 極客都需要了解 Sed 和 Awk https://www.linuxmi.com/linux-sed-awk.html

4. GNU Make

GNU Make是一個構建自動化工具,它通過讀取名為Makefiles的文件自動從源代碼創建可執行程序和庫,該文件指定如何派生目標程序。

盡管集成開發環境和特定語言的編譯器功能也可用于管理構建過程,但 GNU Make 仍然被廣泛使用。

某些版本的 make命令是GNU Make使用的命令,但是,在許多系統上,它只是原始命令所在的GNU Make的別名,其中原始命令是gmake,這個符號鏈接可以通過將另外兩個GNU工具(GNU Coreutils)與以下命令結合使用來發現:

ls -l $ (which make) 。

當你有一個正確創建的 Makefile,編譯它只需運行命令:

make

該命令可根據 Makefile 文件自定義參數。

欲了解更多信息,請訪問GNU Make 官方頁面。

5. GNU findutils

GNU findutils是一個包含以下命令的軟件包:find、locate和.updatedbxargs

其中,日常生活中使用最廣泛的當然是find. GNUfind命令比 Unix? 命令對用戶更友好。例如:

要使用GNU findutils查找主目錄中的所有.txt文件,只需運行以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                    
? find ${HOME} -name *.txt

在 Unix?find中,您需要將搜索目標顯式地括在引號中,而在 GNU 中find,帶或不帶引號的工作方式相同。以及許多其他差異。

我們有一篇文章,其中包含多個使用該find命令的示例,可以通過以下鏈接訪問:https://www.linuxmi.com/linux-find-mingling-shiyong.html。

欲了解更多信息,請訪問GNU findutils 官方頁面。

相關:

如何在Linux中使用find根據時間戳查找文件 https://www.linuxmi.com/linux-find-files-timestamp.html

6.GNU grep

GNU grep是一個命令行實用程序,用于在純文本數據集中搜索與正則表達式匹配的模式。

該命令有多種變體,grep例如:egrep和fgrep. 這些命令的許多可用性是特定于GNU grep的。

GNU grep與RegEx結合使用變得非常強大。

一個基本的使用示例是,例如,使用以下命令列出您的用戶所屬的系統組:

grep "$USER" /etc/group | egrep -o '^[a-z]+'

欲了解更多信息,請訪問官方 GNU grep 頁面。

7. GNU Bash

GNU Bash是對 Unix? Sh的改進。GNU Bash使得在Shell中自動化命令變得更加簡單和容易,因為它相對于它的選項也很穩定。

它是世界上采用最多的,并具有許多使其與眾不同的現代功能。它是由程序員Brian J. Fox創建的。

它有幾個命令,例如:if, [[ ]], for, while,... 可以直接在Shell中使用,也可以作為腳本語言組合在任何擴展名的文件中,但最常用的擴展名是.sh和.bash。

有關更多信息,請訪問GNU Bash 官方頁面,這是我讀過的最好的軟件文檔之一。

相關文章:

  • GNU/Bash 5.1 發布,帶來新的增強型隨機數生成器  https://www.linuxmi.com/gnu-bash-5-1.html
  • 如何在 Bash 腳本中使用 Linux test 命令 https://www.linuxmi.com/bash-linux-test-command.html
  • Linux Bash 終端命令鍵盤快捷鍵備忘 https://www.linuxmi.com/linux-bash-terminal-shortcuts.html
  • 將 bash/shell 腳本編譯為二進制文件 https://www.linuxmi.com/shc-bash-shell.html

結論

事實上,GNU 項目還有其他幾種解決方案,例如GNU Glibc,它是 Linux 內核運行的接口,并允許雜項:程序、圖形界面、窗口管理器和桌面環境以出色的性能工作,以及大多數如果沒有GNU Glibc,它們中的一些就無法工作。

責任編輯:龐桂玉 來源: 聆聽世界的魚
相關推薦

2024-09-29 13:25:56

2014-01-03 11:28:29

命令行工具

2025-05-12 08:14:39

2009-12-24 11:13:21

2014-10-31 10:50:28

Linux命令行工具

2009-05-15 08:59:32

Windows 7微軟操作系統

2017-04-20 18:00:59

Linux命令行工具系統信息

2023-12-01 15:10:56

2019-05-30 10:40:04

ddgrLinuxDuckDuckGo

2023-04-12 08:14:10

mysql關聯字段索引

2014-02-12 13:30:16

Linux命令行終端工具

2018-08-16 11:30:12

JavaCPU緩存

2020-12-24 17:08:52

安全工具NoSql注入接口工具

2010-03-19 16:08:07

Python 代碼開發

2011-01-18 19:11:26

Postfix命令行

2010-05-25 13:17:28

MySQL數據庫

2009-06-08 16:00:00

ASP.NET 3.5

2019-02-27 09:24:48

命令行文件Linux

2014-02-18 10:45:48

2010-08-24 09:10:14

Linux命令行工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日摸夜夜添夜夜添特色大片 | 亚洲图片视频一区 | 性色av香蕉一区二区 | 北条麻妃视频在线观看 | 久久久91 | 日韩aⅴ视频 | 日韩福利片 | 国产日日操 | 国产区在线 | 成人三级影院 | 亚洲精品中文在线观看 | 欧美在线视频一区 | 国产 欧美 日韩 一区 | 正在播放国产精品 | 中文字幕一级 | 亚洲精品国产区 | 一区二区三区四区在线 | 99久久日韩精品免费热麻豆美女 | 日本视频中文字幕 | 久久久精品网站 | 久久久久精 | 亚洲成人黄色 | 在线观看中文字幕 | 一本一道久久a久久精品综合蜜臀 | 亚洲激情在线视频 | 91久久国产综合久久 | 久久久久久九九九九 | 成人免费视频网站在线看 | 在线婷婷 | 日本精品一区二区三区在线观看视频 | 中日韩欧美一级片 | 欧美午夜影院 | www.亚洲.com | 国产观看| 黄色a三级 | 毛片高清 | 日日操夜夜干 | 99re热这里只有精品视频 | 91视频网址 | 亚洲精品在线视频 | www.日本在线 |