Linux
Linux基础
Linux历史
-
内核和发行版
内核:只提供操作系统的基本功能和特性,如内存管理,进程调度,文件管理等等。
Linux内核: https://www.kernel.org/
发行版:基于linus维护的linux内核,是由一些厂商集成了漂亮易用的桌面和常用的软件而发布的商品。
-
常见发行版
-
RedHat
应该称为Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多 的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非 常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。
-
Ubuntu
国内乃至全球热门的Linux发行版。也是各种推荐入门Linux爱好者安装的一个Linux发行版。它的特点主要有以下:
1.安装简单
2.Unity 3D图形界面,比较华丽(因人而异)
3.对一些专有驱动支持比较好,例如显卡驱动
4.社区比较活跃,几乎遇到的问题都可以找到答案
-
Debian
几大基础发行版之一,Ubuntu就是基于Debian的。它的基本有如下特点:
1.Free,最符合开源精神的发行版。默认不包含任何专有驱动
2.不求新,但求稳。软件包通常选择比较稳定的版本而不是最新的版本
3.系统的开发维护完全是由社区驱动的
4.APT软件包管理
5.图形化安装方式对新手友好
-
Fedora
经常和Ubuntu比较的发行版,和Ubuntu最大的不同可能就是包管理不一样吧,其特点如下:
1.YUM包管理(新的包管理方式正在研发中)
2.新技术吸纳较快,所以喜欢尝试新技术的可以选择它
3.官网提供多种桌面环境镜像,可以满足不同桌面喜好的用户(默认是Gnome)
4.由红帽赞助
5.基本半年发布一个新版本
-
openSUSE
SUSE Linux的open版本,来自德国的发行版,它基本有如下特点:
1.基于的是企业级的SUSE Linux再加上德国制造,所以非常稳定
2.华丽的KDE桌面,业界称为“最华丽的Linux发行版"
3.安装镜像提供多个桌面环境
4.包管理(YaST)倾向于图形化管理,图形界面用户友好程度要高一些
5.官网提供常规版本和滚动发行版本
-
CentOS
现在是大名鼎鼎的RedHat Linux的社区版(可以说是剔除了专有代码的RedHat),其特点就是相当相当的稳定,版本更新紧跟RedHat。非常适合作为服务器操作系统使用。
-
-
Linux应用领域
网站服务器信息查询: www.netcraft.com
1.基于Linux的企业服务器
2.嵌入式应用
-
Linux于Windows的不同
1.Linux严格区分大小写
2.Linux中所有内容都以文件形式保存,包括硬件.
3.Linux不靠拓展名区分文件类型:
4.Windows下的程序不能直接在Linux中安装和运行
-
字符界面的优势
优势一:字符界面占用的系统资源更少.
优势二:字符界面减少了出错,被攻击的可能性.
系统安装
- 安装虚拟机VMware
- 安装操作系统CentOS
Linux管理
常用的一些命令
熟能生巧,每个命令下去后需要敲三遍以上.
-
2.1.0 系统目录结构
1、/- 根
每一个文件和目录从根目录开始。
只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/不一样
2、/bin中 - 用户二进制文件
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
3、/sbin目录 - 系统二进制文件
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
4、/etc - 配置文件
包含所有程序所需的配置文件。
也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf
hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。
5、/dev - 设备文件
包含设备文件。
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0
6、/proc - 进程信息
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime
7、/var - 变量文件
var代表变量文件。
这个目录下可以找到内容可能增长的文件。
这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);
8、/tmp - 临时文件
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
9、/usr - 用户程序
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。
10、/home - HOME目录
所有用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita
11、/boot - 引导加载程序文件
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
12、/lib - 系统库
包含支持位于/bin和/sbin下的二进制文件的库文件.
库文件名为 ld或lib.so.*
例如:ld-2.11.1.so,libncurses.so.5.7
13、/opt - 可选的附加应用程序
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。
14、/mnt - 挂载目录
临时安装目录,系统管理员可以挂载文件系统。
15、/media - 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
16、/srv - 服务数据
srv代表服务。
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。
-
2.1.1 ssh协议
ssh (安全外壳协议):
ssh为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
-
2.1.2 命令基本格式
-
命令提示符
[root@localhost ~]#
其中:
root 当前登陆用户
-
localhost 主机名
-
当前所在目录(家目录) 如果是root代表/root; 如果是普通用户user1代表/home/user1
超级用户的提示符#
普通用户提示符$
-
-
命令格式
命令 [选项] [参数]
注意: 个别命令的使用不遵循次格式
当有多个选项时,可以写在一起 简化选项与完整选项 -a 等于 --all
-
查询目录中内容:ls
ls [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-h 人性化显示文件大小
-
-
2.1.3 文件处理命令
在Linux中一切皆文件
文件夹也是文件
-
查询所在目录位置:pwd
pwd
命令英文原意:print working directory
-
创建文件:touch
touch 文件名
-
建立目录:mkdir
mkdir -p [目录名]
-p 递归创建
命令英文原意: make directories
-
切换所在目录:cd
cd [目录]
命令英文原意: change directory
简化操作:
cd ~ 进入当前用户的家目录
cd 同上
cd - 进入上次目录
cd … 进入上一级目录
cd . 进入当前目录
-
删除空目录:rmdir
rmdir [目录名]
命令英文原意:remove empty directory
-
删除文件或目录:rm
rm -rf [文件或目录]
命令英文原意:remove
选项:
-r 递归删除目录
-f 强制
-
复制命令:cp
cp [选项] [原文件或目录] [目标目录]
命令英文原意:copy
选项:
-r 复制目录
-
剪切或改名命令:mv
mv [原文件或目录] [目标目录]
命令英文原意:move
-
-
2.1.4 文件搜索命令
-
命令搜索命令
-
whereis
whereis 命令名
#搜索命令所在路径及帮助文档所在位置
选项:
-b 只查找可执行文件
-m 值查找帮助文件
-
which
which 文件名
#搜索命令所在路径及别名
-
PATH环境变量
PATH环境变量:定义的是系统搜索命令的路径
相当于window下的path
-
-
文件搜索命令:find
find [搜索范围] [搜索条件]
示例:
find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名.如果需要匹配,使用通配符匹配,通配符是完全匹配
find /root -iname install.log
#不区分大小写
find /root -user root
#按照所有者搜索
find /root -nouser
#查找没有所有者的文件
-
Linux中的通配符
-
匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
-
-
按时间查询
find /var/log -mtime +10
#查找10天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性时间
mtime 修改文件时间
-
按文件大小查询
find . -size 25k
#查找文件大小是25KB的文件,注意k是小写的.
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
find . -size 25M
#查找文件大小是25MB的文件,注意M是大写的.
-
复合条件查询
find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20KB并且小于50KB的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /etc -size +20k -a -size -50k -exec ls -lh {} ;
#查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
#-exec {} ;这是固定格式
-
-
字符串搜索命令:grep
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
-
find命令和grep命令的区别
find命令:在系统中搜索符合条件的文件名.
grep命令:在文件中搜索符合条件的字符串.
-
-
2.1.5 帮助命令
-
man命令
man ls
#查看ls的帮助
-
选项帮助
命令 --help
#获取命令选项的帮助
实例:
ls --help
但是不适用内部命令,如cd:
help cd
-
-
2.1.6 压缩与解压缩命令
-
.zip格式
-
压缩
zip 压缩文件名 原文件
#压缩文件
zip -r 压缩文件名 原文件
-
解压
unzip 压缩文件
#解压缩.zip文件
-
-
.gz格式
-
压缩
gzip 原文件
#压缩为.gz格式的压缩文件,原文件会消失
gzip -c 原文件 > 压缩文件
#压缩为.gz格式,原文件保留
#-c的意思不是说需要保留文件,而是要把压缩的结果输出到控制台.
#>的意思是把结果输出到什么地方去.
gzip -r 目录
#压缩目录下的所有子文件,但是不能压缩目录
-
解压
gzip -d 压缩文件
#解压缩文件
gunzip 压缩文件
#解压缩文件
-
-
.bz2格式
-
解压
bzip2 源文件
#压缩为.bz2格式,不能保留源文件
bzip2 -k 源文件
#压缩之后保留源文件
注意:bzip2命令不能压缩目录
-
压缩
bzip2 -d 压缩文件
#解压缩,-k保留压缩文件
bunzip2 压缩文件
#解压缩,-k保留压缩文件
-
-
打包命令&解打包
打包命令:
tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名
解打包命令:
tar -xvf 打包文件名
选项:
-x 解打包
-
.tar.gz格式
其实.tar.gz格式是先打包为tar格式,在压缩为.gz格式
-
解压
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z 压缩为.tar.gz格式
-
压缩
tar -zxvf 压缩包名.tar.gz
选项:
-x 解压缩.tar.gz格式
#加上-C表示解压到指定的目录
tar -zxvf 压缩包名.tar.gz -C 指定目录
-
-
.tar.bz2命令
其实.tar.bz2格式是先打包为tar格式,在压缩为.bz2格式
-
解压
tar -jcvf 压缩包名.tar.bz2 源文件
选项:
-c 压缩为.tar.bz2格式
-
压缩
tar -jxvf 压缩包名.tar.bz2
选项:
-x 解压缩为.tar.bz2格式
-
-
-
2.1.7 关机和重启命令
-
shutdown命令
shutdown [选项] 时间
选项:
-c 取消前一个关机命令
-h 关机
-r 重启
#使用shutdown会在关机的时候帮我们保存数据
-
其他关机命令
使用这三个命令不是特别安全,因为它们不会帮我们保存数据.
- halt
- poweroff
- init 0
-
其他重启命令
- reboot
- init 6
-
系统运行级别
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启
-
查看运行级别
runlevel
-
系统默认运行级别
cat /etc/inittab
#可以修改默认系统级别
-
-
退出登录命令:logout
-
-
2.1.8 其他命令
-
查看用户登陆信息
-
w 用户名
命令输出:
USER 登陆的用户名
TTY 登陆终端
FROM 从哪个IP地址登陆
LOGIN@ 登陆时间
IDLE 用户闲置时间
JCPU 指的是和该终端连接的所有进程占用时间.这个事件并不包括去后台作业的时间,但却包括当前正在运行的后台作业所占用时间;
PCPU 是指当前进程所占用的时间
WHAT 当前正在运行的命令
-
who 用户名
命令输出:
用户名
登陆终端
登陆时间(登陆来源IP地址)
-
-
查询当前登陆和过去登陆的用户信息
last
last命令默认时读取/var/log/wtmp文件数据
命令输出
-用户名
-登陆终端
-登陆IP
-登陆时间
-退出时间(在线时间)
-
查看最后一次登陆时间:lastlog
lastlog命令默认时读取/var/log/lastlog文件内容
命令输出
用户名
登陆终端
登陆IP
最后一次登陆时间
-
磁盘使用情况:df
df:用于显示磁盘的使用情况
df -h: 格式化显示输出磁盘使用情况
-
查看任务进程:top
任务进程
第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
第二行:
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
第四行:内存状态
8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)
第五行:swap交换分区
2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)
第五行以下:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
-
查看内存占用:free
内存占用情况:
total:内存总数;
used:已经使用的内存数;
free:空闲的内存数;
buffers Buffer:缓存内存数;
cached Page:缓存内存数。
-
查看操作历史:history
用于显示执行过的历史命令记录
-
在显示器输出内容:echo
-
文件查看命令
-
cat
整个文件的内容显示出来
-
tail
默认在屏幕上显示指定文件的末尾10行
参数:
-f 显示文件最新追加的内容。
-行数 在屏幕上显示指定文件的末尾参数设置的行数
-
-
Vi编辑器
-
编辑器的三种模式
三种模式:
编辑模式(命令模式) :所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式
输入模式:大部分机键动作都会理解为输入的字符
末行模式:在末行模式,输入很多文件管理命令
模式之间的相互转换:
编辑–>输入
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
s:删除光标所在的字符并开始插入
I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A:在光标所在你行的行尾开始插入
O:在光标所在行的上面另起一行开始插入
S:删除光标所在行并开始插入
输入模式–>编辑模式
ESC(键盘左上方的按键)
编辑模式—>末行模式
:
末行模式:–>编辑模式
ESC(键盘左上方的按键)(一次或者多次)
-
打开和关闭文件
打开文件
vi /path/to/file
关闭文件
在末行模式下
wq: 保存退出
q!: 退出不保存
-
移动光标
逐字符移动:
h:左移动
l:右移动
j:向下移动
k:向上移动
行内跳转:
0:跳转到行首
$: 跳转到行尾
行间跳转;(末行模式)
num: 跳转到某一行(末行模式)
G: 跳转行最后一行(编辑模式)
gg: 跳转到第一行(编辑模式)
-
翻屏操作
在编辑模式下:
ctrl+f 向下翻一页
ctrl+b 向上翻一页
-
删除命令
dd: 删除光标所在行 (编辑模式)
-
3dd:从光标行开始删除3行(编辑模式)
- 1,4d 删除第一行到第四行(末行模式)
-
复制和粘贴命令
yy 复制光标所在行 (编辑模式)
2yy 从光标行开始复制2行(编辑模式)
p: 粘贴命令
-
查找和替换
文件的查找
/parttern 从前往后查找
?parttern 从后往前查找
n: 下一个匹配的字符串
N: 上一个匹配的字符串
文本的替换(末行模式)
startNum,endNums/partter/string/gi
g:全局替换
i:忽略大小写
%s/f/F/gi
:.,$s/F/f/gi
权限管理
-
用户管理
计算资源:(一切皆文件)
权限:定义资源或服务的访问能力,称之为权限
定义某一个特定的人资源或者服务的访问能力, 用户
定义一类用户具有访问某个资源或服务的能力. 用户组(存放一些列用户的容器),同时用户组还拥有具有访问某个资源的权限
定义一个资源的权限:
① 用户具有该资源的权限(文件所有者,属主)
② 用户组具有该资源的权限(属组)
③ 其他用户(既不是属主,也不是属组)
文件权限:
r, 可读 可以执行类似cat命令的操作
w, 可写 可以编辑或者删除此文件
x 可执行
-
useradd
创建用户 :useradd [用户名]
创建用户并分配一个组:useradd -G [组名] [用户名]
查看系统用户:cat /etc/passwd
1 用户名
2 用户的密码,用x替代
3 用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。
4 用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。
5 用户的账号说明解释
6 用户的家目录文件夹
7 用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。
-
groupadd
查看系统用户组:cat /etc/group
-
usermod
修改用户组属性
usermod -G [组名] [用户名]
-
userdel
删除用户:
-f:强制删除用户,即使用户已登录
-r:删除与用户相关的所有文件。
-
groupdel
-
passwd
/etc/shade
-
-
文件基本权限
-
基本权限的修改
-
文件权限解释
-rw-r–r--
- 文件类型(- 文件 d 目录 I 软链接文件)
rw- r-- r–
u所有者 g所属组 o其他人
r读 w写 x执行
-
chmod命令
chmod [选项] 模式 文件名
选项
-R 递归
模式
[guoa] [+-=] [rwx] [mode=421]
-
修改权限的方式
修改权限的方式:
chmod u+x 文件
#给当前用户添加指定文件的x执行权限
chmod g+w,o+w 文件
#给该文件用户组合其他人添加指定文件的w写的权限
chmod a=rwx 文件
#给该文件的当前用户,当前组,其他人 添加rwx可读可写可执行的权限
-
权限的数字表示
权限的数字表示
r 4
w 2
x 1
111—>7 rwx
110—>6 rw-
100—>4 r–
示例:
rwxr-xr-x
7 5 5
chmod 755 文件
-
-
其他权限命令
-
修改文件的所有者
chown 用户名 文件名
-
修改文件的所属组
chgrp 组名 文件名
-
-
-
sudo权限
root把本来只能超级用户执行的命令赋予普通用户执行.
sudo的操作对象是系统命令
visudo
#实际修改的是/etc/sudoers文件
root ALL=(ALL) ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
%wheel ALL=(ALL) ALL
#%组名 被管理注解的地址=(可使用身份) 授权命令(绝对路径)
系统服务管理
systemctl是CentOS7的服务管理工具中主要的工具
启动服务:systemctl start <服务名>
关闭服务:systemctl stop <服务名>
重启服务:systemctl restart <服务名>
查看服务状态:systemctl status <服务名>
添加开机启动项:systemctl enable <服务名>
禁止开机启动项:systemctl disable <服务名>
查看开机启动项:systemctl list-unit-files
-
进程查看:ps
用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
ps -ef 显示出的结果:
1.UID 用户ID 2.PID 进程ID 3.PPID 父进程ID 4.C CPU占用率 5.STIME 开始时间 6.TTY 开始此进程的TTY----终端设备 7.TIME 此进程运行的总时间 8.CMD 命令名
-
杀死进程
kill -9 pid
网络管理
-
网络中的基本概念
网络的基本概念
1)IP地址:在网络通信中主机的标识符(好比手机号码) 2)mac地址:主机的物理网卡的唯一标识符(好比身份证号码) 3)子网掩码:用于区分主机的IP地址中的网络地址和主机地址,并由此确定该主机的IP地址的网段 4)网关:就是一个网络中的主机连接到另一个网络的主机的关口 5)DNS:域名解析服务器,把域名解析成对应的IP地址
-
ifcfg-eth解释
文件 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3…(这里面的文件是相当重要的,涉及到网络能否正常工作)。
TYPE=Ethernet #网卡类型
DEVICE=eth0 #网卡接口名称
ONBOOT=yes #系统启动时是否自动加载
BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
IPADDR=192.168.1.11 #网卡IP地址
NETMASK=255.255.255.0 #网卡网络地址
GATEWAY=192.168.1.1 #网卡网关地址
DNS1=8.8.8.8 #网卡DNS地址
BROADCAST=192.168.1.255 #网卡广播地址
查看ip:
ip addr
-
防火墙
centos7的防火墙程序服务名为:firewalld
防火墙配置命令:firewall-cmd
防火墙帮助:
fireweall-cmd --help
查看防火墙状态:
firewall-cmd --state
查看所有打开的端口:
firewall-cmd --zone=public --list-ports
开启端口:
firewall-cmd --zone=public --add-port=端口号/tcp --permanent(–permanent参数为永久生效,不加则重启后失效)
更新防火墙规则:
firewall-cmd --reload
删除端口:
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
Linux应用
软件的安装
软件包管理器: 软件的安装,卸载,查询等功能
后端工具: rpm, dpt
rpm:RedHat package Management
是Linux界的软件管理的一个工业标准
dpt: debian的一个包管理器
依赖管理:
X —>Y —Z
X —>Y —X
前端工具: yum: 基于后端工具的软件包的管理,主要是解决rpm安装软件的时候的依赖的解决
apt-get
-
rpm
rpm 常用命令
安装一个包
rpm -ivh <包名>
–nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
–force 即使覆盖属于其它包的文件也强迫安装
查询一个包是否被安装
rpm -q <软件名>
得到被安装的包的信息
rpm -qi < 软件名>
列出该包中有哪些文件
rpm -ql < 软件名>
列出服务器上的一个文件或目录属于哪一个RPM包
#rpm -qf <文件或目录名>
列出所有被安装的rpm package
rpm -qa
卸载一个包
rpm -e <软件名>
-
yum
1 配置一个自定义的仓库地址
/etc/yum.repos.d
local.repo
2 安装命令
yum install
3 查看软件包
yum list |grep mysql
yum list installed
4 卸载软件包
yum remove
-
修改yum源
yum install wget -y
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y update
-