Linux环境开发基础工具

Linux 软件包管理器 yum

截至2021年,Yum(全称为"Yellowdog Updater, Modified")是一个用于管理RPM(Red Hat Package Manager)软件包的软件包管理器。它最初是由Duke University的Linux用户社区开发的,并且现在被广泛用于许多基于RPM的Linux发行版,如Red Hat Enterprise Linux(RHEL)、CentOS和Fedora。

Yum的主要功能是自动下载、安装、更新和删除软件包,使系统管理员和用户能够轻松地管理他们的Linux系统上的软件。它通过连接到预配置的软件源(repository)来获取软件包和其依赖项。这些软件源可以是官方的发行版仓库,也可以是由第三方维护的社区仓库。

使用Yum管理软件包非常简单,用户只需在终端中运行适当的Yum命令来执行所需的操作。以下是一些常用的Yum命令:

1. 安装软件包:

 yum install 软件包名称

2. 更新已安装的软件包:

   yum update

3. 更新特定软件包:

   yum update 软件包名称

4. 删除软件包:

   yum remove 软件包名称

5. 搜索软件包:

   yum search 关键词

需要注意的是,由于软件源的不同,某些特定的软件包可能只在特定的发行版或版本中可用。因此,在使用Yum时,最好了解系统上所连接的软件源和软件包的可用性。

另外,值得一提的是,随着时间的推移,Linux发行版可能会采用其他的软件包管理器,比如在RHEL 8及更新版本中,它已经转向使用dnf(Dandified Yum)作为默认的软件包管理器,dnf在功能上与Yum类似。因此,在未来的情况下,可能会有新的变化。

关于 rzsz

rz和sz是用于在Linux和Unix系统上进行文件传输的命令行工具。它们通常用于通过终端连接(如SSH)在本地计算机和远程计算机之间传输文件。

- rz:rz用于从本地计算机向远程计算机上传文件。它使得将本地文件传输到远程计算机变得非常简单。通常,在SSH会话中,你可以使用rz来选择要上传的文件,然后将文件从本地计算机发送到远程计算机。

- sz:sz用于从远程计算机向本地计算机下载文件。当你在SSH会话中需要从远程计算机获取文件时,可以使用sz命令将文件从远程计算机下载到本地计算机。

这些命令通常与终端仿真器一起使用,例如在使用SSH连接到远程服务器时。在执行这些命令之前,确保本地和远程计算机都已安装rz和sz工具,通常它们属于rzsz软件包。

以下是使用rz和sz的基本示例:

1. 将本地文件file.txt上传到远程服务器:

  rz file.txt

2. 从远程服务器下载文件remote_file.txt到本地:

   sz remote_file.txt

需要注意的是,rz和sz不是标准的Linux命令,可能需要在一些系统上额外安装。在某些系统中,特定的终端仿真器可能已经默认支持这些命令。

另外,rz和sz还可以通过Zmodem协议进行文件传输,这种协议具有自动纠错和断点续传等功能,因此在不稳定的网络环境下,它们可能是更好的选择。

Linux开发工具 

 Linux编辑器-vim使用

 vim的基本概念

Vim(Vi IMproved)是一个功能强大且高度可定制的文本编辑器,它在Linux和其他类Unix系统中得到广泛使用。Vim 是 Unix 系统上的一个改进版本,最初是基于 Vi(Visual Editor)开发的。以下是 Vim 的一些基本概念和特点:

模式(Modes):
   Vim 有不同的工作模式,包括 Normal 模式、插入模式、Visual 模式和命令行模式。

   - Normal 模式:默认进入 Vim 的模式,用于导航、删除、复制等非插入操作。
   - 插入模式:用于编辑文本内容,可以输入和修改文本。
   - Visual 模式:用于选中文本块,方便复制、删除或替换选中的内容。
   - 命令行模式:用于执行命令,如保存、退出、搜索等。

Vim 的强大之处在于其高度可定制性和丰富的命令和快捷键,使得用户可以高效地编辑和处理文本。它可能需要一些时间来学习和适应,但一旦掌握了基本概念,它会成为一个非常强大且高效的编辑器。

vim的基本操作

1. 打开文件:
   vim 文件名

