linux工具的使用

1.yum和apt的概念与使用

yumapt 是两种不同的包管理工具,用于在 Linux 系统上管理软件包。

yum (Yellowdog Updater, Modified)

  • 发行版: 用于基于 RPM 的发行版,如 CentOS、RHEL 和 Fedora。
  • 基本命令:
    • 更新包列表sudo yum update
    • 安装包sudo yum install <package_name>
    • 卸载包sudo yum remove <package_name>
    • 搜索包yum search <package_name>
    • 查看包信息yum info <package_name>

apt (Advanced Package Tool)

  • 发行版: 用于基于 Debian 的发行版,如 Ubuntu 和 Debian。
  • 基本命令:
    • 更新包列表sudo apt update
    • 升级所有包sudo apt upgrade
    • 安装包sudo apt install <package_name>
    • 卸载包sudo apt remove <package_name>
    • 搜索包apt search <package_name>
    • 查看包信息apt show <package_name>

这两者的主要区别在于它们管理的包格式和工作在不同的 Linux 发行版上。

什么是软件包

在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通常包管理器可以很方便的获取到这个编译好的软件包,直接进行安装,软件包河软件包管理器,就好比"App"和"应用商店"这样的关系.

查看软件包

Debian/Ubuntu

查看已安装的软件包列表:
 

dpkg --list

查找特定软件包:

dpkg --list | grep package-name

查看包的详细信息:

apt show package-name

CentOS/RHEL

列出已安装的软件包:

rpm -qa

查找特定软件包:

rpm -qa | grep package-name

查看包的详细信息:

rpm -qi package-name

当然也可以使用yum来查看包情况

注:
软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
"x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配. "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.

关于sz和rz

`sz` 和 `rz` 是用于在 Unix-like 系统上通过 ZMODEM 协议进行文件传输的命令。

- **`sz`**: 发送文件的命令。它会将指定的文件通过 ZMODEM 协议发送到另一台机器。例如:
 

  sz filename

- **`rz`**: 接收文件的命令。它会接收通过 ZMODEM 协议发送到本地的文件。例如:
 

  rz

在使用这些命令之前,确保你的终端支持 ZMODEM 协议,并且在两台机器上都安装了 `lrzsz` 包。安装方法如下:

- **在 Debian/Ubuntu 上**:
 

  sudo apt install lrzsz

- **在 CentOS/RHEL 上**:
 

  sudo yum install lrzsz

这使得文件传输变得简单方便,尤其是在通过串口终端或远程登录时。

2.vim的使用

vim的概念

Vim(Vi IMproved)是一个功能强大、灵活且广泛使用的文本编辑器。它是 vi 编辑器的改进版,vi 是一种早期的文本编辑器,广泛存在于 Unix 系统中。Vim 的设计目标是提供一个高效、可定制的编辑环境,特别适合程序员和需要高级编辑功能的用户。
Vim 的主要概念和功能

.模式编辑:
1.普通模式(Normal Mode):这是 Vim 的默认模式。在此模式下,你可以执行各种编辑命令,如移动光标、删除文本和复制粘贴等。
2.插入模式(Insert Mode):在此模式下,你可以输入和编辑文本。可以通过按 i(在光标前插入)、I(在行首插入)、a(在光标后追加)等进入插入模式。
3.可视模式(Visual Mode):用于选择文本。可以通过按 v 进入可视模式,V(选择整行),或 Ctrl-v(块选择)。
4.命令行模式(Command-Line Mode):用于执行命令,如保存文件、退出 Vim 等。可以通过按 : 进入命令行模式。

Vim 的优势

高效的编辑:Vim 设计上强调使用键盘进行快速编辑,而不是频繁地切换到鼠标操作。
强大的功能:包括多种搜索、替换功能,以及强大的宏和脚本支持。
高度可定制:用户可以通过配置文件和插件进行深度自定义,适应不同的编辑需求。

vim的基础操作

以下是 Vim 的一些基础操作和命令,可以帮助你入门:
进入 Vim

打开文件:

  vim filename

模式

