Linux 系统下载地址
此内容尚不支持你的语言。
Linux 系统下载地址
Section titled “Linux 系统下载地址”https://mirrors.tuna.tsinghua.edu.cn/#

DVD:普通的版本的镜像,我们一般用这个。里面有很多我们用的常用软件和组件。
Everything:这个和DVD区别是里面的基本包含了所有软件和组件。镜像文件比较大。
Minimal:小版本,只有包含系统和很少的软件。
NetInstall:通过网络安装的包,要联网安装。
操作系统简介
Section titled “操作系统简介”操作系统(Operating System,简称 OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接 运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计 算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算 机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它 软件的开发提供必要的服务和相应的接口。
操作系统接口示意图:

如果没有安装操作系统的计算机称之为裸机,只有一堆硬件。
操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令, 操作系统则对命令进行解释,驱动硬件设备,实现用户要求。
2操作系统类型:
Section titled “2操作系统类型:”1、桌面操作系统
2、服务器操作系统
3、嵌入式操作系统
4、移动设备操作系统
2.1桌面操作系统
Section titled “2.1桌面操作系统”桌面操作系统主要用于个人计算机上。个人计算机市场从硬件架构上来说主要分为两大阵营,
PC 机与 M ac 机,从软件上可主要分为两大类,分别为类 Unix 操作系统和 Windows 操作系统:
Unix 和类 Unix 操作系统:Mac,Linux 发行版(如 Debian,Ubuntu,LinuxMint,openSUSE,Fedora,Mandrake,Red Hat,Centos 等)
微软公司 Windows 操作系统 :Windows 98,Windows 2000,Windows XP,Windows Vista,Windows 7,Windows 8,Windows 8.1,Windows10 等
2.2 服务器操作系统:
Section titled “2.2 服务器操作系统:”Linux 安全,稳定,免费 Windows Server 付费,相对 linux 来说 windows 安全性稍低。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离
环境中 的完整计算机系统虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系
统完全一样的功能, 进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,
可以独立安装运行软件,保存 数据,拥有自己的独立桌面,不会对真正的系统产生任何影响.
3.1安装虚拟机
Section titled “3.1安装虚拟机”virtual box (开源 google)
下一步*n (建议d盘)

3.1.1install centos7
Section titled “3.1.1install centos7”click 新建

要选中跳过自动安装
内存看情况(可以默认: 2G, 1cpu)
磁盘(可以默认: 20G)
click 完成 后

Mouse Right 设置 网络

选择 桥接网卡(名称: 设置中的描述)
启动
3.1.1.1init
Section titled “3.1.1.1init”





安装普通版


确认?TODO


网络(重要)


先off,再打开


配置好后点击 begin Install


设置密码

等待安装完成, click rebot

3.1.1.2登录
Section titled “3.1.1.2登录”登录

登录成功

3.1.1.3查看 ip
Section titled “3.1.1.3查看 ip”ip addr
3.1.2install ubuntu
Section titled “3.1.2install ubuntu”取消检查更新

用户名不能用root, 默认会有一个root用户

打开终端, 查看ip


240e:45d:ce50:e74b:3029:7795:abf4:9c4e4mobaxterm连接虚拟机
Section titled “4mobaxterm连接虚拟机”
MobaXterm是一款强大的终端软件,提供远程网络工具,如SSH、X11、RDP、VNC、FTP和MOSH。它为需要以更方便的方式处理远程作业的程序员、Webmaster和IT administrator提供了单一Windows应用程序,并捆打了大量功能。你可以在Windows 10/8/7上免费下载MobaXterm家庭版本,既可以作为便携版本也可以作为…
安装成功后
session>ssh
4.1连接centOS
Section titled “4.1连接centOS”刚刚查到的ip是
192.168.36.26可以在本机(192.168.56.1(不是WLAN)) ping 一下 192.168.36.26

不过本机有防火墙,虚拟机ping不过来

ps: 用来保存密码(246369)的主密码我设置的246369aa

4.2连接ubuntu
Section titled “4.2连接ubuntu”

被拒绝(阻塞?)
在虚拟机安装一个 东西
Ubuntu一定要安装openssh-server才能用ssh
sudo apt install openssh-server

再次尝试连接

成功
热点断开再连接发现ubuntu的ip变了
但是centOS的ip没有变
这是正常的行为。当你的 Ubuntu 虚拟机从网络断开然后重新连接时,它可能会从 DHCP 服务器获取一个新的 IP 地址。DHCP(动态主机配置协议)是一种网络协议,它可以自动为网络设备分配 IP 地址。
如果你希望你的虚拟机始终使用相同的 IP 地址,你可以配置静态 IP 地址。这需要你编辑你的网络配置文件,并指定一个固定的 IP 地址。
在 Ubuntu 18.04 及更高版本中,你可以使用 Netplan 来配置静态 IP 地址。以下是一个示例的 Netplan 配置文件:
network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]在这个文件中,我们禁用了 DHCP (dhcp4: no),并指定了一个静态 IP 地址 (addresses: [192.168.1.100/24])。我们还指定了默认网关 (gateway4: 192.168.1.1) 和 DNS 服务器 (addresses: [8.8.8.8, 8.8.4.4])。
请注意,你需要根据你的网络环境来修改这个配置。你需要选择一个在你的网络中未被使用的 IP 地址,你的网关和 DNS 服务器的地址也可能不同。
一旦你编辑了你的配置文件,你可以使用 sudo netplan apply 命令来应用你的更改。
在 Ubuntu 16.04 及更低版本中,你需要编辑 /etc/network/interfaces 文件来配置静态 IP 地址。你可以在网上找到许多关于如何做到这一点的教程。
TODO
fe80::8534:b82d:3e4b:c8fb这不是ip突然发现ip没变240e:45d:ce50:e74b:3029:7795:abf4:9c4e1文件和目录介绍
Section titled “1文件和目录介绍”1.1Windows和Linux 文件系统区别
Section titled “1.1Windows和Linux 文件系统区别”1、Windows 下的文件系统,打开我的电脑可以看到多个盘符。
2、每个盘符都相当于一个根。

