Linux

  • Vim使用简介

    ·

            "工欲善其事,必先利其器"
                                       《论语》

    写在前头:vim是Linux下最常用的编辑工具,一般认为vim是Vi IMproved(增强的vi)的缩写,很多时候我们也把vim称为vi。vi是一个上手比较难,但是一旦掌握,就能大大提高效率的工具。本文介绍一些Vim使用的基本概念,读者可以根据本文给出参考文献继续深入了解Vim。

    Updates

    在vim中执行命令@202405

    有时候,我们修改完文件后,需要立刻进行调试查看效果,这时候,通常我们需要执行一些shell命令以查看效果。这时候,我们可以使用如下方式暂停vim编辑,以进入命令行的执行:

    • 使用!{command}.执行命令,这里的{command}即代表需要执行的命令
    • 使用CTRL+Z将当前的vim进程放到后台,并回到shell,执行完命令后,使用fg返回vim继续编辑

    关于这两个名的使用,可以参考vim手册中的小结:Go away and come back@VIM USER MANUAL,较为详细的介绍了这两种方式。

    1. 认识Vi

    直接使用vi(或者vim)命令,有时会看到如下的内容

    Vim is open source and freely distributable ~ Help poor children in Uganda! ~ type :help iccf<Enter> for information
    (more…)
  • Linux iostat监测IO状态

    ·

    Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。

    1. 基本使用

    $iostat -d -k 1 10

    参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。 (more…)

  • 本文试图从硬件结构、逻辑结构两方面来介绍Linux中本地磁盘的基本知识。

    1. 硬件结构

    一块磁盘由多个盘面组成,每个盘面有一个对应的磁头(heads),我们可以在该盘面上存储我们需要的信息。

    每一个盘面,被分成多个圆环,我们称之为柱面(cylinders)。每一个柱面又被分割为多个扇形区域,简称扇区(sectors),参见下图:

    磁盘扇区(图片来源www.eygle.com/

    两个红色环形之间是一个柱面;图中黄色标记部分是一个扇区。 (more…)

  • Linux下C语言连接MySQL

    ·

    相对于Window下的设置,Linux要简单的很多。

    1. 示例程序

    $ vi mysql-c-api.c #include <stdio.h> #include "mysql/mysql.h" int main(){ MYSQL mysql; mysql_init(&mysql); mysql_options(&mysql,MYSQL_OPT_COMPRESS,0); mysql_options(&mysql,MYSQL_INIT_COMMAND,"SET autocommit=0"); if (!mysql_real_connect(&mysql,"10.2.3.4","user","passwd","database",0,NULL,0)) { fprintf(stderr, "Failed to connect to database: Error: %sn", mysql_error(&mysql)); } return 0; }

    2. 编译命令

    在MySQL编译后的二进制文件中,有一个很有用的二进制文件“mysql_config”(一般和mysql命令在同一个目录下),我们可以通过这个程序找到需要的头文件和连接库:

    $ gcc -o a.out $(mysql_config --cflags) mysql-c-api.c $(mysql_config --libs) $ ./a.out
  • 迥异的Linux Shell Script

    ·

    发布说明

    • 2024年09月,更新说明为什么Linux Shell(准确的说,应该是Shell或Unix Shell)会显得“迥异”
    • 2009年,初次发布

    摘要:如果你已经习惯编写Shell脚本,那么一切都显得很自然了。但像我这样,之前已经习惯了C语言(风格)的编程,就觉得Shell并不是那么友好。这里将记录一些Shell和”C风格”迥异的地方,以供参考。本文测试环境:GNU bash, version 3.00.15(1)-release (i386-redhat-linux-gnu)。文章中很多实例直接来在参考文件[1]、[2]。

    Linux
    (more…)