alias vi=vim
注意,直接在终端用alias建立的命令别名可以直接生效,但是在重新登录后就失效了,所以如果以后长期需要用vi调用vim,就需要将alias vi=vim这一行写入终端环境配置文件中,可以写入~/.bashrc或者/etc/profile中,前者对当前登录用户有效,后者对所有用户有效,设置完成后如果想马上生效需要用source命令执行一下配置文件,比如:source ~/.bashrc。
系统调用是用户程序和linux内核交互的接口,linux的系统调用有下面三种方式:
在x86与x86_64的系统中,都可以使用int $0x80指令来执行系统调用,参数使用如下:
x86_64引入了一个新指令syscall来执行系统调用,参数使用如下:
正常调用库函数( man 3 execve ),传参方式见 x86 调用约定
查看调用号:头文件 /usr/include/asm/unistd.h 内容如下,所以32位和64位的调用号可以分别在unistd_32.h和unistd_64.h中找到
查看参数: man 2 execve
以 execve 为例, man 2 execve 查看其接口如下: int execve(const char *pathname, char *const argv[], char *const envp[])
下面汇编实现了 execve("/bin/sh", 0, 0) :
32位:
64位:
具体的区别展示如下:
vipw命令是用于编辑用户密码文件,且只用于编辑密码文件,vi命令能编辑任何文件,vi是一个功能强大的文本编辑器,他有三种模式,即命令模式、文本编辑模式、和最后行模式;
vipw在编辑密码文件的时候会为该文件上锁,上锁后其他人编辑该文件时会提示稍后再试,在别人修改完成前不能对该文件进行修改,而vi会提示有人在编辑了,但是会提供继续编辑或覆盖等选项进行选择;
vipw默认使用的编辑器就是vi。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)