1.2linux 文件目录
Section titled “1.2linux 文件目录”1 linux 下没有盘符的概念,只有一个根目录

这里的python是用户名# 切换为根目录cd /#ls
2文件目录command
Section titled “2文件目录command”格式: command [-options] [parameter]
command:命令名,相应功能的英文单词或单词的缩写
[-options]:选项,可用来对命令进行控制,可选
[-parameter]:传给命令的参数,可选
2.0 —help
Section titled “2.0 —help”ls --helplsls -als -l
touch aa.txtls -l
dr:目录,文件夹w:写x:执行r:读2.0.1man
Section titled “2.0.1man”man ls #查看ls的使用方法,q退出2.1ls查看目录文件
Section titled “2.1ls查看目录文件”list的缩写?
ls -a do not ignore entries starting with . {即显示隐藏文件}ls -l use a long listing format {即以一个列表显示} ls -a -l == ls -l -a == ls -al == ls -la ~= llls -h, --human-readable human{人性化}readable{易读的}ls -R, --recursive{递归} list subdirectories{子目录} recursivelyls [dir] 列出dir中的文件、文件夹pwd 显示当前路径

2.2cd切换工作目录
Section titled “2.2cd切换工作目录”cd . 切换到当前目录cd .. 切换到上一级目录cd ~ 切换到家目录 == cdcd - 上一次工作目录互相切换2.3touch新建文件
Section titled “2.3touch新建文件”
2.4mkdir新建目录
Section titled “2.4mkdir新建目录”-p 递归创建mkdir [目录名]mkdir -p a/b/c 在 b 目录不存在时,可以用-p 参数同时创建 b 目录2.5rmdir删除目录
Section titled “2.5rmdir删除目录”
2.6rm删除文件或目录
Section titled “2.6rm删除文件或目录”-r 递归地删除目录下的内容,删除文件夹时必须加此参数-f 强制删除,忽略不存在的文件,无需提示rm aa.txt bb.txt cc.txt