普通模式(默认模式):用于执行命令和导航。
插入模式:用于文本输入。按 i 进入插入模式,按 Esc 返回普通模式。
可视模式:用于选择文本。按 v 进入可视模式,按 Esc 退出可视模式。
命令行模式:用于执行命令。按 : 进入命令行模式。

基本操作

移动光标:

按「G」:移动到文章的最后
按「 $ 」:移动到光标所在行的“行尾”
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l
按[gg]:进入到文本开始
按[shift+g]:进入文本末端
按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页

编辑文本:

进入插入模式:i(在光标前插入)、a(在光标后插入)、o(在当前行下插入新行)
退出插入模式:Esc
删除字符:x(删除光标下的字符)
删除整行:dd
复制整行:yy
粘贴:p(在光标后粘贴)、P(在光标前粘贴)
撤销:u
重做:Ctrl-r

搜索和替换:

搜索:/pattern(向下搜索)、?pattern(向上搜索)
查找下一个匹配项:n
查找上一个匹配项:N
替换::s/old/new/(替换当前行第一个匹配项)、:s/old/new/g(替换当前行所有匹配项)
全局替换::%s/old/new/g

文件操作

保存文件::w
保存并退出::wq 或 :x
退出(不保存)::q!

其他有用的命令

帮助系统:
打开帮助::help
查找帮助内容::help keyword

配置vim

通常在etc目录下面有一个.vimrc,配置这个文件需要使用root权限。当然也可以在普通用户的目录下创建.vimrc文件,执行vim .vimrc打开配置文件进行配置。

基本配置

//启用行号

set number
//启用语法高亮

syntax on
//设置缩进

set tabstop=4        //设置 Tab 键的宽度为 4 个空格
set shiftwidth=4     //自动缩进时使用 4 个空格
set expandtab        //用空格代替 Tab 字符
//自动换行

set wrap
//显示匹配的括号

set showmatch
//设置搜索高亮

set hlsearch
//忽略搜索大小写

set ignorecase
//启用智能搜索(如果搜索模式中包含大写字母,则区分大小写)

set smartcase

高级配置

//使用行号和相对行号

set number
set relativenumber
//启用自动补全

set completeopt=menu,menuone,noselect
//启用鼠标支持

set mouse=a
//设置颜色方案

colorscheme desert
//启用代码折叠

set foldmethod=syntax
set foldlevel=1
//自动保存文件

autocmd BufLeave * silent! wall
//设置备份文件选项

set backup
set backupdir=~/.vim/backup

插件管理

也可以使用插件管理器来扩展 Vim 的功能。两个常用的插件管理器是 vim-plugVundle。下面是 vim-plug 的配置示例:

安装 vim-plug 插件管理器

在你的 /.vimrc 文件中添加以下内容:

call plug#begin('~/.vim/plugged')

" 在这里添加插件
Plug 'tpope/vim-sensible'
Plug 'junegunn/fzf'
Plug 'neoclide/coc.nvim', {'branch': 'release'}

call plug#end()

安装插件

保存 ~/.vimrc 文件后,启动 Vim 并运行以下命令:

:PlugInstall

配置示例:

" 基本设置
set number
set relativenumber
set tabstop=4
set shiftwidth=4
set expandtab
set wrap
set showmatch
set hlsearch
set ignorecase
set smartcase
set mouse=a
set completeopt=menu,menuone,noselect

" 颜色方案
colorscheme desert

" 自动补全
Plug 'neoclide/coc.nvim', {'branch': 'release'}

" 插件管理器配置
call plug#begin('~/.vim/plugged')

" 插件
Plug 'tpope/vim-sensible'
Plug 'junegunn/fzf'
Plug 'neoclide/coc.nvim', {'branch': 'release'}

call plug#end()

" 代码折叠设置
set foldmethod=syntax
set foldlevel=1

3.linux编译器(g++和gcc)

在 Linux 系统中,g++gcc 是两个常用的编译器,用于编译 C 和 C++ 语言的程序。以下是关于这两个编译器的基本信息和使用方法:

GCC (GNU Compiler Collection)

  • 简介gcc 是 GNU Compiler Collection 的缩写,最初是 GNU C Compiler 的缩写。它是一个支持多种编程语言的编译器集合,包括 C、C++、Fortran、Ada 和 Go 等。

  • 基本用法

    • 编译 C 程序

      gcc -o outputfile sourcefile.c

      这条命令会将 sourcefile.c 编译成可执行文件 outputfile

    • 编译多个 C 文件

      gcc -o outputfile file1.c file2.c
    • 编译并生成目标文件(不链接):

      gcc -c sourcefile.c
      

      这会生成一个目标文件 sourcefile.o。

    • 链接目标文件生成可执行文件

      gcc -o outputfile file1.o file2.o
  • 常用选项

    • -O:优化选项。例如,-O2 和 -O3 提供不同级别的优化。
    • -g:生成调试信息。
    • -Wall:启用所有警告信息。

G++

  • 简介g++ 是 GCC 的一个前端,用于编译 C++ 程序。它在后台调用 gcc,但默认启用 C++ 的相关功能和库。

  • 基本用法

    • 编译 C++ 程序

      g++ -o outputfile sourcefile.cpp

      这条命令会将 sourcefile.cpp 编译成可执行文件 outputfile

    • 编译多个 C++ 文件

      g++ -o outputfile file1.cpp file2.cpp
    • 编译并生成目标文件(不链接):

      g++ -c sourcefile.cpp

      这会生成一个目标文件 sourcefile.o

    • 链接目标文件生成可执行文件

      g++ -o outputfile file1.o file2.o
  • 常用选项

    • -std=c++11:指定 C++ 标准版本。例如,-std=c++14-std=c++17-std=c++20
    • -O:优化选项。例如,-O2 和 -O3 提供不同级别的优化。
    • -g:生成调试信息。
    • -Wall:启用所有警告信息。

安装和更新

  • 在 Debian/Ubuntu 系统中安装

    sudo apt update sudo apt install build-essential

    build-essential 包含了 gccg++ 以及其他编译工具。

  • 在 Red Hat/CentOS 系统中安装

sudo yum groupinstall "Development Tools"

4.linux调试器(gdb的使用)

程序的发布方式有两种模式,debug模式和release模式

linux gcc/g++出来的二进制程序,默认是release模式

要使用gdb调试,必须在源代码生成二进制程序的时候,加上-g选项

安装gdb

Debian/Ubuntu 系列

在 Debian、Ubuntu 或基于这些系统的其他发行版上,你可以使用 apt 包管理器来安装 gdb

sudo apt update 
sudo apt install gdb

Red Hat/CentOS 系列

在 Red Hat、CentOS 或其他基于 Red Hat 的系统上,你可以使用 yumdnf 包管理器来安装 gdb

对于较旧的系统(如 CentOS 7):

sudo yum install gdb

对于较新的系统(如 CentOS 8、Fedora):

sudo dnf install gdb
list l 行号:显示 binFile 源代码,接着上次的位置往下列,每次列 10 行。
list l 函数名:列出某个函数的源代码。
r run :运行程序。
n next :单条执行。
s step :进入函数调用
break(b)  行号:在某一行设置断点
break  函数名:在某个函数开头设置断点
info break :查看断点信息。
finish :执行到当前函数返回,然后挺下来等待命令
print(p) :打印表达式的值,通过表达式可以修改变量的值或者调用函数
p 变量:打印变量值。
set var :修改变量的值
continue( c) :从当前位置开始连续而非单步执行程序
run( r) :从开始连续而非单步执行程序
delete breakpoints :删除所有断点
delete breakpoints n :删除序号为 n 的断点
disable breakpoints :禁用断点
enable breakpoints :启用断点
info( i) breakpoints :参看当前设置了哪些断点
display  变量名:跟踪查看一个变量,每次停下来都显示它的值
undisplay :取消对先前设置的那些变量的跟踪
until X 行号:跳至 X
breaktrace( bt) :查看各级函数调用及参数
info i) locals :查看当前栈帧局部变量的值
quit :退出 gdb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值