Linux基础六(vim编译器、虚拟机网络模式、Linux共享环境搭建、网络相关指令、进程相关指令、 磁盘相关指令)

vim编译器(进阶版)

vim常用指令

光标移动(了解)

  • 行间移动

    • gg:移动光标到第一行(命令模式下)

    • G键:移动光标到最后一行(命令模式下)

    • :n:移动到第n行,写法举例::6:移动到第6行(末行模式下)

  • 列间移动

    • $键:移动光标到当前行的行尾(最后一列),有些电脑需要使用Shift+$(命令模式下)

    • 0键:移动光标到当前行的行首(第一行)(命令模式下)

  • 方向键:上下键实施行间移动,左右键实现列间移动

删除

  • 列删除

    • x键:删除当前光标所在处一个字符(命令模式下)

    • nx键:删除当前光标所在处以及后面共n个字符,如6x:删除从当前光标处共6个字符(命令模式下)

    • X键:删除当前光标处左边一个字符(命令模式下)

    • nX键:删除当前光标处左边共n个字符,如6X:删除当前光标处左边共6个字符(命令模式下)

    • D键:删除当前光标至行尾(最后一行)(命令模式下)

  • 行删除(重点)

    • dd键:删除当前光标所在行。(命令模式下)

    • ndd键:删除当前光标所在处至后面共n行,如:6dd:从光标处开始连续删除6行(命令模式下)

    • dG键:删除当前光标所在处至文件末尾(命令模式下)

    • :n1,n2d:删除n1~n2行,如:1,12d:表示删除 1~12行(末行模式下)

拷贝(重点,类似于windows的Ctrl + C)

  • 复制列(字符)

    • 多按几次ESC,然后按v键,进入可视方式,移动方向键选中文本,然后按y键,就完成了拷贝。需要结合p键进行粘贴。(命令模式下)

  • 复制行

    • yy键:复制当前行(单行复制)(命令模式下),需要结合p键进行粘贴。

    • nyy键:复制当前行至后续连续n行(多行复制),如5yy,从当前行开始连续复制5行。需要结合p键进行粘贴(命令模式下)

    • n1,n2 copy dn:复制n1~n2行数据然后粘贴到dm行,如:3,14 copy 2 ,从第3行开始拷贝到第14行,粘贴到第2行的下一行。(末行模式下)

粘贴(重点,类似于windows的Ctrl + V)

  • p键:如果拷贝的是整行,粘贴在当前行下。如果拷贝的是字符粘贴在当前光标之后(配套yy,nyy,复制列)(命令模式下)

  • P键:如果拷贝的是整行,粘贴在当前行上。如果拷贝的是字符粘贴在当前光标之前(配套yy,nyy,复制列)(命令模式下)

撤销(重点,类似于windows的Ctrl + Z)

  • u键:撤销上一步操作,相当于Ctrl + Z。(命令模式下)

  • U键:撤销当前行中所有操作。(命令模式下)

  • Ctrl + R:重做撤销的操作,可以理解为对撤销进行还原。类似于Windows中的Ctrl + Y(命令模式下)

字符查找(重点,类似于Windows上的Ctrl + F)

  • /string:从光标所在处向后查找"string"字符串,输入完毕,需要按下回车键;按n可往下继续查找,按N可往上查找,举例:/int:要查询的字符串是int。(末行模式 + 命令模式)

  • ?string:从光标所在处向后查找"string"字符串,输入完毕,需要按下回车键;按n可往下继续查找,按N可往上查找,举例:?int:要查询的字符串是int。(末行模式 + 命令模式)

  • :set ic:查找时忽略大小写,查询之前设置,(默认忽略大小写),举例:f/F,匹配到f+F(末行模式下)

  • :set noic:查找时区分大小写,查询之前设置,(默认忽略大小写),举例:f/F,匹配到f/F(末行模式下)

字符替换(重点,类似于Windows上的Ctrl +F)

  • :%s /old_string/new_string:将全文每一行第一个匹配项oud_string替换成new_string(末行模式下)

测试数据:

第一行:int main(int args)
第二行:int func(int params)

需求:将int替换成void

指令::%s /int/void回车

替换结果:

第一行:void main(int args)
第二行:void func(int params)
  • :%s /old_string/new_string/g:将全文所有匹配项oud_string替换成new_string(末行模式下)

测试数据:

第一行:int main(int args)
第二行:int func(int params)

需求:将int替换成void

指令::%s /int/void/g回车

替换结果:

第一行:void main(int args)
第二行:void func(int params)

vim其他指令

:set nu:设置行号(末行模式下)

:set nonu:取消设置行号(末行模式下)

Ctrl +G:显示文件名,当前的行号,文件的总行数和文件位置的百分比(末行模式下)