rm -rf vip
touch a.txt aa.txt aaa.txtrm -rf a*2.7mv移动(rename)
Section titled “2.7mv移动(rename)”mv aa.txt vip/ #将aa.txt移动到vip/里面
mv vip/aa.txt ./bb.txt #将aa.txt移动到当前目录并重命名为bb.txtmv bb.txt aa.txt #将bb.txt移动到当前目录并重命名为aa.txt
覆盖
touch vip/aa.txt aa.txtmv vip/aa.txt ./aa.txt #vip/aa.txt将覆盖./aa.txt因此存在安全问题,
-f 覆盖前不询问-i 覆盖前询问-n 不覆盖已经存在的文件
-i 覆盖前提示 -r 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件, 目标文件必须为一个目录名 cp src des 如果是复制文件夹,则加上-r 选项TODO
2.9cat查看(输出)\合并 file
Section titled “2.9cat查看(输出)\合并 file”concatenate{连接} FILE(s) to standard{标准的} output{输出}
-n 输出行编号-s 不输出多行空行-b 对非空行进行编号cat aa.txt

cat filename1 filename2 > filename 将filename1 和filename2 的文件合并写入到filename 文件中#将f1和f2输出到f1.9.3输出到文件
Section titled “1.9.3输出到文件”cat f1 > f2 #将f1中的内容 覆盖 到f2cat f1 >> f2 #将f1中的内容 追加 到f22.10more(谁在terminal看那么长的文章呀)
Section titled “2.10more(谁在terminal看那么长的文章呀)”查看文件内容,可以分页查看,每次查看一页的内容,适合查看内容比较多的文件。
more filename 查看 filename 文件的内容
2.11history
Section titled “2.11history”history 输出(打印)历史命令history -c 删除历史命令记录2.12clear清屏
Section titled “2.12clear清屏”2.13sudo获取root权限
Section titled “2.13sudo获取root权限”ubuntu 默认是不能以 root 账号登录系统,那么遇到需要 root 权限的怎么办?
那么这个时候只要在命令前面加上 sudo,就可以获得 root 权限。

mv: cannot move 'a.txt' to '/a.txt': Permission{许可} denied{deny:拒绝}sudo mv a.txt /3权限与远程管理
Section titled “3权限与远程管理”Linux 系统通常作为服务器的系统,而我们在实际使用过程中,经常需要多人同时操作服务器,因此Linux 系统需要支持权限管理和远程管理。
(1)用户:
要登录 Linux 必须要有一个用户,一台 Linux 系统下可以有多个用户,
并且每个用户可有不同的权限。在 Linux 中可以指定用户对不同的文
件、目录拥有不同的权限。
(2)用户组:
Linux 有一个组的概念,不同的用户分配到一个组,那么同组下的用户,
都拥有这个组的权限。
(3)权限
Linux 权限有三种,读,写,执行。

3.1用户管理
Section titled “3.1用户管理”用户管理包括:创建用户、删除用户、修改用户帐号属性、创建用户组、修改用户组属性。其中,创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行。
3.1.1useradd创建用户
Section titled “3.1.1useradd创建用户”useradd [用户名]-d指定新账户的主目录-g指定用户的所属组-G指定用户附加组-s指定用户登录shell-m自动创建家目录instance:
sudo useradd bb#给bb设置密码sudo passwd bb

