首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux,常常会用到 vim ,其中 q ,wq wq!的区别,以及 vim -r 的作用

w ->表示保存退出 wq! ->表示强制保存退出,可以保存”readonly”只读文件 q ->在vim中表示退出 q! ->表示强制不保存退出,不对文件进行保存 wqwq!...的区别如下: 有些文件设置了只读,一般不是修改文件的,但是如果你是文件的owner或者root的话,通过wq!...还是能保存文件退出 如果文件设置为只读了的话,用 :wq命令是不能保存并退出的,但是最高权限者可通过wq!来进行文件的保存并退出文件。 已设定选项 ‘readonly’ (请加 ! 强制执行) !...“x” 和 “wq” 的区别如下: (1) :wq 强制性写入文件并退出(存盘并退出 write and quite)。即使文件没有被修改也强制写入,并更新文件的修改时间。...vim :!、:r、:w 命令 :!{cmd} 「 执行cmd命令 」 :r[ead] !{cmd} 「 输出到缓冲区」 :w[rite] !

5.7K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux】关于Linux的权限

    Linux的文件类型和后缀无关(后缀名可以作为提示,用户可以使用后缀区分文件类型),但是对linux来说区分文件和文件本身的后缀是无关的(但是gcc等工具对文件后缀可能有要求)。...开始之前,我们输入ll指令,来看看前面10个字符代表什么意思: 在linux,是通过ll显示的众多属性列的第一列的第一个字符来区分文件类型的。...则无法用ls等命令查看目录的文件内容....可写权限: 如果目录没有可写权限, 则无法在目录创建文件, 也无法在目录删除文件 所以这也是为什么系统规定目录的起始权限从777开始,所有的目录被创建出来,一般都要能够被进入 换句话来讲, 就是只要用户具有目录的写权限..., 用户就可以删除目录的文件, 而不论这个用户是否有这个文件的写权限。

    7.2K20

    linux udp编程_linuxsocket编程

    在前面的文件,我们介绍了linux网络编程与IP相关的知识和常用的函数总结,本文针对具体的UDP通信,来详细的介绍UDP通信的使用,包括UDP通信中的点对点通信,多播,广播等。...2、在上面的通信框架,客户端并没有使用bind的操作,确实如此,因为客户端一般作为通信的发起者,都是主动往外发送数据,如1的描述,这个过程由系统聪明的帮我们记录的端口信息,当服务端有数据回复的时候,...3、关于服务端的bind操作,在存在组播,多播等多种通信方式的情况下,也还有一些需要注意的点,这个我们在下面的章节描述 二、UDP通信的基本函数说明 在UDP,完成一个基本的通信涉及到的几个函数如下...IP信息,addr_size存放addr数据的长度,但是,在实际使用,这样调用后,我们打印addr的信息,确实一个错误的IP信息或者0.0.0.0这样的地址信息,这是什么原因呢,在那个男人的的描述...但是我们在实际的使用,通常只是某些主机对通信数据感兴趣,而不是整个局域网上的所有主机都需要这个数据,这种情况就需要组播登场了。 3.1、组播的IP地址 组播的地址是特定的,D类地址用于多播。

    11K10

    聊聊Linux IO()

    由图可见,从系统调用的接口再往下,Linux下的IO栈致大致有三个层次: 1.文件系统层,以 write(2) 为例,内核拷贝了write(2)参数指定的用户态数据到文件系统Cache,并适时向下层同步...3.设备层,通过DMA与内存直接交互,完成数据和具体设备之间的交互 结合这个图,想想Linux系统编程里用到的Buffered IO、mmap(2)、Direct IO,这些机制怎么和Linux IO栈联系起来呢...假设要去读一个冷文件(Cache不存在),open(2)打开文件内核后建立了一系列的数据结构,接下来调用read(2),到达文件系统这一层,发现Page Cache不存在该位置的磁盘映射,然后创建相应的...然后请求继续到达块设备层,在IO队列里排队,接受一系列的调度后到达设备驱动层,此时一般使用DMA方式读取相应的磁盘扇区到Cache,然后read(2)拷贝数据到用户提供的用户态buffer中去(read...除了传统的Buffered IO可以比较自由的用偏移+长度的方式读写文件之外,mmap(2)和Direct IO均有数据按页对齐的要求,Direct IO还限制读写必须是底层存储设备块大小的整数倍(甚至Linux

    2.2K22

    Linux】进程信号(

    在上一个文章,关于信号的产生,还有没补充完的,所以在这篇文章补充一下 1.信号的产生 硬件异常产生信号 a/=0问题 创建mysignal.cc文件 #include using...当代码除0时,程序运行后就崩溃了,程序运行变为进程,进程运行代码时出现了非法代码,进程退出了 ---- 将内存的指令数据load到CPU 状态寄存器中有比特位表示当前计算的状态 CPU中有的寄存器保存未来的计算结果...2是 p作为nullptr,*p取的是内存的0号地址 *p=100,相当于向0号地址处写入100,但是0号地址并没有申请过, 所以就造成了野指针问题 ---- 运行可执行程序后,发生段错误 --...容我慢慢来说 ---- Linux在系统级别提供了一种能力,可以将一个进程异常的时候, 操作系统可以将该进程在异常的时候,核心代码部分进行核心转储 (将内存中进程的相关数据,全部dump到磁盘) 一般会在当前进程的运行目录下...1运行可执行程序,在终端2发送8号信号干掉进程,并出现core dump即核心转储 ---- 再次使用 ls -l 指令,发现多出来一个 core.2257的文件 即核心转储文件 ---- Term

    20830

    linux安装docker

    有些日子没有安装docker了,这也导致忘记了如何操作,踩了很多坑,特此记录一下,如果还能帮到大家就更好了,如果帮到江湖朋友了,就点个赞,在此谢过一、Docker安装环境检查以centOS 7为例,首先要确定Linux...版本新版本的Docker对Linux系统版本有一定的要求。...如果Linux的发行版系统是centOS,安装最新版的docker需要centOS 7以上的系统。在Docker安装帮助页面查看支持的系统版本。...lvm22、添加软件源信息sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3...但没有提供者可以被安装 - 软件包 podman-1:3.4.1-3.module_el8.6.0+954+963caf36.x86_64 需要 runc >= 1.0.0-57,但没有提供者可以被安装(尝试在命令行添加

    4.7K21

    Linuxlinux 搭建 FTP 服务

    service vsftpd restart # 关闭ftp服务 service vsftpd stop ---- 配置FTP服务 多数的VSFTPD配置项都在/etc/vsftpd.conf配置文件。...这个文件本身已经有非常良好的文档说明了,因此,在本节,我只强调一些你可能进行修改的重要选项。...使用man页面查看所有可用的选项和基本的 文档说明: man vsftpd.conf 根据文件系统层级标准,FTP共享文件默认位于/srv/ftp目录。...write_enable=YES 允许本地(系统)用户登录: 为了允许文件/etc/passwd记录的用户可以登录ftp服务,“local_enable”标记必须设置为YES。...在配置文件增加/修改下面配置开启根目录限制(Chroot Jail): chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list

    13.4K20

    Linux开机流程(

    MBR是主引导记录,位于磁盘的第一个扇区,和分区无关,和操作系统无关,bios一定会读取MBR的记录。 在MBR存储了bootloader/分区表/BRID。...这个启动扇区也放了boot loader,大小也很有限。...但即使如此,在分区还是存在boot sector。 分区表 硬盘分区的好处之一就是可以在不同的分区安装不同的操作系统,但boot loader必须要知道每个操作系统具体是在哪个分区。...在装LINUX操作系统时,其中有一个步骤就是询问你MBR装在哪里的,但这个MBR并非一定真的是MBR,可能是MBR,也可能是VBR,还可能是EBR,并且想要单磁盘多系统共存,则MBR一定不能被覆盖(此处不考虑...unrestricted { search --no-floppy --fs-uuid --set=root f5d8939c-4a04-4f47-a1bc-1b8cbabc4d32 linux16

    3.7K31
    领券