虚拟机网络模式(了解)

  1. 桥接模式

        直接连接物理网络,也就是和Windows共享一个网段,并且能够与Windows一样可以连接到互联网

        可以理解为Windows和Linux分别连接路由器

好处:网络稍微会快点

坏处:占用路由器的IP,如果路由器的载荷过大,网络会掉线

  1. NAT模式

        可以共享主机的IP地址,是由虚拟网卡分配网段和IP,并且能够和Windows一样可以连接到互联网

        可以理解为Windows连接路由器,Linux由虚拟网卡分配

好处:不占用路由器IP

坏处:网络会稍微慢一点

  1. 仅主机模式

        和Windows的网段不一样,不能连接网络

好处:数据安全

坏处:不能访问互联网


网络相关指令

指令

ping(重点)

执行者:所有用户

说明:测试网络是否通常

语法:

ping [选项] 目标IP/目标网址

选项:

  -c n:显示n次应答后停止

范例:

ping 192.168.31.205       #测试IP是否可以联通
ping www.baidu.com        #测试网址是否可以联通
ping -c 5 192.168.31.205  #测试IP是否可以联通,显示5次应答后停止

注意:这个指令同样适用于Windows,但是不需要设置应答次数,因为Windows默认应答4次。

ifconfig(重点)

执行者:所有用户(查询)| ROOT用户(设置)

说明:查看或临时配置网络接口(所谓的临时设置,就是电脑一关机,所有的配置失效)

语法:

ifconfig [网络接口名] [设置选项]

举例:

ifconfig        #查看本机所有网络接口信息(包含IP)
ifconfig ens33  #查看指定的网络接口信息(ens33是网络接口名,不是一成不变的)
sudo ifconfig ens33 192.168.31.205  #将ens33对应的网络IP临时设置为192.168.31.205,将该指令写入/etc/profile中,就变成永久设置了。

注意:Windows系统可以使用ipconfig指令查看网络接口信息。

netstat

执行者:所有用户

说明:查看网络的状态信息

语法:

 netstat [选项]

选项:

  -l:只显示监听状态的套接字

  -t:学生TCP协议的套接字

  -a:显示所有套接字

  -u:显示udp协议的套接字

  -n:显示数字形式的IP

举例:

netstat -tuln

进程相关指令

指令

ps

执行者:所有用户

说明:查看系统运行的进程

语法:

 ps [选项]

选项:

  -a:显示所有终端的进程

  -x:显示所有未连接终端的进程

  -u:显示进程所有者的信息

举例:

ps -aux  #BSD语法格式
ps -ef   #标准语法格式

top

执行者:所有用户

说明:查看实时的系统的状态信息,包括进程的数据PID、进程属主、优先级、CPU、内存等可以使用这些显示支出资源使用量。

语法:

top

kill(重点)

执行者:所有用户

说明:根据进程的PID终止当前运行的进程

语法:

 kill [选项] PID

选项:

  -9:强制终止进程运行

举例:

kill -9 20665  #终止进程PID为20665的进程

killall(重点)

执行者:所有用户

说明:根据进程名终止当前运行的进程

语法:

killall [选项] PID

选项:

  -9:强制终止进程运行

举例:

killall -9 yueqian  #终止进程名为yueqian的进程

 磁盘相关指令

指令

du

执行者:所有用户

说明:显示某个文件或者目录的磁盘空间大小

语法:

du [选项] [文件/目录]

选项:

  -b:以Byte为单位显示大小,1Byte=8Bit

  -k:以KB为单位显示大小,1KB=1024Bytes

  -m:以MB为单位显示大小,1MB=1024KB

  -h:以人们较容易阅读的GB,MB,KB等格式显示,最常用的选项

  -s:显示总计(用于显示目录大小)

举例:

 du -h ~

df(重点)

执行者:所有用户

说明:显示磁盘分区上磁盘空间的使用详情

语法:

df [选项] [文件系统/挂载点/目录]

选项:

  -a:以Byte为单位显示完整的磁盘使用情况

  -h:以人们较容易阅读的GB,MB,KB等格式显示,最常用的选项

举例:

 df -h             #检索目录
 df -h /dev/sdal   #检索文件系统
 df -h /mnt        #检索挂载点

文件挂载指令【Linux应用开发阶段使用

fdisk

执行者:root用户

说明:查看所有磁盘列表,包括Linux自身 + 外部存储设备(查询所有可挂载的文件系统,对应的文件系统会在/dev下产生一个对应的设备文件)

语法:

 [sudo] fdisk -l

演示:

注意:以上的/dev/sda1就是我们后续挂载需要的设备名,每一个名字对应一个存储空间。

在Linux中,对应硬件的操作,说白了,就是对其设备文件的读写。

mount

语法:

mount [选项] 文件系统  挂载点

说明:挂载一个文件系统(硬件外设对应的文件。一般在/dev目录下)

执行者:ROOT用户

选项:

  -t :文件系统的类型,指定要挂载的设备上的文件系统的类型

  -r :只读挂载

  -w :只写挂载

注意:如果不给定选项,挂载后可读可写,一般不添加选项

范例:

sudo mount /dev/sda1 /mnt/udisk
解释:挂载/dev/sda1对应的外部存储设备到/mnt/udisk目录,此时访问udisk目录,就相当于访问外部存储设备,比如U盘

说明:

我们每一个外设在接入Linux系统的时候,Linux系统会为每一个外部设备准备一个映射文件,这个映射文件就存放在/dev目录。如果我们想要访问这个外设(存储外设),我们就需要访问/dev下对应的映射文件(设备文件),或这个根据文件系统将外设挂载到我们指定的挂载点,这样我们就可以正常访问这个外设。

umount

语法:

umount [选项] 文件系统/挂载点

说明:卸载文件系统

执行者:ROOT用户

选项:

  -t ;文件系统的类型,指定要挂载的设备上的文件系统的类型

  -f :强制卸载

范例:

sudo -f umount /dev/sda1

我们在Linux应用开发阶段开始,使用GEC6818平台测试


Linux共享环境搭建【扩展】

如果Linux源不能用,就需要替换成国内的源:

清华源配置:sudo apt update报错,显示明文签署文件不可用,结果为‘NOSPLIT’_明文签署文件不可用,结果为‘nosplit’(您的网络需要认证吗?)-CSDN博客

NFS网络文件系统

说明:这个主要是应用于Linux系统与Linux系统之间的通信。

服务端

步骤:

  1. 在被共享的系统中安装nfs服务

sudo apt-get install nfs-kernel-server

注意:如果系统提示无法定位软件包,就需要更新软件源

sudo apt-get update
sudo apt-get upgrade

      2. nfs服务端的配置

sudo vim /etc/exports

      3.在exports文件末尾添加如下内容

/home/st/share *(rw,sync,no_root_squash)

说明:

 /home/st/share :要被共享的目录

 * :指定哪些用户可以访问

        ① *:表示所有可以ping通该主机的用户

        ② 192.168.11.*:表示指定网段中的用户可以访问

        ③ 192.168.11.13 :表示指定IP的用户可以访问

 (rw,sync,no_root_squash) :表示访问权限(其它选项:man 5 exports查看),可以1个,可以多个

        ① ro :只读

        ② rw:读写

        ③ sync :同步

        ④ no_root_squash :不降低root用户的权限

  4.重启nfs服务

sudo service nfs-kernel_server restart

或者

sudo /etc/init.d/nfs-kernel-server restart
客户端

        1.nfs客户端环境搭建

sudo apt-get install nfs-common

        2.nfs客户端查看服务端的共享目录(非必须),服务端IP

sudo showmount -e 服务端IP

范例:

sudo showmount -e 192.168.11.7

        3.将共享目录挂载到本地目录

sudo mkdir /mnt/remote    --创建本地目录
sudo mount 主机IP:服务端共享文件目录 /mnt/remote    --将共享目录挂载到本地目录

范例:

sudo mount 192.168.11.7:/home/st/share /mnt/remote
cd /mnt/remote

Samba服务器搭建

说明:这个主要是应用于Linux系统与windows系统之间的通信。

服务器端环境搭建

安装samba服务

sudo vim /etc/samba/smb.conf 

在文件中可添加如下的内容:

[shared]    
path=/home/st/share    
writeable=yes    
public=yes    
browseable=yes    
available=yes 

其中

[shared]:是windows系统所能看到的共享文件夹名称;

path: Linux 系统共享的文件目录

注意

同时修改共享目录权限为: sudo chmod 777 共享目录

重新加载samba配置文件

sudo service smbd reload

重新启动samba服务

sudo  service smbd  restart

至此Linux系统中samba服务就搭建完成了。

windows系统中就可以在 “运行” 中采用\\192.168.11.7 来访问到Linux共享文件,注意该IP是 Linux 系统的IP.

ftp服务搭建

说明:实现两个系统之间的文件访问。

服务器端环境搭建

安装ftp服务

sudo apt-get install vsftpd

ftp服务器端配置

sudo vim /etc/vsftpd.conf

在文件中可开启如下的设置:

local_enable=YES
write_enable=YES

这两个设置缺省是注释掉的,也就是前面有#号。取消掉#就可以了。

重新启动ftp服务

sudo service vsftpd restart

这样在Linux系统中ftp服务就搭建完成了。 在windows系统中可以使用任意一款FTP客户端软件来连接Linux, 比如下图的FlashFXP.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值