可以看到创建的用户
但是尝试登录时登录失败
TODO
3.12userdel删除用户
Section titled “3.12userdel删除用户”userdel [用户名]-r删除用户的同时删除家目录3.1.3usermod修改用户属性
Section titled “3.1.3usermod修改用户属性”usermod-u 用户id-g 所属组id-a-GGID:不使用-a选项,会覆盖此前的附加组;-d-m将家目录内容移至新位置-s该用户帐号的新登录-l新的登录名称3.1.4切换用户
Section titled “3.1.4切换用户”su - [用户名]加-同时切换到用户的家目录,不加直接在当前目录切换到新用户。instance:
sudo su - root
3.2用户组管理
Section titled “3.2用户组管理”3.2.1groupaddi创建用户组
Section titled “3.2.1groupaddi创建用户组”3.2.2groupdel
Section titled “3.2.2groupdel”3.2.3groupmod
Section titled “3.2.3groupmod”-g Gid创建用户时,会默认创建一个与用户名同名的组名创建成功后可在/etc/passwd文件下查看新创建的用户没有sudo权限,需要将用户加到adm,sudo这两个组中才拥有sudo权限3.3权限管理
Section titled “3.3权限管理”chmod+/-rwx文件名|目录名+增加权限,-取消权限每个文件,都有三组不同的权限,第一组文件所有者,第二组是文件所属组,第三组是其他用户。第一组:u文件所有者修改所有者权限:chmod u+/-/=rwx filename第二组:g文件所有组修改所属组权限:chmod g+/-/=rwx filename第三组:o其他用户修改所属组权限:chmod o+/-/=rwx filenameinstance:

#给a.txt的所有者用户增加x权限chmod u+x a.txt#给a.txt的所有组增加x(可执行)权限chmod g+x a.txt

快捷修改权限
4=r 2=w 1=xchmod 755 a.txt
3.4远程管理
Section titled “3.4远程管理”3.4.1查看ip
Section titled “3.4.1查看ip”ip addr
240e:45d:ce30:16ba:703a:844f:3dc6:3fcaifconfig3.4.2ping
Section titled “3.4.2ping”ping -c 指定ping几个数据包结束ping -i 指定发送数据包的间隔,单位是秒ping -s 指定发送数据的大小,单位字节ping -t 设置TTL的大小,TTL网络调数大小3.4.3ssh远程连接
Section titled “3.4.3ssh远程连接”SSH是一种网络协议,用于计算机之间的加密登录。Linux下默认开启sshd服务,只有开启sshd服务才能进行ssh连接。
可以使用service sshd status查看是否开启sshd服务。active(running)表示已经开启。
service sshd status
Windows下连接方式
Windows下我们借助第三方软件,xshell或者putty来连接。
xshell和putty下载地址:链接:https://pan.baidu.com/s/1kUCyM2r
密码:zyplssh
端口号默认:22
Linux下ssh命令连接方式
ssh -p 端口主机 #-p 可以指定端口。ssh一般使用默认的22。看到提示welcome表示已经连接成功

3.4.4scp文件复制(已过时)
Section titled “3.4.4scp文件复制(已过时)”scp就是secure copy,是一个在Linux下用来进行远程拷贝文件的命令
现在可以直接拖拽
也可以使用SFTP
3.4.5SFTP
Section titled “3.4.5SFTP”

3.5系统信息
Section titled “3.5系统信息”3.5.1date
Section titled “3.5.1date”
3.5.2df/du查看磁盘空间
Section titled “3.5.2df/du查看磁盘空间”df -TH 查看磁盘分区,以及挂载情况du -sh [目录名] 查看目录大小du -h [filename] 查看文件大小3.5.3uname查看内核/操作系统/CPU信息
Section titled “3.5.3uname查看内核/操作系统/CPU信息”uname -a # 查看内核/操作系统/CPU信息每个信息分开查看:uname -i 查看硬件平台 x86_64uname -m 查看cpu x86_64uname -n 节点名称 aa-VirtualBoxuname -o 操作系统 GNU/Linuxuname -v 内核版本 #107~20.04.1-Ubuntu SMP Fri Feb 9 14:20:11 UTC 2024uname -r 发行版本号 5.15.0-97-generic3.5.4top查看进程
Section titled “3.5.4top查看进程”top 查看进程实时运行情况,即系统资源实时使用情况,退出top界面输入q

