一、Linux操作系统
1、操作系统概念
是管理计算机硬件与软件资源的程序。没有操作系统的机器叫裸机,操作系统提供让用户与系统交互的操作界面。
处理事务有:管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。
2、操作系统分类
桌面操作系统(图形化操作界面):Mac os ,Windows 、Linux
嵌入式操作系统:嵌入到受控器内部,为特定应用而设计的专用计算机系统。如嵌入式Linux、WinCE(微软嵌入式、移动计算平台)等,(在工业、军事、航空等领域使用比较多)。
服务器操作系统:一般指的是安装在大型计算机上的操作系统。比如web服务器,应用服务器和数据库服务器,是企业it系统的基础框架平台。
主要流派:unix,Linux、Windows server,Network
移动设备操作系统:主要应用在智能手机、平板上。安卓、ios、微软、鸿蒙等
二、Linux
1、起源
Unix-因开源、版权等问题陷入纠纷,延伸不同Unix版本-1991年芬兰学生发布Linux,开源免费遵循GDL协议
Linux操作系统=Linux kernel + GNU 软件及系统软件 + 必要的应用程序
2、发行版本
Linux发行版就是由Linux内核与各种常用软件的集合产品,如今全球大约有数百款的Linux发行版本
大致分类:个人桌面版、企业服务器版
个人桌面版:Ubuntu比较多
企业服务器:Redhat和其延伸版Centos占比较大
3、VM虚拟机
VM是一款虚拟机软件,允许用户讲Linux、windows等多个操作系统作为虚拟机在单台PC上运行,可以在虚拟机上重现服务器、桌面和平板电脑环境,无需重写启动即可跨不同操作系统同时运行应用。
功能、组件:
通过对个人笔记本PC硬件资源的虚拟,在一台PC上运行其他隔离操作系统;
隔离出来的操作系统虽然是虚拟的,但是硬件组成与功能上与物理实体机完全一致;
VM虚拟组件包括:网卡、交换机、DHCP、NAT设备等
4、Linux文件系统
操作系统中负责和存储文件系统的软件机构称为文件管理系统,简称文件系统
文件系统的结构通常叫做目录树结构,从斜杠/根目录开始;
linux号称”万物皆文件“,意味着针对Linux的操作,大多数事件是在针对Linux文件系统操作。
1)文件系统通用特性
几乎主流的文件系统都是从/根目录开始的,Linux也是,windows文件系统以盘符来区分不同文件系统;目录树中节点分为俩个种类:目录(directory)、文件(file)
从根目录开始,路径具有唯一性;
只有在目录下才可以继续创建下一级目录,换句话说目录树到文件终止蔓延。
当前目录:也叫当前工作目录,当下用户所属的位置
相对路径:相对当前工作目录开始的路径,会随着当前路径变化而变化
绝对路径:不管工作目录在哪,绝对路径都是从/根目录开始,唯一不重复。
2)符号
. 目录或文件名字是以.开始表示是隐藏的文件,如果路径以.开始表示当前路径
..当前目录的上一级目录
~当前用户的home目录,比如root用户home目录是/root
/根目录
示例:
cd ./a 进入当前目录下的a
cd /a 进入根目录下的a
cd ../a 进入当前目录上一级的a
cd ~/a 进入当前操作用户home目录下的a
cd .a 进入当前目录下的a,a是隐藏的
3)Linux文件命令
(可以使用tap键自动补全)
history 显示历史使用过的命令
方向键可以切换前后执行过的命令
cd ~ 回到根目录
ls命令:显示指定工作目录下内容(列出当前工作目录所含之文件及子目录)
-a 显示所有文件及目录(.开头的隐藏文件也会被列出)
-l 除文件名外,亦将文件形态、权限、拥有者、文件大小等资讯详细列出,注意ls -l =ll
创建、删除
mkdir :创建目录
-p确定父目录名称都在,不存在的就建一个
touch:创建一个空文件,无任何内容
rm:用于删除一个文件或者目录
-f 强制直接删除,无需用户确认。
-r 将目录及以下所有递归逐一删除。
移动、复制
cp:用于复制文件或目录
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
mv:用来为文件或目录改名、或将文件或目录移入其他位置
一般用法: mv 文件名 移动后改的文件名
文件内容查看
cat :用于连接文件并打印到标准输出设备如连接console控制台上,适合小文件
more:类似cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,翻页结束自动退出查看,按space键下一页,按b(back)返回上一页
tail:用于查看文件的结尾部分的内容
-n:用于显示行数,默认为10,即显示10行内容
-f:用于实时显示文件动态追加的内容,会把文件里最尾部的内容显示在屏幕上,并且不端刷新,只要文件有更新,就可以看到最新的文件内容。
其他
管道命令 |:将前一个命令执行的结果作为内容交给下一个命令处理,可以形成多级管道操作。
命令1|命令2 可以将命令1的结果通过命令2作为进一步的处理
echo:用于内容的输出,将内容输出到console控制台上
echo string
echo 需要添加的字符 >文件
解压缩命令
打包、解包
tar :常用于备份文件,是用来建立,还原备份文件的工具程序,他可以加入,解开备份文件内的文件。
-c或--create建立新的备份文件
-x或--extract或--get从备份文件中还原文件
-v或--verbose显示指令执行过程。
-f <备份文件>或--file=<备份文件>指定备份文件
注意:一般情况下是 -cvf打包操作或者 -xvf解包操作
示例:-cvf打包操作
tar -cvf 打包文件的名字 需要打包的文件
第二条命令为打包命令,将1.txt和2.txt打包进一个叫itcast.tar的文件夹中,并显示打包过程。
第三条ll是查看是否有打包的文件
解包操作 -xvf
tar -xvf 解压文件 -c 解压目录 (-c不加默认解压到当前目录,需要指定目录则要加-c)
将itcast.tar文件解压到指定bbb文件夹下
验证:ll 解压文件目录即可
ll bbb/
打包压缩、解包解压缩
在打包备份或者解包的过程中,可以通过指定解压缩算法,对打包的文件进行压缩,解压的时候也需要指定相应的算法。
-z 或 --gzip或--ungzip
重要搭配:tar -zxvf xxxx.tar.gz(xxxx.tgz也可以) 解压缩文件位置
Linux常用系统命令
时间、日期查看
data:用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲现实的格式,格式设定为一个加号后接数个标记(data + %Y-%m-%d %H:%M:%S“)
cal(calendar):用于显示当前或者指定日期的公历
内存、磁盘使用率查看
free:用于显示内存状态。会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
-h:人性化显示(df命令也可使用)
df(disk free):用于显示目前在Linux系统上的文件系统磁盘使用情况统计。
进程查看
ps(process status):用于显示当前进程的状态,类似于Windows的任务管理器
-ef:精准查看
关闭进程:kill -进程号
jps:这是jdk自带的命令,专门用于查看本机运行的Java进程情况
三、vim编辑器
1、vim编辑器介绍、3种工作模式
概念:vi是一款很多Unix及其延伸系统内置的文本编辑其,具有强大的文本编辑能力。
vim是从vi发展出来的的一个文本编辑器,可以理解为vi编辑器的增强版。vim中代码补完、编译及错误跳转等方便编辑的功能特别丰富。
vi/vim编辑器的核心设计思想:让程序员的手指能始终保持在键盘的范围中,完成所有的编辑操作。
2、打开与新建文件
vim /path/file(vim和/之间有空格)
如果打开的文件不存在,此时就是新建文件,编辑器左下角会提示new file。
如果文件已经存在,此时就打开这个文件,进入命令模式
在使用vim编译器中,如果发现打开的文件内容不符合预期,可以检查一下,文件路径是否正确。
3、vim编译器3种工作模式
1) 命令模式
命令模式下,所敲的按键编译器都理解为命令,以命令驱动执行不同的功能。
此模型下,不能自由进行文本编辑。
2)输入模式
也就是所谓的编辑模式、插入模式
此模式下,才可以对文件内容进行自由编辑
命令模式<->输入模式
i 进入到编辑输入模式后,定位到当前光标前面
o 进入到编辑输入模式后,在当前行的后面添加一行空格(当前行的下一行)
输入模式下按esc退回到命令模式
3)底线命令模式
以:开始,通常对于文件的保存、退出
命令模式<->底线命令模式
在命令模式下,输入:进入底线命令模式
常用的底线命令有:
:q退出
:w保存
:wq 保存退出
:wq!强制保存退出
在命令模式下按下shift+zz,可以实现快速的保存退出。
4、vim基本操作命令
1) 光标移动
方向键控制移动
翻页pageup pagedown
行首 (home 0) 行尾(end $)
跳到文件的最后一行 G
跳到文件的第一行 gg
2)复制粘贴
复制:
yy 复制光标当前所在行内容
nyy 复制当前行往下n行(n是数字)
粘贴:
p 当前行的下一行粘贴
P当前行的上一行粘贴(大写的P)
注意:使用鼠标从Window或者其他地方复制内容到vim百年机器粘贴,一定要在输入模式下进行,否则数据有丢失的风险(window里面的东西到Linux里面可能会是其他命令,会导致变化)
如果不是输入模式,可以进入Linux环境下选择空白处或者指定位置,按i,进入插入模式,右击选择粘贴即可
3)删除、撤销操作
删除:
dd 删除光标所在当前行内容
ndd 删除当前行往下n行
撤销、反撤销
u撤销上一步的操作(后悔药作用)
ctrl+r 反撤销 (相当于撤回撤回的操作)