2. 进入编辑模式(插入文本):
   在 Normal 模式下按下 `i` 键或 `a` 键,或者使用 `I` 键在行首插入,`A` 键在行尾插入。

3. 退出编辑模式:
   在编辑模式下按下 `Esc` 键,回到 Normal 模式。

4. 保存文件:
   在 Normal 模式下,输入 `:w` 并按下 `Enter` 键。

5. 保存并退出:
   在 Normal 模式下,输入 `:wq` 或 `ZZ` 并按下 `Enter` 键,保存文件并退出 Vim。

6. 不保存并退出:
   在 Normal 模式下,输入 `:q!` 并按下 `Enter` 键。

7. 移动光标:
   在 Normal 模式下,使用方向键、`h`(左)、`j`(下)、`k`(上)、`l`(右)移动光标。

8. 删除文本:
   在 Normal 模式下,使用 `x` 删除光标所在位置的字符,使用 `dd` 删除整行。

9. 复制和粘贴文本:
   在 Normal 模式下,使用 `yy` 复制整行,使用 `p` 粘贴剪切板内容。

10. 撤销和重做操作:
    在 Normal 模式下,使用 `u` 撤销上一步操作,使用 `Ctrl + r` 重做操作。

11. 搜索文本:
    在 Normal 模式下,输入 `/关键词` 并按下 `Enter` 键进行向下搜索,输入 `?关键词` 并按下 `Enter` 键进行向上搜索。使用 `n` 跳转到下一个匹配,使用 `N` 跳转到上一个匹配。

12. 替换文本:
    在 Normal 模式下,输入 `:s/旧词/新词/g` 并按下 `Enter` 键,将当前行中所有匹配的旧词替换为新词。加上 `g` 参数表示替换所有匹配,不加则只替换每行第一个匹配。

13. 撤销多个操作:
    在 Normal 模式下,输入 `:undo [次数]` 并按下 `Enter` 键,撤销指定次数的操作。

14. 跳转到指定行:
    在 Normal 模式下,输入 `:行号` 并按下 `Enter` 键,将光标跳转到指定行号。

15. 在当前行的末尾添加新行:
    在 Normal 模式下,输入 `o` 键,将会在当前行的下方添加新行并进入插入模式。

16. 在当前行的前面添加新行:
    在 Normal 模式下,输入 `O` 键,将会在当前行的上方添加新行并进入插入模式。

17. 删除光标处到行尾的内容:
    在 Normal 模式下,输入 `D` 键,将会删除光标处到行尾的内容。

18. 删除光标处到行首的内容:
    在 Normal 模式下,输入 `d0` 键,将会删除光标处到行首的内容。

19. 删除整行并进入插入模式:
    在 Normal 模式下,输入 `S` 键,将会删除整行内容并进入插入模式。

20. 复制光标处到行尾的内容:
    在 Normal 模式下,输入 `Y` 键,将会复制光标处到行尾的内容。

21. 保存所有打开的文件:
    在 Normal 模式下,输入 `:wa` 并按下 `Enter` 键,保存所有打开的文件。

22. 快速跳转到文件开头或结尾:
    在 Normal 模式下,输入 `gg` 跳转到文件开头,输入 `G` 跳转到文件结尾。

23. 复制当前行并粘贴到指定行:
    在 Normal 模式下,使用 `yy` 复制当前行,然后移动到目标行,使用 `p` 粘贴内容。

24. 复制当前行并粘贴到指定行的前面:
    在 Normal 模式下,使用 `yy` 复制当前行,然后移动到目标行,使用 `P` 粘贴内容。

25. 删除光标处到单词末尾的内容:
    在 Normal 模式下,使用 `dw` 删除光标处到单词末尾的内容。

26. 删除光标处到单词开头的内容:
    在 Normal 模式下,使用 `db` 删除光标处到单词开头的内容。

27. 在 Visual 模式下复制选中的文本块:
    在 Visual 模式下选中文本块后,按下 `y` 复制选中的文本。

28. 在 Visual 模式下剪切选中的文本块:
    在 Visual 模式下选中文本块后,按下 `d` 剪切选中的文本。

29. 取消选择(取消高亮):
    在 Normal 模式下按下 `:noh` 并按下 `Enter` 键,取消当前搜索结果的高亮。