3.5.4.1ps
Section titled “3.5.4.1ps”查看所有进程状态
ps -ajx 一般使用ps命令带选项ajx一起使用ps aux|grep aaps aux|grep redis
3.5.4.2kill结束进程
Section titled “3.5.4.2kill结束进程”kill [参数] [进程号]kill -9 [进程号]:强制结束进程kill -15 [进程号]:结束进程,等级没有-9高提示:在Linux中1号进程(init进程)是有所有进程的祖先进程,是不能被结束的。4文件查找与编辑
Section titled “4文件查找与编辑”echo $PATH
: 在这里用来分隔4.1文件查找、
Section titled “4.1文件查找、”4.1.1which命令
Section titled “4.1.1which命令”which pwdwhich python3扩展:与which功能相似的还有一条命令whereis也可以查找到命令的绝对路径
which会列出这个命令的别名记录,而whereis会显示出这个命令的帮助文档所在位置
语法:whereis (选项) (参数)选项-b:只查找二进制文件;-B<目录>:只在设置的目录下查找二进制文件;-f:不显示文件名前的路径名称;-m:只查找说明文件;-M<目录>:只在设置的目录下查找说明文件;-s:只查找原始代码文件;-S<目录>只在设置的目录下查找原始代码文件;-u:查找不包含指定类型的文件。whereis 命令只能用于程序名的搜索,如果省略选项,则返回所有信息whereis pwdwhereis -b pwdwhereis svn说明:svn没安装,找不出来
4.1.2find命令
Section titled “4.1.2find命令”在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户等条件查找文件。
find [搜索路径] [搜索选项] filenamepath 路径,表示从这个路径下开始查找-name filename查找名为filename的文件-size+/-大小 按照文件大小来查找,+大于,-小于-user username按文件所属查找通过时间值查找:-ctime -atime -mtime(以天为单位)-cmin -amin -mmin(以分钟为单位)-type按文件的类型-inum根据i节点进行查找-group组名按所属组来查找-a and逻辑与-o or逻辑或-exec或 -ok command{} \; 将查到的文件执行command操作,{}和\;之间有空格,固定格式。提示:如果find命令省略路径不写,表示从当前路径开始查找。find还可以结合通配符使用。linux下的通配符
instance:

