这个知识重要吗?有什么用?
一、Linux入门
核心是命令解释层shell
(1.1)linux 概述
- Linux 是一个免费开源的操作系统
window
键是 linux 中的super键
(1.2)终端(重点)
- 可以输入命令对linux文件进行操作
- 本质是shell
- 桌面上打开终端其实是一个仿真包
wuqiyong
当前用户@localhost
当前主机名字~
当前位置,~
代表当前用户的主文件夹$
提示输入命令符,当用户是超级管理员时为#
su root
输入密码以后切换到系统管理员exit
退出终端
(1.3)文件系统与目录结构
位置
→计算机
Linux系统中一切皆文件,硬件也是用文件表示的。
单一的树状结构。
目录名是有规范的,是基于文件系统层级标准的。
/
根目录/root
系统管理员的用户主目录/bin
binary缩写,这个目录存放最常使用的可以直接执行的命令。/sbin
s:Super User,这个目录存放着系统管理员才能使用的命令。/home
存放普通用户的主目录,每个用户都有一个自己的目录,目录名是以用户的账号进行命名/lib
系统开机需最基本的动态连接共享库,类似于windows系统中的DLL文件,所有的程序都要使用这些共享库。/lib64
64位系统相关的库文件。/lost+found
通常情况下为空文件夹,当系统非法关机以后存放文件。/etc
系统管理需要的配置文件和子目录/usr
存放用户的应用程序和文件,类似于Windows下的 program files 目录/boot
存放启动Linux使用的核心文件/proc
系统内存的映射,可以通过直接访问这个目录获取系统信息/srv
service 存放一些服务启动以后需要提取的数据。/sys
文件系统/tmp
存放临时文件/dev
设备管理器/media
linux会识别设备(U盘,光驱),识别以后挂载到/media
mnt
让用户可以临时挂载别的文件系统,可以将外部的存储挂载在/mnt
上/opt
给主机额外安装软件摆放的目录,比如安装mysql就放到这个目录下。/bar
存放着不断扩充的东西,经常修改的目录放在这个目录下。
为什么有一个箭头?因为它实际不是存放在当前根目录下的,因为它是一个文件夹的链接。
二、VI VIM 编辑器
- VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。
- VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜
色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼。
在终端里面编辑文本。
(2.1)三种模式
u
:在一般模式按u
可以回到最初的状态。
(2.2)一般模式(删除、复制、粘贴)
yy
复制光标当前行数字 yy
复制多行,从当前光标下复制数字
行p
将当前复制的内容在光标粘贴,数字 p
粘贴数字
行dd
删除当前行数字 dd
光标下的数字
行删除u
回滚到上一步yw
复制一个词dw
删除一个词shift + 6(^)
移动到行头shift + 4($)
移动到行尾y + shift + 4($) + y
复制光标到行尾的全部内容。yw
复制一个单词(以空格分割)dw
删除一个单词数字 + shift + g
移动到目标行(不是同时按)shitf + g
移动到页尾x
剪切当前光标
(2.3)编辑模式
- i 当前光标前
- a 当前光标后
- o 当前光标行的下一行
- I 光标所在行最前
- A 光标所在行最后
- O 当前光标行的上一行
(2.4)命令模式
可以提供你搜寻动作,而读取、存盘、大量取代字符、离开编辑器、显示行号等动作是在此模式中达成的
:w
保存:q
退出:!
强制保存/单词
查找单词,n
下一个,N
上一个:noh
取消高亮:set nu
开启行号:set nonu
关闭行号s/old/new
替换当前行第一个old
为new
s/old/new/g
替换当前行全部的old
为new
%s/old/new
替换文档中每一行匹配的第一个old
为new
%s/old/new/g
替换文档中所有的old
为new
wq!
强制保存退出
三、网络配置
实现主机和虚拟机建立通信。
(3.1)查看网络IP和网关
ifconfig(interface)
Linux 查看网络ipconfig
windows 查看网络ping + 主机IP地址 / 域名
检测两台主机之间是否能够正常通信。
(3.2)三种网络模式
(3.2.1)桥接模式
虚拟机直接连接到外部物理网络的模式,主机起到的是网桥的作用,这种模式下,虚拟机可以直接访问外部网络,并且是对外部网络是可见的。
(3.2.2)NAT模式
虚拟机和主机构建一个专用网络,通过虚拟网络地址转换(NAT)设备对 IP 进行转换,虚拟机通过共享主机 IP 可以访问外部网络,但是外部网络无法访问虚拟机。
(3.2.3)仅主机模式
虚拟机与主机共享一个专用网络,与外部网络无法通信。
(3.3)虚拟机指定静态IP
如果使用默认的配置,当前IP是动态分配的,IP会发生改变,管理困难。
所以希望IP地址是静态的,连接时不用再次查询。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
ens33
当前网卡名称
- BOOTPROTO=“static”
- 检查网络接口:ONBOOT=“yes”
- IP地址:IPADDR=192.168.
每个人不同
.100 - 网关:GATEWAY=192.168.
每个人不同
.2 - 域名解析器:DNS1=192.168.1.2
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="1f55ceff-a6fd-4c65-ae9e-2b814bc49e03"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.19.200
GATEWAY=192.168.19.2
DNS1=192.168.1.2
(3.3)指定主机名称
hostname
查看服务器的主机名称
vim /etc/hostname
建议将主机名和IP地址进行一个对应,方便管理,比较简单方便。 不用刻意记 ip 地址
vim /etc/hosts
以ip地址 名字
来设置映射
- 修改windows hosts 文件,把
ip地址 名字
添加到这个文件
C:\Windows\System32\drivers\etc
远程登录
四、系统管理
进程和服务,一个正在执行的程序或命令被称为进程,启动以后一直存在,常驻内存的进程称为服务。
系统启动时启动,系统关闭时关闭的进程,称为守护进程。
(4.1)service 服务管理(CentOS 6版本)
sevice 服务名 start | stop | restart | status
(4.2)systemctl (重点)
systemctl start | stop | restart | status 服务名
查看服务的方法:/usr/lib/systemd/system
(4.3)设置后台服务的自动配置
setup
systemctl list-unit-files
(功能描述:查看服务开机启动状态)
systemctl disable service_name
(功能描述:关掉指定服务的自动启动)
systemctl enable service_name
(功能描述:开启指定服务的自动启动)
(4.4)进程运行级别
CentOS7 的运行级别:
multi-user.target
等价于原运行级别 3(多用户有网,无图形界面)graphical.target
等价于原运行级别 5(多用户有网,有图形
查看当前级别:
systemctl get-default
修改当前级别:
systemctl set-default TARGET.target (这里 TARGET 取 multi-user 或者 graphica)
(4.5)关闭防火墙
-
临时关闭防火墙
systemctl satus firewalld
systemctl stop firewalld
-
开启启动时关闭防火墙
systemctl disavle firewalld.service
(4.6)关机重启命令
linux 大多使用在服务器上,很少执行关机操作。
sync
将数据由内存同步到硬盘中。halt
停机,关闭系统,但不断电pweroff
关机,断电reboot
重启shutdown [参数] 时间
-H
参数:停机-r
参数:重启-c
参数:通知计时关机now
时间:立刻时间
时间:单位是分种
Linux 系统中为了提高磁盘的读写效率,对磁盘采取了 “预读迟写”操作方式。
当用户保存文件时,Linux 核心并不一定立即将保存数据写入物理磁盘中,而是将数据保存在缓冲区中,等缓冲区满时再写入磁盘,这种方式可以极大的提高磁盘写入数据的效率。但是,也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者其他严重问题出现,则将导致数据丢失。使用 sync 指令可以立即将缓冲区的数据写入磁盘。
五、常用命令(Shell)
Shell 可以看作是一个命令解释器,为我们提供了交互式的文本控制台界面。我们可以
通过终端控制台来输入命令,由 shell 进行解释并最终交给内核执行。 本章就将分类介绍
常用的基本 shell。
(5.1)帮助命令
man [命令 | 配置文件]
:获得帮助信息。
name
命令的名称和单行描述synopsis
怎么使用命令descriptions
命令功能的详细描述examples
命令的例子see also
习惯主题
help 命令
:获取命令的帮助信息
(5.2)常用快捷键、命令
-
ctrl + c
停止当前进程 -
ctrl + l
清屏 =clear
-
reset
彻底清屏,只剩下空白 -
tab
提示 -
上下
查找执行过的命令 -
win键 = super键
-
super + 上下左右
:可以将当前页面进行分屏。 -
ls
list 将当前目录的所有文件都打印到终端上。 -
cd
跳转到指定目录 -
使用终端时,可以输入目录前缀 +
两次Tab键
可以将当前匹配前缀的目录展示。 -
su root
切换到管理员权限 -
pwd
显示当前工作目录的绝对路径 -
ls [选项] [目录 | 文件]
-a
全部文件,包括隐藏文件-l
长数据串列出,包括属性和权限。ll
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间名。
-
cd
切换路径cd 绝对路径
cd 相对路径
cd ~ | cd
回到home
目录cd -
回到上一次所在目录cd ..
回到上一级目录cd -P
跳转到实际物理路径
-
mkdir [选项]
创建一个新的目录-p
创建多层目录
-
rmdir
删除一个空的目录 -
touch 文件名
创建一个文件 -
cp [选项] source dest
复制source
到dest
-r
递归复制整个文件夹source
源文件dest
目标文件\cp
强制覆盖不提示
-
rm [选项] deleteFile
递归删除目录中的所有内容-r
递归删除目录中所有内容-f
强制执行删除,不用确认提示-v
显示执行过程rm -rf
强制递归删除所有内容
-
mv oldNameFile newNameFile
重命名文件 -
mv /temp/movefile /targetFolder
移动文件 -
cat [选项] 文件
查看文件内容,从第一行开始显示。-n
显示所有行的行号,包括空行。
-
more
文本过滤器,用全屏幕的方式显示文本内容。空格
:下翻一页Enter
:下翻一行q
离开 moreCtrl + F
下滚一屏ctrl + B
上一屏=
输出当前行行号:f
输出文件名和当前行号
-
less
分屏显示文件空格
下一页/字串
向下寻找,n 下一个, N 上一个?字串
向上寻找,n 上一个,N 下一个q
离开
-
echo [选项] [输出内容]
输出内容到控制台-e
使用转义字符\\
输出\
\n
换行\t
制表
-
head
显示文件前的内容 -
tail
显示文件尾的内容 -
ln -s [原文件或目录][软链接名]
(5.3)查看进程ID,查看端口号
ps -ef | grep rabbitmq
获取rabbitmq的进程ID
netstat -ntulp | gerp 进程ID
获取进程ID使用的端口号