30. 打开多个文件:
    在 Normal 模式下,输入 `:e 文件名` 并按下 `Enter` 键打开一个新文件。
    使用 `:n` 或 `:next` 切换到下一个文件,使用 `:N` 或 `:prev` 切换到上一个文件。

31. 在 Normal 模式下复制当前行到指定行:
    输入 `:行号 y` 并按下 `Enter` 键,将会复制当前行的内容到指定行号处。

32. 在 Normal 模式下移动当前行到指定行:
    输入 `:行号 m .` 并按下 `Enter` 键,将会移动当前行到指定行号处。

33. 在 Normal 模式下删除光标处到行末的内容:
    输入 `d$` 或 `D` 键,将会删除光标处到行末的内容。

34. 在 Normal 模式下删除光标处到行首的内容:
    输入 `d^` 键,将会删除光标处到行首的内容。

35. 在 Normal 模式下删除光标所在的单词:
    输入 `dw` 或 `daw` 键,将会删除光标所在的单词。

36. 在 Normal 模式下删除光标所在的单词并进入插入模式:
    输入 `ciw` 键,将会删除光标所在的单词并进入插入模式。

37. 在 Normal 模式下重复上一次的修改操作:
    输入 `.` 键,将会重复上一次的修改操作。

38. 在 Normal 模式下跳转到匹配的括号:
    将光标放在括号上,然后输入 `%` 键,将会跳转到匹配的括号。

39. 在 Normal 模式下设置行号显示:
    输入 `:set number` 并按下 `Enter` 键,将会在左侧显示行号。

40. 在 Normal 模式下取消行号显示:
    输入 `:set nonumber` 并按下 `Enter` 键,将会取消显示行号。

41. 在 Normal 模式下切换搜索时忽略大小写:
    输入 `:set ignorecase` 并按下 `Enter` 键,将会忽略搜索时的大小写。

42. 在 Normal 模式下切换搜索时区分大小写:
    输入 `:set noignorecase` 并按下 `Enter` 键,将会区分搜索时的大小写。

43. 在 Normal 模式下切换相对行号和绝对行号显示:
    输入 `:set relativenumber` 或 `:set rnu` 切换为相对行号显示,
    输入 `:set number` 或 `:set nu` 切换为绝对行号显示。

 简单vim配置

简单的 Vim 配置可以帮助你提高编辑效率和改善编辑体验。下面是一个简单的 Vim 配置示例,你可以将以下内容添加到 `~/.vimrc` 文件中(如果文件不存在,则可以创建一个新文件并将内容复制进去):

" 启用语法高亮
syntax enable

" 设置行号显示
set number

" 设置自动缩进
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4

" 设置搜索时忽略大小写
set ignorecase
set smartcase

" 启用备份文件
set backup
set backupdir=~/.vim/backup

" 显示匹配的括号
set showmatch

