月度归档: 2023 年 1 月

  • dpkg-divert命令 – 将文件安装到转移目录

    dpkg-divert命令是用于将引起冲突的文件安装到转移目录而非默认目录。

    语法格式: dpkg-divert [参数] [文件]

    常用参数:

    — -add添加一个转移文件
    — -remove删除一个转移文件
    — -list列出匹配的转移
    — -truename对应转移文件真实文件名
    — -quidet安静模式

    参考实例

    指定软件包wibble安装时,写入/usr/bin/jiloc.foo,而不是/usr/bin/ jiloc:

    [root@jiloc ~]# dpkg-divert --package wibble --divert /usr/bin/jiloc.foo --rename /usr/bin/jiloc

    指定软件包wibble安装时,删除对/usr/bin/jiloc的转移修改:

    [root@jiloc ~]# dpkg-divert --package wibble --rename --remove /usr/bin/jiloc

    删除对/usr/bin/jiloc的转移修改:

    [root@jiloc ~]# dpkg-divert --rename --remove /usr/bin/jiloc

    添加一个软件包安装时,写入/usr/bin/jiloc.foo,而不是/usr/bin/ jiloc的修改:

    [root@jiloc ~]# dpkg-divert --divert /usr/bin/jiloc.foo --rename /usr/bin/jiloc
  • dpkg-preconfigure命令 – 软件包安装之前询问问题

    dpkg-preconfigure命令用于在Debian linux中软件包安装之前询问问题。如果软件包不需要进行配置,则不会询问任何问题。

    在非交互式环境下安装支持debconf的软件时,用户无法在线提供软件的配置项。因此用户需要通过dpkg-preconfigure命令预先指定软件配置。

    语法格式: dpkg-preconfigure [参数] [软件包]

    常用参数:

    -f选择使用的前端
    -p感兴趣的最低的优先级问题
    — -apt在apt模式下运行

    参考实例

    导入debconf模板:

    [root@jiloc ~]# dpkg-preconfigure /var/cache/apt/archives/mysql-server-5.5*.deb

    安装前询问问题:

    [root@jiloc ~]# dpkg-preconfigure mysql-server-5.5*.deb

    在apt模式下运行:

    [root@jiloc ~]# dpkg-preconfigure - -apt
  • dpkg-query命令 – 在dpkg数据库中查询软件包

    dpkg-query命令是Debian linux中软件包的查询工具,它从dpkg软件包数据库中查询并显示软件包的信息。

    查询软件包时,软件包的名称支持通配符,如“gcc*”将查询所有以“gcc”开头的软件包。

    语法格式:  dpkg-query [参数] [软件包]

    常用参数:

    -l列出符合匹配模式的软件包
    -s查询软件包的状态信息
    -L显示软件包所安装的文件列表
    -S从安装的软件包中查询文件
    -w显示软件包信息
    -c显示软件包的控制文件路径
    -p显示软件包的细节

    参考实例

    查找文件jiloc_1在哪个包里安装:

    [root@jiloc ~]# dpkg-query -S jiloc_1

    查看软件包详细信息:

    [root@jiloc ~]# dpkg-query -s gimp

    查看软件包安装时安装到系统的文件列表:

    [root@jiloc ~]# dpkg-query -L gimp

    列出所有安装的包:

    [root@jiloc ~]# dpkg-query -l
  • mc命令 – 菜单式文件管理程序

    mc命令用于提供一个菜单式的文件管理程序,执行mc之后,将会看到菜单式的文件管理程序,共分成4个部分。

    语法格式:mc [参数] [文件]

    常用参数:

    -a  当mc程序画线时不用绘图字符画线
    -b  使用单色模式显示
    -c  使用彩色模式显示
    -d  不使用鼠标
    -f  显示mc函数库所在的目录

    参考实例

    使用单色模式管理test文件:

    [root@jiloc ~]# mc -b test

    使用彩色模式管理test文件:

    [root@jiloc ~]# mc -c test
  • mysql命令 – MySQL服务器的客户端工具

    mysql命令是MySQL数据库服务器的客户端工具,它工作在命令行终端中,完成对远程MySQL数据库服务器的操作。

    语法格式:  mysql [参数] [数据库]

    常用参数:

    -hMySQL服务器的ip地址或主机名
    -u连接MySQL服务器的用户名
    -e执行MySQL内部命令
    -p连接MySQL服务器的密码

    参考实例

    连接本地MySQL服务器,并打开数据库:

    [root@jiloc ~]# mysql -h localhost -u root -p jiloc

    连接远程MySQL服务器:

    [root@jiloc ~]# mysql -h 192.168.60.60 -u root -p  jiloc 
  • ld命令 – GUN连接器

    ld命令是GNU的连接器,将目标文件连接为可执行程序。

    很少单独使用ld命令对目标进行连接操作,通常都是使用gcc命令在编译后自动进行连接。

    语法格式: ld [参数]

    常用参数:

    -o指定输出文件名
    -e指定程序的入口符号

    参考实例

    将文件“/lib/jiloc_1.o”与“ jiloc_2 .o”和库“jiloc_3.a”链接起来,生成一个名为 jiloc_4的文件,该文件将来自标准搜索目录:

    [root@jiloc ~]# ld -o jiloc_4 
    /lib/jiloc_1.o jiloc_2 .o -lc
  • ldd命令 – 打印程序依赖的共享库

    ldd命令用于打印程序或者库文件所依赖的共享库列表。

    语法格式: ldd [参数] [文件]

    常用参数:

    -v详细信息模式,打印所有相关信息
    -u打印未使用的直接依赖
    -d执行重定位和报告任何丢失的对象
    -r执行数据对象和函数的重定位,并且报告任何丢失的对象和函数
    — -help显示帮助信息

    参考实例

    显示命令依赖的共享库:

    [root@jiloc ~]# ldd /bin/vim 
    linux-vdso.so.1 =>  (0x00007ffe3dbc1000) 
    libm.so.6 => /lib64/libm.so.6 (0x00007f17a5b55000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f17a592e000) 
    libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f17a5704000)
  • gdb命令 – GUN调试器

    gdb命令包含在GNU的gcc开发套件中,是功能强大的程序调试器。

    gdb中的命令很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。

    语法格式:gdb [参数] [文件]

    常用参数:

    -cd设置工作目录
    -q安静模式,不打印介绍信息和版本信息
    -d添加文件查找路径
    -x从指定文件中执行GDB指令
    -s设置读取的符号表文件

    常用命令:

    file <文件名>加载被调试的可执行程序文件
    run重新开始运行文件
    start单步执行,运行程序,停在第一执行语句
    list查看原代码,简写l
    set设置变量的值
    next单步调试(逐过程,函数直接执行),简写n
    step单步调试(逐语句:跳入自定义函数内部执行),简写s
    backtrace查看函数的调用的栈帧和层级关系,简写bt
    frame切换函数的栈帧,简写f
    info查看函数内部局部变量的数值,简写i
    finish结束当前函数,返回到函数调用点
    continue继续运行,简写c
    print打印值及地址,简写p
    quit退出gdb,简写q

    gdb命令拥有较多内部命令。在gdb命令提示符“(gdb)”下输入“help”可以查看所有内部命令及使用说明。要使用gdb调试程序,在使用gcc编译源代码时必须加上“-g”参数。

    参考实例

    启动gdb调试器:

    [root@jiloc ~]# gdb (gdb)

    加载二进制可执行程序:

    (gdb)file jiloc.out

    运行并跟踪程序:

    (gdb)start

  • gcov命令 – 测试代码覆盖率

    gcov命令是一款测试程序的代码覆盖率的工具。

    gcov可以统计每一行代码的执行频率,实际上哪些代码确实被执行了,每一段代码的执行时间。 gcov只在使用GCC编译的代码上工作。它与任何其他概要或测试覆盖机制不兼容。

    gcov命令在测试代码覆盖率时,必须使用gcc命令的“-fprofile-arcs”选项和“-ftest-coverage”选项编译C语言文件。

    语法格式:gcov [参数] [文件]

    常用参数:

    -a显示每个基本的信息
    -b输出包含分支概率
    -c给出跳转的分支数,而不是百分比
    -n不创建输出文件
    -l为包含进来的源文件使用长输出文件名
    -f输出每个函数的小结信息
    -p保留所有路径名

    参考实例

    显示/root/jiloc.c文件的代码覆盖信息:

    [root@jiloc ~]# gcov /root/jiloc.c
  • as命令 – GUN汇编器

    as命令是二进制工具集GNU Binutils的一员,是GNU推出的一款汇编语言编译器集,用于将汇编代码编译为二进制代码,它支持多种不同类型的处理器。

    语法格式:as [参数] [文件]

    常用参数:

    -ac忽略失败条件
    -ad忽略调试指令
    -ah包括高级源
    -al包括装配
    -am包括宏扩展
    -an忽略形式处理
    -as包括符号
    =file设置列出文件的名字
    –alternate以交互宏模式开始
    -f跳过空白和注释预处理
    -g产生调试信息
    -J对于有符号溢出不显示警告信息
    -L在符号表中保留本地符号
    -o指定要生成的目标文件
    –statistics打印汇编所用的最大空间和总时间

    在linux下进行开发时,很少单独使用as命令进行汇编操作,通常都是由gcc命令自动完成汇编和链接操作。

    参考实例

    假设有汇编文件jiloc.s,将其会变成二进制.o文件:

    [root@jiloc ~]# as jiloc.s -o jiloc.o

    忽略失败条件汇编文件jiloc.s:

    [root@jiloc ~]# as -ac jiloc.s -o jiloc.o

    生成调试信息进行汇编:

    [root@jiloc ~]# as -g jiloc.s -o jiloc.o
  • xlsfonts命令 – 显示X服务器字体列表

    xlsfonts命令显示当前X服务器使用的字体列表,也能使用范本样式仅列出的符合条件的字体。

    运行xlsfonts命令时要求启动本地X-Windows的图形界面后,在图形界面下的命令行中输入,否则将有错误提示。

    语法格式: xlsfonts [参数]

    常用参数:

    -l除字体名称外,同时列出字体的属性
    -ll此参数的效果和指定”l”参数类似,但显示更详细的信息
    -lll此参数的效果和指定”ll”参数类似,但显示更详细的信息
    -m配合参数”-l”使用时,一并列出字体大小的上下限
    -n<显示栏位数>设置每列显示的栏位数
    -o以OpenFont的形式列出字体清单
    -u列出字体清单时不依照其名称排序
    -w<每列字符数>设置每列的最大字符数

    参考实例

    显示使用的前五个字体列表:

    [root@jiloc ~]# xlsfonts | head -n 5

    以OpenFont形式同时显示字体名称及属性:

    [root@jiloc ~]# xlsfonts -lo

    同时显示字体名称及属性与大小上限:

    [root@jiloc ~]# xlsfonts -lm
  • mysqladmin命令 – MySQL服务器客户端管理工具

    mysqladmin命令是MySQL服务器管理任务的客户端工具,它可以检查MySQL服务器的配置和当前工作状态,创建和删除数据库,创建用户和修改用户密码等操作。

    语法格式 : mysqladmin [参数] [管理命令]

    常用参数:

    -hMySQL服务器主机名或ip地址
    -u连接MySQL服务器的用户名
    -p连接MySQL服务器的密码
    — -help显示帮助信息

    mysqladmin命令支持的MySQL服务器管理命令非常丰富,可以通过“- -help”显示可用的管理命令。

    参考实例

    查看服务器当前状态:

    [root@jiloc ~]# mysqladmin  -u root -p status 
    Enter password:  
    Uptime: 26  Threads: 1  Questions: 2  Slow queries: 0  Opens: 67  Flush tables: 1  Open tables: 60  Queries per second avg: 0.076 

    修改root密码:

    [root@jiloc ~]# mysqladmin -u root -poldpassword password 'jiloc'

    检查mysqlserver是否可用:

    [root@jiloc ~]# mysqladmin -u root -p ping mysqld is alive 

    创建新数据库:

    [root@jiloc ~]# mysqladmin -u root -p create mysql_jiloc
WeChat
↑