4.1.3locate命令
Section titled “4.1.3locate命令”locate [list file in databases]:/usr/bin/locate说明:是Linux所特有的命令,寻找文件或目录,最好用于快速定位系统命令,配置文件等虽然搜索速度很快,但有时候会找不到locate是在文件数据库中查找的,所以速度会很快但是如果数据库没有包含这个文件的话,他就会找不到;格式:locate [搜索关键字]配合:updatedb [update a database for mlocate]:/usr/bin/updatedb 建立整个系统目录文件的数据库注意:其执行权限为:root!!!locate /etc/shres: /etc/shadow /etc/shadow- /etc/shells当在某些目录下创建文件,然后更新数据库之后,并不能用locate命令查找到 原因是系统在更新数据库的配置文件中,设置了一些搜索限制,所以搜索不到,输入如下命令可以看到:
vi /etc/updatedb.confPRUNE_BIND_MOUNTS=“yes”表示开启搜索限制,如果为’no’则表示不开启搜索限制;PRUNEFS=表示搜索时,不搜索的文件系统;PRUNENAMES=表示搜索时,不搜索的文件类型;PRUNEPATHS=表示搜索时,不搜索的路径;不只locate命令遵循搜索限制,whereis与which也遵循4.1.4grep命令
Section titled “4.1.4grep命令”一种强大的文本搜索工具
它能使用正则表达式搜索文本, 并把匹配的行打印出来
grep "python" filename 在filename文件中查找python,并打印结果(行)grep "python" f1 f2 f3 也可以多文件-E 使用正则表达式grep -E "[a-c]+" filenamegrep home /etc/passwdsyslog:x:104:108::/home/syslog:/bin/falseluohuihua:x:1000:1000:luohuihua,,,:/home/luohuihua:/bin/bashgrep -E"(home)|(sbin)" /etc/passwdnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologinsyslog:x:104:108::/home/syslog:/bin/falseluohuihua:x:1000:1000:luohuihua,,,:/home/luohuihua:/bin/bashsshd:x:121:65534::/var/run/sshd:/usr/sbin/nologinroot@ubuntu在多个文件中查找
grep "match_pattern" file_1file_2file_3...grep luohuihua /etc/passwd /etc/group /etc/passwd:luohuihua:x:1000:1000:luohuihua,,,:/home/luohuihua:/bin/bash/etc/group:adm:x:4:syslog,luohuihua/etc/group:cdrom:x:24:luohuihua/etc/group:sudo:x:27:luohuihua/etc/group:dip:x:30:luohuihua/etc/group:plugdev:x:46:luohuihua/etc/group:lpadmin:x:113:luohuihua/etc/group:luohuihua:x:1000:/etc/group:sambashare:x:128:luohuihua输出包含匹配字符串的行数 -n 选项:
grep luohuihua -n /etc/passwd /etc/group/etc/passwd:40:luohuihua:x:1000:1000:luohuihua,,,:/home/luohuihua:/bin/bash/etc/group:5:adm:x:4:syslog,luohuihua/etc/group:18:cdrom:x:24:luohuihua/etc/group:21:sudo:x:27:luohuihua/etc/group:23:dip:x:30:luohuihua/etc/group:35:plugdev:x:46:luohuihua/etc/group:52:lpadmin:x:113:luohuihua/etc/group:67:luohuihua:x:1000:/etc/group:68:sambashare:x:128:luohuihua统计文件或者文本中包含匹配字符串的行数-c选项:
grep luohuihua -c /etc/passwd /etc/group/etc/passwd:1/etc/group:84.1.5 | 管道符
Section titled “4.1.5 | 管道符”将左边的输出传递给右边 (当作右边的输入)
ps -ajx|grep ssh #将ps命令的输出结果当grep的输入过滤ll /etc | grep -E ".*" -c #显示/etc目录下的文件或目录的总数量4.1.6 >重定向 >>追加重定向
Section titled “4.1.6 >重定向 >>追加重定向”ls > test.txt将ls命令的输出重定向到test.txtls >> text.txt将ls命令的输出追加到test.tx输入重定向<lsDownloads examples.desktop test test.txt 下载 公共的 图片 文档 桌面 模板 视频 音乐cat test.txt/etcls < test.txtDownloads examples.desktop test test.txt 下载 公共的 图片 文档 桌面 模板 视频 音乐4.2文件打包和压缩
Section titled “4.2文件打包和压缩”4.2.1tar打包
Section titled “4.2.1tar打包”tar -cvf x_name.tar path-c 创建一个新的归档-v 详细地列出处理的文件-f 使用归档文件
4.2.2tar解包
Section titled “4.2.2tar解包”tar -xvf name.tar-x将打包过的文件解包提示:-f选项必须放在最后面
4.2.3gzip压缩
Section titled “4.2.3gzip压缩”gzip一般跟tar一起使用,完成打包压缩
tar 只负责打包并未做压缩,使用 -z 选项可以调用 gzip 压缩,完成打包压缩。
使用tar打包压缩的文件名,一般命名成xxx.tar.gz区别与其他文件。
压缩文件:tar -zcvf name.tar.gz a.txt b.txt c.txt解压缩文件:tar -zxvf name.tar.gz解压缩到指定路径:tar -zxvf name.tar.gz -C 目标路径-C 指定解压到那里,解压的目录必须存在
下载下来看看


