遇见问题
配置好环境之后,点击开始运行虚拟机,电脑就出现蓝屏警告,蓝屏代码为:system_service_exception,遇见这种情况大部分人就会很烦躁找不到解决方法,因为蓝屏就只能强制重启,而且打开电脑重试之后还是会出现蓝屏的情况。
我的是win11
第一步 右键此电脑 选择 属性
第二步 点击
第三步 点击 勾选
出现上面的点击确定即可!!!!!!
如果不行 其他网上的方法
一打开虚拟机,windows就蓝屏重启
终止代码SYSTEM_SERVICE_EXCEPTION。
问题原因:安装了win10的 KB4584229这个补丁
解决方法:
一(最简单):升级vmware到16.1以上。
二:卸载这个补丁,不要安装
②.更新到高版本的VM虚拟机
在VMware官网下载最新版的虚拟机,进行安装使用,因为最新版本的虚拟机
VMware - 为企业提供数字基础
高版本的虚拟机是可以支持最新的处理器和主板的
③.下载官方驱动更新
去电脑品牌的官网下载最新的驱动,然后更新最新版的驱动程序,方法就是在百度上搜索,对应品牌的厂家驱动,进入官网下载。
Linux
Linux的基础介绍
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
吉祥物:企鹅
主要发行版本:redhat ubuntu(乌班图),redhat又引申出两个,一个是redhat一个是centos的,而现在广泛被使用的就是centos的
Linux和Windows的比较
Linux | Windows | |
---|---|---|
收费 | 一般免费 | 收费 |
安全性 | 高 | 容易被攻击,经常打补丁 |
使用习惯 | 需要一定的学习成本 | 外行或者初学者最爱 |
可定制性 | 定制性十分的强 | 一般没有定制性可言 |
应用场景 | 服务器层面 | 桌面操作系统层面 |
目录结构
Linux的文件系统采用的是一个树状的目录结构,由/作为根目录,然后在此目录下创建新的目录,在我们的Linux中,任何事物都是由文件组成
目录的基本介绍
-
/bin
是binary的缩写,一般是存放着一些常用的命令
-
/sbin
s是super User的意思 这里指的是存放着系统管理员使用的系统管理程序
-
/home
存放的是普通用户的主目录,但是一般我们放东西,都在home下放
-
/root
一般是系统管理员目录
-
/boot
存放着启动Linux的一些核心的文件(别改)
-
/proc
虚拟映射(别动)
-
/srv
服务启动需要提取的数据(别动)
-
/sys
相关系统文件
-
/tmp
临时文件
-
/dev
设备管理器:将硬件映射成文件了,你看看里面有没有cpu和disk相关的目录
-
/media
自动识别的设备,并把它挂载在这个目录下面,比如你查个u盘
-
/mnt
让用户临时挂在别的文件系统的
-
/opt
给主机安装额外软件的目录
-
/usr/local
另一个给主机安排额外软件的目录
-
/var
一般放日志文件的,就是一些有着自动增长的一些文件
-
/selinux
安全子系统
命令
学Linux最重要的就是学相应的命令
文件目录类
pwd
显示当前目录的绝对路径
ls
显示当前所有的文件和目录
选项:
-
-a 显示所有的文件和目录 包括隐藏的
-
-l 以列表的方式显示信息 显示的信息更加的全面,尤其是你想看他的读写权限的时候
cd
切换到指定的目录
绝对路径方式 以/开头的 从根目录开始找。
相对路径方式 以../开头的 从当前工作目录开始找
cd ~或者cd空格 回到自己的家目录 你如果是root用户就是切到root
cd..就是切换到上一级目录
cd /home 绝对 cd ../xxxx 相对
mkdir
创建目录
mkdir xxxx 创建一级目录 比如说你在home下mkdir cc是行的,但是你mkdir cc/ccc/cccc 就不行了,因为里面包含着多个不存在的文件夹,他就创不了了。 mkdir -p xxxx 这个你mkdir cc/ccc/cccc 就能执行,因为他是多级目录的创建
rmdir
删除空目录 注意必须的是空的目录 如果不是空的就会失败
rm
删除一个文件或者目录。注意如果目录里面有东西 就要加参
-
-r(recursive)
-
递归删除
-
-
-f (force)
-
强制删除。忽略不存在的文件,不提示确认
-
rm -rf xxx 删除某个文件夹及以下的所有文件 rm -rf * 删除当前目录下所有文件(慎用) rm -rf /* 恭喜,系统所有文件都被你删了(禁用)
touch
创建空的文件,包括后缀名。这个和我们widows有大的不同。windows一般是指定文件类型创建,但是linux是你创建文件,加后缀名
touch a.txt
cp
拷贝文件到指定的目录
-
-r
-
递归复制
-
cp a.txt cc cp -r cc dd
mv
移动或者重命名
mv a.txt d.txt 重命名 mv cc/a.txt dd 一定
cat
只读形式查看文件
-
n 显示行号
cat a.txt cat -n a.txt cat -n a.txt |more 分页展示 窗口的大小进行分页显示 管道符
more
是一个基于vi编辑器文本的过滤器,以全屏方式按页显示文本内容
more 要查看的文件
more xxx
操作键 | 功能 |
---|---|
空格 | 向下翻一页 |
回车 | 向下走一行 |
q | 离开 |
ctrl+f | 向下滚动一屏 |
ctrl+b | 返回上一屏 |
= | 输出当前行号 |
less
类似于more,但是比more更加强大,不是一次将整个文件加载之后才显示,而是根据显示加载需要的内容,对于显示大型的文件有这较高的效率
less xxxx
操作键 | 功能 |
---|---|
空格 | 向下翻一页 |
pagedown | 向下走一行 |
pageup | 离开 |
/字串 | 向下找 |
?字串 | 向上找 |
q | 离 |
>
ls -l >a.txt //将显示的内容覆盖到a.txt 文件如果不存在就创建这个文件
>>
ls -l >>a.txt //追加到文件内容的末尾
echo
输出内容到控制台
echo $path 输出环境变量到控制台
head
用于显示文件开头部分 默认开头10行
head a.txt head -n5 a.txt 开头5行
tail
输出文件尾部10行
tail a.txt tail -n5 a.txt 结尾5行 tail -f a.txt 跟踪文档更新 ,一般用于查看运行日志
find
find指令将从指令目录向下遍历各个子目录,将满足条件的文件或者目录显示在终端
find /xx -xx xx -name 是按照名字查找 -user 是按照用户名找 -size 是按照文件大小找 find /home -name a.txt 在home下按照名字叫a.txt的文件
功能类
history
查看执行过的命令
有序号的
执行第五行命令
!8回车
date
显示时间
cal
查看日历
grep指令 和管道符 |
grep是过滤 参数-n 是显示匹配行以及行号 -i是忽略大小写
|是将前一个命令的结果传给下一个命令处理
cat a.txt |grep -ni abc 在a.txt中过滤出abc 并显示行号 并且忽略大小写
gzip/gunzip
gzip -c sdyxz.txt>sdyxz.gz gunzip -c sdyxz.gz>sdyxz1.txt
压缩与解压 针对于.gz文件
zip/unzip
压缩与解压 针对于.zip文件
zip -r 压缩目录 zip -r demo.zip demo
unzip -d /aaa bbb.zip 将bbb压缩文件压缩到aaa中
tar
打包文件,打包后文件类型.tar.gz
tar 【选项】 【打包后名字】【 打包内容】
tar -c 建立新的备份文件 tar -v 显示详细信息 tar -f 指定压缩后文件名 tar -z 打包后同时压缩 tar -x 解包.tar文件 一般用法 tar -zcvf a.tar.gz /home 打包 tar -zxvf a.tar.gz 解压
vim
编辑文件
按i进入编辑模式
esc离开编辑模式
:进入命令模式
:wq 保存并退出
:q! 不保存退出
:q 退出
shutdown
shutdown -h now 即刻关机
shutdown -h 1 1分钟后关机
shutdown -r now 立即重启
halt 关机
reboot 重启
sync 将内存数据同步磁盘
重启关机是应该先sync一下
用户权限类
应该少用root登录 先用普通用户登录在su root 切换身份,因为root可以做好多有关重要系统设置的事,所以一般别登
logout
注销用户
useradd
useradd 【xxx】 用户名 添加用户
useradd xxd 添加小兄弟用户 并且 home下会自动生成xxd目录 useradd -d /home/xxxd 添加小兄弟用户 并且 home下会有生成xxxd目录,xxd目录就不会生成了 useradd -g 用户组 用户名 增加用户是直接加上组 usermod -g 用户组 用户名
passwd
给用户设置密码
passwd xxd 回车后输入新的密码
userdel
userdel xxd 删除xxd
id
id root 查询root信息 uid是用户id号 gid 组id号 组 组名
su
切换用户 等级由高到底不用输密码,由低到高要输密码
su
cat /etc/group
查看所有的组
groupadd
groupadd 组名 加组 groupdel 组名 删除组名
一般谁创建了文件,谁就是文件的所有者
ls -al 能查出谁是所有者
1、第一组为“拥有者的权限”,第二组为“同用户组的权限”,第三组为“其他非本用户组的权限”。 2、第二列表示连接占用的节点(i-node) 3、第三列表示这个文件或目录的“拥有者” 4、第四列表示拥有者的用户组 5、第五列为这个文件的大小 6、第六列为这个文件的创建日期或者是最近的修改日期 7、第七列为这个文件的文件名:如果文件名前面有.说明是隐藏文件。如果只输入ls 前面加.的文件不会显示出来。ls -al则会显示出全部文件。
修改所有者
chown 用户名 文件名
chowm xxd a.txt
权限介绍
-rw-r--r-- 1 root root 0 11月 25 11:23 a.txt
0(d,-,l,c,b)
"-"普通文件
“l”是链接文件,相当于windows的快捷方式;
“b”是块设备,硬盘就是一个例子;
“c”是字符设备文件,鼠标,键盘算是;
“d”是目录文件,相当于windows的文件夹。
1-3所有者的权限
4-6 所属组的权限
7-9其他人的权限
rwx-
r是读
w是些
x是执行
-是没有权限
变更权限
+-=变更omd
u:所有者 g:所有组 o:其他人 a:所有人(o+g+u)
chmod u=rwx,g=rx,o=x 文件名 赋值权限 chmod o+w 文件名 加权限 chomd a-x 文件名 减权限
数字变更
r=4 w=2 x=1
chomd 755 文件名 chomd 777 文件名
帮助指令
man
man ls
help
help cd
英文能力差别,建议直接百度
进程相关
ps
显示进程
ps -aux -a 显示当前终端所有进程信息 -u 以用户的格式显示进程 -x 显示后台运行的参数
-
USER: 行程拥有者
-
PID: pid
-
%CPU: 占用的 CPU 使用率
-
%MEM: 占用的记忆体使用率
-
VSZ: 占用的虚拟记忆体大小
-
RSS: 占用的记忆体大小
-
TTY: 终端的次要装置号码 (minor device number of tty)
-
STAT: 该行程的状态:
-
D: 无法中断的休眠状态 (通常 IO 的进程)
-
R: 正在执行中
-
S: 静止状态
-
s会话的先导进程
-
T: 暂停执行
-
Z: 不存在但暂时无法消除
-
W: 没有足够的记忆体分页可分配
-
<: 高优先序的行程
-
N: 低优先序的行程
-
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
-
-
START: 行程开始时间
-
TIME: 执行的时间
-
COMMAND:所执行的指令
ps -ef 以全格式显示当前所有的进程 -e 显示所有的进程 -f全格式 ps -ef |grep xxx 查找具体进程
kill
kill -9 进程号 强制杀死某进程 killall 杀死所有进程 (别玩)
网络配置
ifconfig
查看网络详情
ping
ping http://www.baidu.com 测试网络是否能连上百度
其实还有一个指定固定ip,这个现在不要用,一般运维搞定的事,我们作为开发,一般不去动网络地址这种东西,会影响到其他的环境。会导致地址冲突,一般都是全局性的去设置
服务管理
服务本质上就是进程,但是一般是在后台运行的,所以又叫做守护进程,比如mysql sshd等
service 服务名 【start、stop、restart、reload、status】开启 停止 重启 重新加载 状态 centos7之后 用systemctl 不用service 1:查看防火状态 systemctl status firewalld service iptables status 2:暂时关闭防火墙 systemctl stop firewalld service iptables stop 3:永久关闭防火墙 systemctl disable firewalld chkconfig iptables off 4:重启防火墙 systemctl restart firewalld.service systemctl enable firewalld service iptables restart
iptables起源于freeBSD的ipfirewall(内核1.x时代),所有规则都在内核中;2.0x后更名为ipchains,可以定义多条规则并串用;现在叫iptables,使用表组织规则链。iptablses按照用途和使用场合,将5条链各自切分到五张不同的表中。也就是说每张表中可以按需要单独为某些链配置规则。例如,mangle表和filter表中都能为INPUT链配置规则,当数据包流经INPUT位置(进入用户空间),这两个表中INPUT链的规则都会用来做过滤检查。 firewalld:Centos7中默认将防火墙从iptables升级为了firewalld。firewalld相对于iptables主要的优点有:firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
setup回车查看所有服务 使用table键切换
npm与yum
npm手动安装要安装包的
yum自动安装有资源地址就行
具体软件安装一定看人家给的命令流程,不然会极容易出问题
端口相关
telnet
telnet ip port 查看端口的是不是通
查看端口
netstat
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
-a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立相关链接的程序名 -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 -c 每隔一个固定时间,执行该netstat命令 netstat -pan | grep 8080 后面能看pid 然后 ps -aux | grep pid 就能看到进程程序名 你要觉得被占用了 你就 kill -9 pid