Linux 操作系统
一 、网络连接的三大模式
1、桥接模式
指将虚拟机直接连接到物理网络中,使得虚拟机可以像局域网中的独立主机一样进行通信。
在选择桥接模式时,如果需要使用一个分配的网络账号才能上网(比如公司或学校的网络),虚拟机将无法直接上网。原因在于,虚拟机此时被当作局域网中的另一台电脑,是一台独立主机,而宿主机的网卡则被虚拟化成了一个交换机。因此,虚拟机无法通过桥接模式直接使用分配的网络账号进行上网。
虚拟系统可以和外部系统通讯,但是容易造成IP冲突
2、NAT模式
在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。VMware Network Adapter VMnet8网卡是为了实现主机与虚拟机之间的通信。
可见NAT模式下主机更像是虚拟机们的"路由器",通过VMnet8虚拟网卡为虚拟机分发地址。所以虚拟机和主机不再同一网段下,可以理解为主机是虚拟机的"上级",这也就是为什么桥接模式没有VMnet0这个虚拟网卡,因为桥接模式下的虚拟机和主机是"平等"的,共用同一个路由器呀。
网络地址转换模式,虚拟系统可以和外部系统通讯,不造成IP冲突
3、仅主机模式
仅主机模式可有看成是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。
独立的系统
二、虚拟机的快照
关于虚拟机的快照就是可以用来保存虚拟机的某一种状态,当虚拟机出现任何情况或者操作者想要回到某一种状态的时候,使用快照,就可以回到那个状态,一般用于当虚拟机出现某种问题的时候,使用快照,解决当前问题
三、安装vmtools
关于vmtools的安装可以更好地管理虚拟机,可以设置windows和centos的共享文件夹
然后在linux系统上打开共享文件夹,在home/mnt/hgfs这个目录下面就是我们和windows系统共享的文件夹
四、Linux的目录结构
关于Linux的目录结构就是以根目录(/)然后下面有很多的分支,且这些文件名不能被修改,这些都是约定好的,硬件在Linux系统下也是相当于文件的形式存在
1、/bin目录
在这个目录中存放的是最经常使用的命令
2、/sbin目录
这里面存放的是系统管理员使用的系统管理程序
3、/home目录
存放的是普通用户的主目录,在Linux系统中每一个用户都有自己的目录,一般是以用户的账号命名
4、/root目录
该目录是为系统管理员,也称作超级权限者主目录
5、etc目录
所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库
6、usr目录
用户的很多应用程序和文件都放在这个目录下,类似于windows下面的program file目录
7、boot目录
存放的是启动Linux时使用的核心文件,包括一些链接文件以及镜像文件
8、media目录
linux系统会自动识别一些设备,比如u盘、光驱等等,识别之后,linux会把识别的设备挂载到这个目录下面
9、mnt目录
为了让用户挂载别的文件系统,我们可以将外部的存储挂载到/mnt/上,然后进入该目录就可以查看里面的内容了
10、opt目录
给主机额外安装软件所存放的目录,如安装oracle数据库
五、远程登陆到Linux
六、vi vim使用
这个图是关于vi编辑模式和命令行模式和正常模式的转换
在进入vi模式直接使用“vi”指令
然后再按下i,o·····等进入编辑模式,就可以输入字符
1、关于编辑模式下面中的快捷键
拷贝当前行:yy;拷贝光标当前行向下的5行:5yy,并粘贴(输入p)
删除当前行:dd;删除光标当前行向下的5行:5dd
在文件中查找某个单词:/该关键字,回车,输入n就是查找下一个
设置文件的行号:set nu; 取消文件的行号:set nonu;
在一般模式下,到文章的末尾(G)、文章的最开始(gg)
在文件中输入字符,但是又不想要了,输入:u (像ctrl+z)
七、关机、重启
shutdown -h now :立刻关机
shutdown -h 1 :一分钟后关机(输入shutdown,就是这个效果)
shutdown -r now :立即重启计算机
halt: 关机
reboot:重启
sync:把内存的数据同步到磁盘====
注意:不管是重启还是关机,首先运行syns指令,把内存的数据写到磁盘中
八、用户的管理
1、添加一个用户使用命令:
useradd 用户名
注意:
- 当创建用户成功后,会自动的创建和用户同名的家目录
- 也可以通过”useradd -d 指定目录 新的用户名 “,给新创建的用户指定家目录
2、给新用户设置密码:
语法:passwd 用户名
3、删除用户(保留家目录):
userdel 用户名
4、删除用户(不保留家目录):谨慎!!!
userdel -r 用户名
注意:一般情况下,建议保留家目录
5、查询用户信息:
id 用户名
6、切换用户:
su - 用户名
注意:
- 从权限高的用户切换到权限低的用户不需要密码,反之需要密码
- 当需要返回原来的用户时,使用exit/logout指令
7、查看当前用户(登录的用户):
who am i
8、查看正在使用的用户:
whoami
9、新增组
groupadd 组名
10、删除组
groupdel 组名
11、增加一个用户时直接加上组里
useradd -g 用户组名 用户名
如果加一个用户没有指定组,会自动创建一个同用户名的组,并且把这个用户放到这个组下面
12、修改用户的组
usermod -g 新组名 用户名
九、实用指令
1、运行级别
0:关机
①单用户(找回丢失密码)
②多用户状态没有网络服务
③多用户状态有网络服务
④系统未使用保留给用户
⑤图形界面
⑥系统重启
常用的运行级别是③和⑤
2、找回root密码
3、帮助指令
查看一个指令的使用:
man 指令
4、文件目录类
①pwd指令
显示当前工作目录的绝对路径
②cd指令
cd ~:回到自己的家目录,root就回到/root,persist就回到/persist,可以使用pwd指令检查自己所在的位置
cd … 回到当前目录的上一级目录
③mkdir指令
该指令用于创建目录,语法:
mkdir [选项] 要创建的目录
常用的选项:
-p:创建多级目录
例:mkdir /home/dog(创建一个目录)
mkdir -p /home/animal/dog(创建多级目录)
④rmdir指令
该指令用于删除空目录,语法:
rmdir [选项] 要删除的目录
常用的选项:
-rf:当该目录下有东西存在,使用-rf强制删除
例:rmdir -rf /home/dog/a.txt
⑤touch指令
该指令时用于创建一个新文件,语法:
touch 文件名
例:touch hello.txt
⑥cp指令
用于拷贝文件到指令目录,基本语法:
cd [选项] source(拷贝的文件名) dest(目的地)
常用选项:
-r:递归复制整个文件夹
例:将a.txt文件复制到aaa文件夹下:cp a.txt aaa
但是a.txt和aaa之前必须在同一个目录下
⑦rm指令
该命令用于移除文件或者目录,语法:
rm [] 要删除的文件或目录
常用的选项:
-r:递归删除整个文件夹
-f:强制删除不提示
⑧mv指令
该指令用于移动文件与目录或者重命名,语法:
mv 旧文件名 新文件名(重命名)
mv 旧文件路径 新文件路径 (移动文件)
例:mv cat.txt pig.txt(重命名)
例:mv /home/pig.txt /root(移动文件)
例:mv /home/pig.txt /root(移动并重命名)
⑨cat指令
该指令用于查看系统文件内容,语法:
cat [选项] 要查看的文件
常用的选项:
-n:显示行号
⑩more指令
more指令是一个基于VI编辑器的文本过滤器,它以全屏膜的方式按页 显示文本文件的内容
其可以和cat指令一起使用(cat -n /etc/profile | more),也可以单独使用,语法:
more 要查看的文件
其中more指令的快捷键:
space(空格):翻页
enter:下一行
q:退出
ctrl+f:向下滚动一屏幕
ctrl+b:向上滚动一屏幕
=:输出当前的行号
:f 输出文件名和当前的行号
①①less指令
该指令是用于分屏查看文件的,功能与more指令类似,但是比more更强大,支持显示各种终端,语法:
less 要查看的文件
其中less指令的快捷键:
pagedown:向下翻动一页
pageup:向上翻动一页
q:离开
①②echo指令
关于echo指令是输出内容到控制台,基本语法:
echo [选项] 输出的内容
例:输出“hello world”,就是echo “hello world”
①③head指令
handle指令用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容,语法:
head 文件(查看文件的前10行指令)
head -n 5 文件 (查看文件头5行内容,5可以是任何数字)
例:查看/etc/profile的前面的5行代码
head -n 5 /etc/profile
①④tail指令
用于输出文件中尾部的内容,默认情况下tail指令显示文件后10行的内容,语法:
tail 文件
tail -n 5 文件 (查看文件后5行内容,5可以是任何数字)
tail -f 文件(实时追踪该文档的所有更新)
例:实时监控mydate.txt,看看文件有变化时,是否看得到追加的”hello”:tail -f /home/mydate.txt
①⑤>指令>>指令
“>”指令是重定向,而“>>”是追加
例:ls -l >文件 (将列表中的内容覆盖写入到文件中)
ls -al >> 文件 (将列表中的内容追加到文件中)
①⑥ln指令
软链接也叫做符号链接,类似于windows里面的快捷方式,主要存放了链接其他文件的路径,基本语法:
ln -s [原文件或者目录] [软链接名字,随意] (给原文件创建一个软链接)
例:
(1)在/home目录下面创建一个软链接myroot,链接到/root目录
ln -s /root /home/myroot
(2)删除软链接myroot
rm /home/myroot
①⑦history指令
查看已经执行过的历史指令,也可以执行历史指令
,基本语法:
history (查看所有已经执行过的历史指令)
显示最近使用的10个指令:
history 10
显示历史编号为5的历史指令:
!5
5、时间日期类
①date指令
直接使用date指令是显示当前日期
date “+ %Y”(显示当前年份)
date ”+ %m“(显示当前月份)
date “+ %d”(显示当前是哪一天)
date “+ %Y-%m-%d %H:%M:%S”(显示年月日时分秒)
设置系统的当前时间为:某一天的具体时间
date -s “2024-04-07 16:16:00”
②cal指令
查看日历指令
cal [选项] (不加选项就是显示本月的日历)
例:显示2020年的日历
cal 2020
③find指令
该指令是从指定目录向下递归地遍历各个子目录,将满足条件的文件或者目录显示在终端 ,语法:
find [搜索范围] [选项]
选项:
-name (按照指定文件的名查找文件)
-user(查找属于指定用户名的所有文件)
-size(按照指定的文件大小查找文件)
例:按照文件名查找/home目录下的hello.txt文件
find /home -name hello.txt
查找/opt目录下,用户名nobody的文件
find /opt -user nobody
查找整个linux系统下文件大小大于200M的文件(+大于 -小于 n等于)
find / -size +200M
④locate指令
该指令用于快速定位文件的路径,不会遍历整个文件系统,查询速度快,基本语法:
locate 搜索文件名
注意:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
例:找出hello.txt文件的路径
locate hello.txt
⑤which指令
该指令可以查看某个指令在哪个目录下,比如ls在哪个目录:
which ls
⑥grep指令和管道符
grep是过滤查找,管道符,“|”,表示将前一个命令的处理结果传递给后面的命令处理,基本语法:
grep [选项] 查找内容 源文件
常用选项:
-n 显示匹配行及行号
-i 忽略字母大小写
例:在hello.txt文件中查找yes所在行,并显示行号
(1)cat /home/hello.txt | grep -n “yes”
(2)grep -n “yes” /home/hello.txt