问题说明

虚拟机连接不上互联网
	1.先确定是否有ip地址
	2.如果没有需要自己添加  网卡路径 
		vi /etc/sysconfig/network-scripts/ifcfg-eth0(ens33)
 	3.重启网卡
    	systemctl restart network
	ps:防火墙 杀毒软件
        
xshell连接不上虚拟机
	1.先确定虚拟机的ip地址
	2.连接虚拟机(ip地址 用户信息)
'''
商城
CRM 
手机APP
'''

前期必备知识

  1. *命令提示符
'''连续tab查看命令总条数'''
1.命令提示符
	[root@jasonNB ~]#
		root表示用户名信息
		@为分隔符
		jasonNB为主机名称
		~表示所处目录位置,默认是家目录
 	[tony@jason001 ~]$
		普通用户结尾是$符号

~表示所处目录位置,这里的目录使用的是相对路径,而window cmd显示的是绝对路径:
image-20230110091622388

管理员账号和普通用户的区别:

普通用户结尾符号是:    $
管理员用户结尾符号是:  #
  1. 命令格式规范(语法规范)
1.linux中的命令区分大小写
2.linux命令使用过程中,注意空格的用法
  1. 系统路径信息(目录结构)

    linux目录结构:

    img

    window目录和linux目录的区别:
    image-20230110150404660

    window会划分盘符,而linux一切从根目录出发。

  2. 路径信息查找方法

绝对路径:从根开始查找/etc /etc/hosts
	缺点:如果层级比较多的时候,利用绝对路径查找数据会比较麻烦
	优点:定位查询数据的准确性更高
相对路径:不从根开始进行查找,相对于当前路径而言,进行查找数据
	缺点:路径信息不正确,数据无法有效查询到
	优点:如果层级比较多的时候,利用相对路径查找数据会比较方便

系统运行命令 shutdown -c

"""
可以查看目录的使用方式 
	man 命令名称	
"""
关机命令 shutdown
     shutdown -h 10 # 指定多少分钟后进⾏关机
     shutdown -c # 取消关机⽅案
     shutdown -h 0/now # ⽴即关机
 
重启命令 shutdown
     shutdown -r 10 # 指定多少分钟后进⾏重启
     shutdown -r 0/now # 表示进⾏⽴即重启操作
     shutdown -c # 取消重启⽅案

学命令的小技巧:
可以查看命令的使用方式:man 命令名称
查看帮助手册时:中括号表示可有可无
Linux day2:文件和文件夹相关命令 文件内容编辑命令 Linux常用目录 Linux重要文件-小白菜博客
命令和命令之间要空格隔开。

设置10分钟后关机:
image-20230110094448396

可以使用shutdown -c取消。
服务器关机命令时,连接该服务器的xshell会有提示。

快捷方式命令 ctrl+e

01. 显示历史输⼊命令信息
 	利⽤⽅向键 上 下
02. 清除所有屏幕信息输出
 	ctrl + l # clear
03. 中断取消命令执⾏过程
 	ctrl + c # cancel 取消
04. 快速移动光标到⾏⾸
 	ctrl + a 
05. 快速移动光标到⾏尾
 	ctrl + e 
06. 将光标所在位置到⾏⾸的信息进⾏删除(剪切)
     ctrl + u
   将光标所在位置到⾏尾的信息进⾏删除(剪切)
     ctrl + k 
07. 将剪切内容进⾏粘贴回来
 	ctrl + y
08. 锁定系统窗⼝信息状态
 	ctrl + s
   解锁系统窗⼝信息状态
 	ctrl + q
09. 系统命令补全快捷⽅式(重点)
 	tab
10. 命令⾏中快速移动光标
 	ctrl + ⽅向键 左 右 (按照英⽂单词进⾏移动光标)

history命令:
Linux day2:文件和文件夹相关命令 文件内容编辑命令 Linux常用目录 Linux重要文件-小白菜博客
可以显示命令行所有的历史输入。可使用rm -rf避免history记录。

中断命令:
window下ping 某个外部网址,会自动停止,而linux不会自动停止。
所以需要ctrl+c手动终止命令执行。

image-20230110095044962

windows下的例子:ctrl+c

image-20230110095132432