4.2.4bzip2压缩
Section titled “4.2.4bzip2压缩”暂时不用
4.3软件安装(in ubuntu)
Section titled “4.3软件安装(in ubuntu)”4.3.1apt
Section titled “4.3.1apt”ubuntu下的包管理工具
安装软件包:
sudo apt install软件包卸载软件包:
sudo apt remove软件包更新已安装的包:
sudo apt upgrade小火车安装演示:
sudo apt install sl4.4vim编辑器的使用
Section titled “4.4vim编辑器的使用”linux下的文本编辑器,可以执行输出、删除、查找、替换、块操作等众多文本操作。vim没有菜单,只有命令,且命令繁多。
4.4.1vim有三种模式
Section titled “4.4.1vim有三种模式”- 命令模式
- 输入模式
- 末行模式
4.4.1.1模式切换
Section titled “4.4.1.1模式切换”
4.4.2命令模式
Section titled “4.4.2命令模式”使用vim打开文件的时候,就进到命令模式。
vim filename:打开或新建文件,并将光标置于第一行首vim +n filename:打开文件,并将光标置于第n行首vim + filename:打开文件,并将光标置于最后一行首vim +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vim -r filename:在上次正用vi编辑时发生系统崩溃,恢复filenamevim filename....filename:打开多个文件,依次进行编辑命令模式下只能输入命令不能进行编辑,只有进入编辑模式才能做文件编辑。
4.4.2.2移动光标
Section titled “4.4.2.2移动光标”h:光标左移一个字符l:光标右移一个字符k或Ctrl+p:光标上移一行j或Ctrl+n:光标下移一行w或W:光标右移一个字至字首b或B:光标左移一个字至字首0:(注意是数字零)光标移至当前行首$:光标移至当前行尾Ctrl+f向文件尾翻一屏Ctrl+b向文件首翻一屏home移动至行首end移动至行末G跳转至文档最末尾gg跳转至文档首行nG n是一个数字,表示跳转至第几行4.4.2.3删除、复制…
Section titled “4.4.2.3删除、复制…”dd 删除光标所在行do 删除光标所在行光标前面的内容(数字0)d$ 删除光标所在行光标末尾的内容3dd 删除光标所在行包含当前行后面3行内容(数字可以替换成自己想要删除的行数多少)yy 复制2yy 复制光标所在行开始2行内容p 粘贴,删除的内容也可以直接用p粘贴u撤销ctrl r反撤销4.4.3进入编辑模式
Section titled “4.4.3进入编辑模式”i:在光标前I:在当前行首a:光标后A:在当前行尾o:在当前行之下新开一行O:在当前行之上新开一行4.4.4进入行末模式
Section titled “4.4.4进入行末模式”在命令模式下,用户按”:“键即可进入末行模式
4.4.4.1退出及保存:
Section titled “4.4.4.1退出及保存:”:q退出:q!退出并不保存:w保存:wq退出并保存:x退出并保存4.4.4.2查找替换:
Section titled “4.4.4.2查找替换:”/string 在文本中查找 stringn下一个N上一个:n1,n2s/word1/word2/g将n1行到n2行中word1替换成word2,g表示全部替换,不加g则只替换匹配中的第一个:1,$s/word1/word2/g从第一行到最后一行寻找word1字符串,并将该字符串取代为word2(常用):1,$s/word1/word2/gc从第一行到最后一行寻找word1字符串,并将该字符串取代为word2!且在取代前显示提示字符给用户确认是否需要替换(常用)4.4.4.3显示行号
:set nu显示行号:set nonu取消显示行号4.4.5其他模式
Section titled “4.4.5其他模式”4.4.5.1visual模式
v:按字符移动,选中文本V:按行移动,选中文本可视模式可以配合d,y,>>,<<实现对文本块的删除,复制,左右移动[搜索选项]: