目录

VI的使用

vim查找字符串

fork函数

exec函数

Copy on Write(写时拷贝)

make -j和make -j8

Fedora挂载exFAT U盘

Ubuntu 64位ARM Server 22.04.3安装JDK

Ubuntu 64位ARM Server 22.04.3安装MySQL


VI的使用

1、vi的基本概念 
  基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 
    1) 命令行模式command mode) 
  控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 
    2) 插入模式(Insert mode) 
  只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。 
    3) 底行模式(last line mode) 
  将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 

    不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。 
2、vi的基本操作 
a) 进入vi 
    在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
   $ vi myfile 
  不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧! 

b) 切换至插入模式(Insert mode)编辑文件 
  在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。 

c) Insert 的切换 
  您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。 

d) 退出vi及保存文件 
  在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如: 
: w filename (输入 「w filename」将文章以指定的文件名filename保存) 
: wq (输入「wq」,存盘并退出vi) 
: q! (输入q!, 不存盘强制退出vi) 

vim查找字符串

一,全匹配:

1,从上往下查找,比如“string” :   /string

2,从下往上查找,比如“string” : ?string  

二,模糊匹配(正则表达式)

1,. :通配1个字符 ,如 匹配 server, 可以用  /se...r

2,* :通配多个字符,如 匹配 privilege,可以用 p*ge

三,快速查找
1, Shift + * :让光标停留在想要查找的单词的任意一个字母上面, 然后输入 Shift + * ,即可快速选中该单词,并且通过 n  或  N 进行上一个或下一个的匹配。
2,yw :让光标停留在单词的第一个字母上, 然后输入yw拷贝该单词, 然后输入 / (Ctrl + R) 0 (即 /”0),回车, 就查找到了第一个匹配的单词, 并且通过 n  或  N 进行上一个或下一个的匹配。

fork函数

fork是类Unix操作系统上创建进程的主要方法。fork用于创建子进程(等同于当前进程的副本)。

exec函数

exec函数的作用就是:装载一个新的程序(可执行映像)覆盖当前进程内存空间中的映像,从而执行不同的任务。exec系列函数在执行时会直接替换掉当前进程的地址空间。

Copy on Write(写时拷贝)

在linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制”技术,也就是只有进程空间的各段的内容要发生变化时,才将父进程的内容复制一份给子进程。

现在有一个父进程P1,这是一个主体,那么它是有灵魂也是有身体的。现在在其虚拟地址空间(有相应的数据结构表示)上有:正文段,数据段,堆,栈这四个部分,相应地,内核要为这四个部分分配给自的物理块。即正文段块、数据段块、堆块、栈块。至于如何分配,这是内核去做的事,在此不详述。

写时复制技术:内核只为新生成的子进程创建虚拟空间结构,它们复制于父进程的虚拟空间结构,但是不为这些段分配物理内存,它们共享父进程的物理空间,当父子进程中有更改相应的段的行为发生时,再为子进程相应的段分配物理空间。

make -j和make -j8

make -j 选项表示并行编译。  

make -j8,让make最多允许8个编译命令同时执行。

Fedora挂载exFAT U盘

设置RPM Fusion Repository

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

安裝 exfat-utils 及 fuse-exfat

sudo dnf install exfat-utils fuse-exfat

插U盘,lsblk可以查看U盘是否被自动挂载

4如果没有自动挂载,则手动挂载  

去挂载的位置查看文件

Ubuntu 64位ARM Server 22.04.3安装JDK

首先去Oracle官网下载JDK,没有账号的注册一下就可以。

注意要下载64位ARM版本。

把压缩包放到合适的位置,然后解压下载的JDK压缩包。

下面是一段示例代码,根据自己的情况修改。

sudo tar -xvf  jdk-8u371-fcs-bin-b11-linux-aarch64-17_mar_2023.tar

设置环境变量

vim ~/.bashrc

在配置文件末尾加入

export JAVA_HOME=/root/jdk/jdk1.8.0_371
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

jdk1.8.0_371根据自己下载的实际版本修改。

保存配置。

使配置生效

source ~/.bashrc

测试

java -version

Ubuntu 64位ARM Server 22.04.3安装MySQL

如果之前装过,该删的删干净,然后安装

sudo apt-get install mysql-server

启动服务

sudo service mysql start

第一次登录设置个密码

sudo mysql -uroot -p
09-18 03:23