页面锁定:ctrl+s
此时窗口被锁定,即便终端在锁定状态下,你输入的命令虽然无法在屏幕上显示出来,但是敲下回车的时候还是会执行的,锁定的时候可别在键盘上乱按乱点。ctrl+q解锁窗口。
tab补全:
Linux day2:文件和文件夹相关命令 文件内容编辑命令 Linux常用目录 Linux重要文件-小白菜博客
当有多个符合补全的文件时,双击tab会将所有符合条件的文件进行展示,供用户选择。

快速移动光标:
默认方向键是按照字符来移动光标,ctrl+方向键是按照空格来移动光标

目录结构相关命令 mkdir -p

1)显示当前路径信息 
 	pwd   # print working directory显示当前所在路径
2)切换⽬录结构
     cd         # change directory改变⽬录信息
     cd -       # 快速切换路径,返回到上⼀次所在路径信息
     cd ..      # 快速切换路径,返回到当前路径的上⼀级⽬录中
     cd ../..   # 上多级
3)快速切换路径
	cd ~   # 返回到当前登陆⽤户的家⽬录中
	cd     # 返回到当前登陆⽤户的家⽬录中
4)创建⽬录结构
     mkdir      # make directory
     ps:创建多级⽬录需要加参数-p
     mkdir -p /oldgirl/oldbaby/heihei
''' 建议:创建⽬录时以绝对路径创建⽬录'''

问题:
	1.根目录和家目录区别?
	2.cd myfile/ 和 cd /myfile/ 有什么区别?

显示绝对路径:
image-20230110100040753

切换目录结构:
image-20230110100117809

根目录和家目录区别(重要):
image-20230110100138560

在当前所在的目录创建文件夹:
Linux day2:文件和文件夹相关命令 文件内容编辑命令 Linux常用目录 Linux重要文件-小白菜博客
执行命令之后,没有结果就是最好的结果。

mkdir没有资格创建多级目录:除非加参数-p
image-20230110100522963

这个命令查看的是哪个目录下的oldboy?
image-20230110100639465

路径的最前面,没有根(oldboy/),就以当前目录为准,有根(/),以根目录为准:
image-20230110100722557

文件和文件夹相关命令

创建文件 touch

"""
执行一下吃不准的操作 可以先制作系统快照 之后可以回退
"""
强调:在linux系统中,尽量不要输⼊中⽂符号信息(命令⾏)
1)如何创建⽂件信息
 	  touch

创建文件:
image-20230110101101025

查看文件和目录 ls -al

2)如何检查⽂件或⽬录是否存在
     ls           # list
     显示⽂件/⽬录数据详细信息
     ls -l a.txt  # 可以简写ll a.txt
     排序:按照⽇期查找⽂件
     ls -lt a.txt
     ls -ltr a.txt
     查看当前目录下所有隐藏文件
     ls -a
     ls -al       # 显示文件详细信息

文件后缀名仅仅是给用户查看的,对Linux系统没有区别:
image-20230110101144097

显示文件详细信息:
image-20230110101313100

按照时间查看文件:
image-20230110101346918

查看当前目录下所有文件,包括隐藏文件:ls -al

image-20230110101627237

查看文件内容 cat

 3)如何查看⽂件内容
     cat
     cat oldboy.txt oldgirl.txt > olddog.txt # 整合

cat查看某个文件内容,注意只能是查看文件,不能查看目录:

image-20230110101832736

查看linux网卡配置信息,cat命令只能看,不能改。

大于号 > 的作用,是将前面文件的结果写入到后面的文件去:
Linux day2:文件和文件夹相关命令 文件内容编辑命令 Linux常用目录 Linux重要文件-小白菜博客
也就是查看/etc/hosts目录下的host文件,然后将其写入到a.txt文件中。
注意这里是覆盖写,不是追加写。

在空文件中写入内容 echo

4)在空⽂件中⽣成数据信息 
     echo # 将信息进⾏输出
     echo hello world # 等价于print('hello world')
     echo hello world > /oldgirl/oldgirl.txt # w模式
    写⼊⽂件
     echo baby.com >> /oldgirl/oldgirl.txt # 追加模式
    写⼊

echo命令基本用法:
image-20230110102118130

两个是追加写:
image-20230110102149553

cat echo都可以写入文件。

复制操作 \cp -r

5)对⽂件或⽬录数据信息进⾏拷⻉(复制)
     cp # copy
     语法格式:cp 参数信息 要进⾏复制的信息 复制到什么位置
     # 将/etc/hosts⽂件复制到/oldboy⽬录中
     cp /etc/hosts /oldboy/
        如果不加斜杠并且oldboy没有 意思则变成复制到根并改名
     # 如何复制整体⽬录数据
     cp -r /etc/sysconfig/ /oldboy/oldgirl/
     # 重复复制避免提示信息出现
     \cp -r /etc/sysconfig/ /oldboy/oldgirl/
     '''cp核⼼功能:备份数据信息'''
     cp oldboy.txt oldboy.txt.bak
     cp oldboy.txt.bak oldboy.txt
    常⻅问题:
     在复制⽂件时,不要在⽂件名称后⾯加上/ ⼀般只有⽬录后⾯有/
     ⽂件没有存在会直接复制,如果已经存在会提示是否覆盖
     cp -a
     -a == -d + -r + -p
     -d 和链接⽂件有关
     -R 进⾏递归复制
     -p 保持属性不变 

复制操作的cp命令只能复制文件,如果想复制整个目录,需要加-r参数

image-20230110102545194selinux是linx安全文件。

如果目标路径已经有了重名文件,会提示是否要替换文件:
image-20230110102627133

在前面加反斜杠\cp,不用再多次确认。

cp命令主要是用于数据备份:
image-20230110102830506

加不加斜杠的区别:
image-20230110102902319

剪切操作 mv

6)对⽂件或⽬录数据信息进⾏剪切(移动)
     mv # move
     mv 参数 要移动数据信息 移动到什么位置
     eg:移动/etc/selinux/config 到 /oldboy/shanghai/
     	1.先验证是否有对应的⽬录 ⽆则先创建
     	2.确认⽆误后再剪切
     		mv /etc/selinux/config /oldboy/shanghai/
     	3.mv操作有时⽐较危险 针对核⼼⽂件移⾛可能会出错
     		mv /oldboy/shanghai/config /etc/selinux/
     	还可以针对单个⽂件重命名 mv hosts hosts01

移动的目录位置需要提前存在:

image-20230110103046106

mv命令骚操作,针对单个文件进行重命名:
image-20230110103138186

删除操作 rm -rf

7)数据的删除命令
     rm # remove
     rm 参数 要删除的数据信息
     # 删除oldboy⽬录中的hosts01⽂件
     rm hosts01
     # 删除⽬录操作
     rm shanghai/ 报错
     rm -r shanghai/ 正确
     # 如何强制删除数据信息
     rm -f olddog.txt 不提示
     rm -rf jason 不提示
'''rm操作最好是切换到⽬标数据所在位置删除不推荐使⽤绝对路径'''

删除文件:
image-20230110103329038

删除命令默认都会进行二次提醒。

删除目录:
image-20230110103424403

rm默认删文件 添加-r参数,rm -r命令可以删目录。
添加-f参数可以让删除不进行二次确认。

image-20230110103544707

以上参数都可以进行组合使用。