" 启用自动补全括号
inoremap ( ()<Left>
inoremap [ []<Left>
inoremap { {}<Left>
inoremap " ""<Left>
inoremap ' ''<Left>

" 设置颜色主题(可选)
"colorscheme desert

" 启用行内替换
set incsearch

" 启用鼠标支持(在图形界面中)
"set mouse=a

" 设置自动换行
set wrap

" 设置搜索高亮时的背景色
highlight Search ctermbg=yellow

" 设置保存时自动去除行尾空格
autocmd BufWritePre * %s/\s\+$//e

" 设置快速保存文件(F2键)
noremap <F2> :w<CR>

保存配置后,重启 Vim 或执行 `:source ~/.vimrc` 使配置生效。现在,你的 Vim 编辑器将按照你的配置进行工作。

Linux编译器-gcc/g++使用

GCC(GNU Compiler Collection)是一个强大的编译器套件,包含多个编程语言的编译器,其中 g++ 是 GCC 中用于编译 C++ 代码的工具。以下是在 Linux 中使用 gcc/g++ 编译器的基本用法:

1. 安装 gcc/g++ 编译器:
   如果你的 Linux 系统没有安装 gcc/g++ 编译器,可以使用包管理器来安装。对于 Ubuntu 或 Debian 系统,可以执行以下命令:
   ```
   sudo apt-get update
   sudo apt-get install gcc g++
   ```
   对于其他 Linux 发行版,请参考相应的包管理器命令进行安装。

2. 编写 C 或 C++ 源代码文件:
   创建一个以 .c 结尾的 C 源代码文件或以 .cpp 结尾的 C++ 源代码文件,比如 hello.c 或 hello.cpp。

3. 使用 gcc 编译 C 源代码:
   ```
   gcc -o 可执行文件名 源代码文件.c
   ```
   例如,编译 hello.c 并生成可执行文件 hello:
   ```
   gcc -o hello hello.c
   ```

4. 使用 g++ 编译 C++ 源代码:
   ```
   g++ -o 可执行文件名 源代码文件.cpp
   ```
   例如,编译 hello.cpp 并生成可执行文件 hello:
   ```
   g++ -o hello hello.cpp
   ```

5. 运行编译后的可执行文件:
   ```
   ./可执行文件名
   ```
   例如,运行编译后的 hello 可执行文件:
   ```
   ./hello
   ```

6. 编译时指定 C/C++ 版本:
   如果你的代码使用了较新的 C/C++ 特性,可能需要指定编译器的版本来确保代码能够正确编译。可以使用 `-std` 参数指定 C/C++ 的版本。例如,指定使用 C++11 标准来编译:
   ```
   g++ -std=c++11 -o 可执行文件名 源代码文件.cpp
   ```

7. 调试信息和优化选项:
   在开发阶段,你可能希望在编译时包含调试信息以便进行调试。可以使用 `-g` 参数来启用调试信息。另外,你可以使用优化选项来提高生成的可执行文件的性能。常见的优化选项有 `-O1`、`-O2`、`-O3` 等。

Linux调试器-gdb使用

 

GDB(GNU Debugger)是Linux下的一个强大调试器,用于帮助程序员调试C、C++以及其他编程语言的程序。它可以帮助你在程序运行时进行跟踪、查看变量的值、定位错误和找到程序崩溃的原因。以下是GDB的基本使用方法:

1. 编译程序时添加调试信息:首先,你需要在编译程序时添加调试信息。使用gcc或g++编译器时,可以加上`-g`选项来生成包含调试信息的可执行文件。

   例如,编译C程序:
   ```
   gcc -g -o program_name source_file.c
   ```

   编译C++程序:
   ```
   g++ -g -o program_name source_file.cpp
   ```

2. 启动GDB:在终端中运行`gdb`命令,然后在GDB中启动你的程序:
   ```
   gdb program_name
   ```

3. 在GDB中运行程序:在GDB中使用`run`命令来运行你的程序:
   ```
   (gdb) run
   ```

4. 设置断点:你可以使用`break`命令在代码中设置断点,让程序在指定位置停下来,方便你查看变量和调试程序。
   ```
   (gdb) break function_name
   ```

   或者在指定行设置断点:
   ```
   (gdb) break filename:line_number
   ```

5. 单步执行:你可以使用`step`命令来逐行执行代码并进入函数内部,`next`命令用于逐行执行代码但不进入函数内部。
   ```
   (gdb) step
   (gdb) next
   ```

6. 查看变量的值:使用`print`命令来查看变量的值。
   ```
   (gdb) print variable_name
   ```

7. 继续执行:当程序在断点处停下来后,你可以使用`continue`命令来继续执行程序直到下一个断点或程序结束。
   ```
   (gdb) continue
   ```

8. 退出GDB:在调试完成后,使用`quit`命令退出GDB。
   ```
   (gdb) quit
   ```

以上是GDB的基本使用方法。调试复杂的程序可能需要更多的调试命令和技巧。GDB提供了丰富的调试功能,包括查看内存、寄存器、堆栈跟踪等,帮助你定位和解决程序中的问题。

Linux构建工具-make/Makefile 

 

Make是Linux下的一个常用自动化构建工具,用于管理项目的编译和构建过程。Make通过解析Makefile文件来确定构建过程中需要执行的命令,从而实现自动化构建。Makefile是一个文本文件,其中包含了构建规则和依赖关系,以及执行命令的步骤。

下面详细介绍Make和Makefile的基本概念:

1. Makefile基本结构:
   Makefile由一系列规则组成,每个规则包含目标、依赖和命令。规则的基本结构如下:

   target: dependencies
       command

   - `target`:指定构建的目标,可以是一个可执行文件、库文件或其他中间文件。
   - `dependencies`:指定目标所依赖的文件,当这些文件有更新时,目标需要重新构建。
   - `command`:指定构建目标的命令,可以是编译、链接或其他任何Shell命令。

2. Make工作原理:
   当执行`make`命令时,Make会读取当前目录下的Makefile文件,并根据文件中的规则来确定需要构建哪些目标。如果目标的依赖发生了变化,或者目标不存在,则Make会执行相应的命令来构建目标。

3. Makefile示例:
   假设我们有一个C++项目,项目结构如下:

   project/
    |-- src/
    |    |-- main.cpp
    |    |-- utils.cpp
    |    |-- utils.h
    |-- Makefile

   下面是一个简单的Makefile示例:

   # 编译器设置
   CC = g++
   CFLAGS = -Wall -g

   # 目标文件
   TARGET = my_program

   # 源文件和头文件
   SRCS = src/main.cpp src/utils.cpp
   HEADERS = src/utils.h

   # 构建目标
   $(TARGET): $(SRCS) $(HEADERS)
       $(CC) $(CFLAGS) $(SRCS) -o $(TARGET)

   # 清理目标
   clean:
       rm -f $(TARGET)

   在这个Makefile中,我们首先设置了编译器和编译选项。然后定义了目标文件(可执行文件名为`my_program`)和源文件、头文件的路径。接着定义了构建目标的规则,其中目标为`$(TARGET)`,依赖为`$(SRCS)`和`$(HEADERS)`,执行的命令为`$(CC) $(CFLAGS) $(SRCS) -o $(TARGET)`,表示用`g++`编译源文件并生成`my_program`可执行文件。最后,我们还定义了一个用于清理目标文件的规则,通过执行`make clean`命令可以删除生成的可执行文件。

   使用`make`命令执行该Makefile时,会根据文件中的规则自动构建`my_program`目标文件。执行`make clean`命令可以删除生成的可执行文件。

通过Make和Makefile的配合,我们可以方便地管理复杂项目的编译和构建过程,提高开发效率。请注意,实际项目可能会更加复杂,涉及更多的编译选项、目录结构和依赖关系。不过通过学习和实践,你将逐渐掌握Make的高级用法,更好地应用于实际项目中。

Linux使用 git 命令行 

在Linux中,你可以使用Git命令行工具来管理版本控制,跟踪文件的变化,协作开发等。下面是一些常用的Git命令行操作:

1. 初始化仓库:
   ```
   git init
   ```

   这会在当前目录下创建一个新的Git仓库。

2. 克隆仓库:
   ```
   git clone <repository_url>
   ```

   这会将远程仓库克隆到本地,你可以通过URL指定仓库地址。

3. 添加文件到暂存区:
   ```
   git add <file>
   ```

   这会将文件添加到Git的暂存区,准备提交到版本库。

4. 提交更改:
   ```
   git commit -m "commit message"
   ```

   这会将暂存区的更改提交到版本库,并附带一条提交信息。

5. 查看仓库状态:
   ```
   git status
   ```

   这会显示当前仓库的状态,包括修改、添加和删除的文件。

6. 查看提交历史:
   ```
   git log
   ```

   这会显示提交历史,包括提交ID、作者、日期和提交信息。

7. 创建分支:
   ```
   git branch <branch_name>
   ```

   这会在当前提交的基础上创建一个新的分支。

8. 切换分支:
   ```
   git checkout <branch_name>
   ```

   这会切换到指定的分支。

9. 合并分支:
   ```
   git merge <branch_name>
   ```

   这会将指定分支合并到当前分支。

10. 推送到远程仓库:
    ```
    git push origin <branch_name>
    ```

    这会将本地的指定分支推送到远程仓库。

11. 从远程仓库拉取更新:
    ```
    git pull
    ```

    这会从远程仓库拉取更新,并合并到当前分支。

12. 查看远程仓库信息:
    ```
    git remote -v
    ```

    这会显示远程仓库的详细信息。

以上是一些常用的Git命令行操作,还有更多其他的Git命令和选项可以帮助你更好地管理代码。通过使用Git命令行,你可以轻松地进行版本控制和协作开发,确保代码的安全和稳定性。

就是这些了。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值