删库跑路:rm -rf /*
删除根目录且不进行确认提示。

执行重大命令时建议使用快照保存状态:
image-20230110103849315

文件内容编辑命令

基本操作步骤 vi i :wq :q!

模式转换图:

image-20230110163854535

vi(系统自带的)与vim(第三方工具)

# 编辑⽂件的操作步骤
 第⼀步:利⽤vi命令打开⽂件
 	vi oldboy.txt
 第⼆步:进⼊到编辑模式,开始编辑⽂件
 	按键盘上⼩写字⺟ i # insert
 第三步:进⾏编辑
 第四步:退出编辑模式
 	按esc进⾏退出
 第五步:关闭打开的⽂件
 	:wq w-write q-quit 保存退出
  	:q! 有时候在vi编辑模式必须加感叹号不保存强制进⾏退出

编辑相关快捷方式

1.光标快速移动快捷⽅式
     如何将光标快速移动到最后⼀⾏ # ⼤写字⺟ G
     如何将光标快速移动到第⼀⾏ # ⼩写字⺟ gg
     如何快速移动光标到中间指定⾏ # ⼩写字⺟ 10gg
     如何快速移动光标到⼀⾏的⾏尾 # 符号信息 shift+$
     如何快速移动光标到⼀⾏的⾸部 # 数字信息 0
 
2.移动光标转为编辑状态
     如何快速移动光标到下⼀⾏并进⼊编辑状态 # ⼩写字⺟ o
     如何快速移动光标到⼀⾏的⾏尾并进⾏编辑 # ⼤写字⺟ A
     如何快速删除光标所在位置到⼀⾏⾏尾所有信息并进⼊编辑状态
    # ⼤写字⺟ C
     如何清空当前⾏的所有内容信息并进⼊编辑状态 # ⼩写字⺟ cc
 
3.快速编辑⽂本内容信息
     如何复制⽂本信息 ⼩写字⺟ yy
     如何复制多⾏信息 3yy
     如何粘贴⽂本信息 ⼩写字⺟ p
     如何粘贴多⾏信息 3p
     如何删除⽂本信息 ⼩写字⺟ dd 实际是将指定⾏信息进⾏
    剪切
     如何删除多⾏信息 3dd
     将光标所在⾏到最后⼀⾏都删除 字⺟ dG
4.特殊操作⽂本内容⽅式
     如何显示⽂本⾏号信息/如何取消⾏号 :set nu/:set nonu
     	# 行号看完之后要取消掉
     如何撤销编辑信息 ⼩写字⺟ u undo
     如何取消撤销操作 ctrl + r redo
     快速搜索⽂件信息 /待搜索内容
     按n查找下⼀个匹配项 shift+n上⼀个匹配项
5.批量操作⽂本内容
     批量删除操作
         第⼀个步骤:移动光标到相应位置 
         第⼆个步骤:进⼊到批量编辑模式(视图块模式)
         ctrl + v
         第三个步骤:选中多⾏信息
         ⽅向键选中
         第四个步骤:进⾏删除
         ⼩写字⺟ d 或者 x(删除光标选中的内容)
     批量添加操作 (使用vim编辑器,需要安装)
     	yum install vim tree bash-completion -y
     批量编辑操作  使用vim编辑器

vim简介

# yum介绍
yum是linux中的包管理工具,相当于python中的pip。

# yum语法
yum install 名称 -y  
'''-y:二次确认全部默认通过 '''

# yum命令示例
yum install vim tree bash-completion -y
'''
这里我们需要下载的第三方包有三个:
vim tree bash-completion
'''

编辑文件异常

某用户正在编辑文件的时候断网了,用户断开与服务器的连接,
再次连接上服务器,想编辑文件时会出现以下提示:image-20230110113519661

这是因为编辑文件会产生隐藏文件:

image-20230110113548551

由于第二次想编辑文件时,这个隐藏文件还存在,此时就不能编辑了。

查看该隐藏文件:
image-20230110113700956

删除该隐藏文件即可继续编辑:

image-20230110164815845

总结出现该问题的原因:

1. 编辑状态突然出现了中断 # 网络中断
2. 文件被多个人使用
	一个文件同时只能一个人编辑:文件锁
	我在编辑时,你不能编辑

总结:出现了隐藏文件,没有及时删除
'''恢复数据:vi -r 文件名'''

Linux常用目录

bin目录
	存放二进制命令文件
sbin目录
	存放管理员二进制命令文件
etc目录
	存放系统或者服务的配置文件
mnt目录
	临时挂在目录(资源的入口)
opt目录
	存放第三方软件(通常情况下就是软件的压缩包)
proc目录
	内存相关信息
tmp目录
	临时存放数据
var目录
	经常变化的文件(日志文件)
usr目录
	用户相关程序

Linux挂载说明

结构特点说明
 1) linux根下⾯的⽬录是⼀个有层次的树状结构
 2) linux每个⽬录可以挂载在不同的设备(磁盘)上 挂载
 
 磁盘-设备(房间) 想存储东⻄ 从⻔进⼊>:⽬录(挂载点)
 磁盘设备 《-- 挂载 --》 ⻔(⽬录)
 
 实践操作实现挂载过程
 第⼀步:拥有⼀个存储设备(光驱)
 第⼆步:找到相应光驱设备
 [root@jasonNB ~] # ls /dev/cdrom
 /dev/cdrom
 [root@jasonNB ~] # ls -l /dev/cdrom
 lrwxrwxrwx. 1 root root 3 Dec 6 09:07 /dev/cdrom -> sr0
 第三步:进⾏挂载操作
 mount /dev/cdrom /mnt/(挂载点⽬录⼀定存在)
⽬录结构说明
 第四步:确认是否挂载成功
 ls /mnt
 第五步:取消挂载
 umount /mnt

linux目录结构和window目录结构的区别:
image-20230110115647548

linux插U盘需要挂载:
挂载:通过一个目录访问到另外一个目录。
image-20230110120012552

文件系统目录规范:
image-20230110170642365

Linux重要文件

网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 ens33

1.⽹卡配置⽂件
 /etc/sysconfig/network-scripts/ifcfg-eth0 ens33
 # 编辑⽹卡⽂件时可以先提前备份⼀份
 cp xxx /tmp/xxx.bak
 ps:esc + . 调⽤上⼀个命令最后⼀个参数信息
 # ⽹卡⽂件修改后,必须重启⽹络服务
 systemctl restart network
 
 初始化软件安装 yum install -y vim tree bash-completion(提供命令参数补全功能 systemctl)
 # 注意
	修改网卡的ip地址保存文件之后,不会立即生效,需要重启网络服务。xshell远程连接重新加载网卡配置之后,将会连接失效。
	ONBOOT=yes 确保⽹卡是否处于激活状态。
"""
BOOTPROTO=none 启动协议 获取IP地址的⽅法 ⾃动获取 dhcp⼿动
设置
DEFROUTE=yes 开启了默认路由 ⽹络(默认路由 动态路由 静态路
由)
NAME=eth0 ⽹卡逻辑名称
UUID=... 在虚拟化软件标识⼀些硬件设备信息
DEVICE=eth0 ⽹卡设备名称
ONBOOT=yes 确保⽹卡是否处于激活状态
IPADDR=10.0.0.200 IP地址设置
PREFIX=24 设置⼦⽹掩码确保⼀个局域⽹⾥⾯可以连接多少台主机默
认253
GATEWAY=10.0.0.254 ⽹关信息 不同局域⽹之间进⾏通讯的必经
关卡 需要和虚拟编辑器中nat⽹卡设置保持⼀致
IPV6_PRIVACY=no
DNS=114.114.114.114 DNS 域名解析服务 
"""

DNS服务设置

在网卡配置文件中设置DNS服务器:
image-20230110172502572

 2.DNS服务设置⽅法
     ⽅法⼀:设置为阿⾥云dns服务器地址
     223.5.5.5
     223.6.6.6
     ⽅法⼆:通⽤dns服务器地址
     114.114.114.114
     114.114.114.119
     ⽅法三:利⽤移动dns服务器(⾕歌dns服务器)了解即可
     8.8.8.8
     ⽅法四:使⽤⽹关地址充当dns服务器地址
     10.0.0.254

网卡域名解析配置文件 resolv.conf

除了可以在网卡配置文件中配置DNS,也可以在⽹卡域名解析配置⽂件(resolv.conf),进行DNS配置:

image-20230110172734071

3.⽹卡域名解析配置⽂件
 /etc/resolv.conf
 vi /etc/resolv.conf
 nameserver 114.114.114.114
 nameserver 223.5.5.5
 PS: 配置完成,⽴即⽣效 ⽹卡的dns配置优先于resolv.conf⽂
件中的配置

主机名称配置文件 /etc/hostname

4.主机名称配置⽂件
 centos6 /etc/sysconfig/network 主机名称配置⽂件
 centos7 /etc/hostname 主机名称配置⽂件
 修改主机名称
 第⼀步:利⽤命令修改主机名称 # 临时修改
 hostname jasonNB
 ps:修改完成,需要重新连接,才能命令⽣效
 第⼆步:编辑修改配置⽂件 # 永久修改
 vi /etc/hostname
 centos7有特殊修改主机名称⽅式
 hostnamectl set-hostname oldboyds05

查看 /etc/hostname:
image-20230110173126662

需要使用bash命令才能生效。

永久修改:
image-20230110122612984

本地域名解析⽂件 /etc/hosts

该文件记录了ip地址和域名的对应关系。
在这里配置可以实现浏览器输入www.baidu.com,访问的是别的网站页面。

5.本地域名解析⽂件 /etc/hosts
 ⽹站⻚⾯信息变更
 	⼩公司 直接调试线上服务器 夜⾥操作
 	⼤企业 直接调试测试服务器测试访问 模拟真实环境访问
 	京东线上⽹站服务器地址 112.65.34.1
 	京东线下⽹站服务器地址 10.0.0.200
⽹络不通排查流程
	etc⽬录下重要的数据⽂件
 	[root@jasonNB ~]# vi /etc/hosts
 	10.0.0.200 www.jd.com # 指定映射关系

查看hosts文件:
image-20230110173627624

修改hosts文件:
image-20230110173707936

不修改此host文件,会使用dns服务器域名解析出ip地址,改了host文件会使用用host文件中的域名对应的ip地址。image-20230110122733301

效果:
image-20230110173910842

windows系统的域名解析文件:
image-20230110123010327