Linux-梦开始的地方
Linux-梦开始的地方
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。
网络连接三种模式
Bridged
桥接模式
桥接模式是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。
类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中。桥接模式通过虚拟网桥将主机上的网卡与虚拟交换机Vmnet0连接在一起,虚拟机上的虚拟网卡都连接在虚拟交换机Vmnet0上,所以桥接模式的虚拟机IP必须与主机在同一网段且子网掩码、网关与DNS也要与主机网卡一致。
在桥接模式下,虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问局域网内的任何一台主机,局域网内的任何一台主机也可以访问它。
应用场景:当前虚拟机为整个局域网的用户提供访问服务,其他局域网用户都能访问到当前主机。
NAT模式
地址转换模式
在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。
在连接Vmnet8虚拟交换机时,虚拟机会将虚拟NAT设备以及虚拟DHCP服务器连接到Vmnet8虚拟交换机上,同时也会将主机上的虚拟网卡VMWare Network Adapter Vmnet8连接到Vmnet8虚拟交换机上。
网卡VMWare Network Adapter Vmnet8只是作为主机与虚拟机通信的接口,虚拟机并不是依靠网卡VMWare Network Adapter Vmnet8来联网的。
虚拟机借助NAT功能,通过宿主机器所在的网络来访问公网,使用NAT模式可以实现虚拟机访问互联网。
NAT模式下虚拟机的TCP/IP配置信息是由VMnet8虚拟网络的DHCP服务器提供的,局域网中的其他真实主机将无法访问本虚拟机,但该主机上其他同一个网段的虚拟机可以访问。
可以理解成我们自己家里的宽带,你可以访问百度,但是其他人无法访问到你。应用场景:只是通过虚拟机上网,其他用户不能访问你的虚拟机。
Host-only
主机模式
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只能与主机相互通讯。
Host-Only模式通过主机的虚拟网卡VMWare Network Adapter VMnet1来连接虚拟交换机VMnet1,从而达到与虚拟机通信的目的。如果想要在Host-Only模式下联网,可以将能联网的主机网卡共享给VMWare Network Adapter VMnet1,以实现虚拟机联网。
Host-Only模式的配置过程和NAT模式基本相同。
Linux基本内容
linux的文件系统是采用层级式的树状目录结构,在此结构的最上层是根目录
"/"
,然后再此目录下再创建其他的目录。在linux的世界里,一切皆文件。cpu、磁盘、硬盘等等都会当成文件对待。
- linux的目录是规定好的,和windows可以随意设置盘符名称不一样,而且不同的目录的作用也各有安排,不可更改。
- 学习linux一定要熟记各个目录。
目录结构
/
根目录/bin
是binary的缩写,这个目录存放最经常使用的命令。所有用户都可以访问并执行的可执行程序。包括超级用户及一般用户。/usr/bin
是系统安装时自带的一些可执行程序,即系统程序。/usr/local/bin
是用户自行编译安装时默认的可执行程序的安装位置。
/sbin
s就是super user的意思,(/usr/sbin
,/usr/local/sbin
)这里存放的是系统管理员使用的系统管理程序。/home
存放普通用户的主目录,在Linux中每个用户都有自己的目录,一般该里面的子目录名都以用户的账号命名。/root
该目录是系统管理员,也称为超级权限者的用户主目录。/lib
系统开机所需要的最基本的动态链接共享库,其作用类似Windows的dll文件,几乎所有的应用程序都需要用到这些共享库。/ect
这个目录里面是所有的系统管理所需要的配置文件和子目录。/usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与Windows下的program files目录。/usr/local
这是给主机额外安装软件所安装的目录,是软件安装包的目标安装目录,一般通过编译源码的方式安装软件。
/opt
这是给主机额外安装软件的安装包源码所摆放的位置,例如安装Oracle数据库的源码就一般约定俗成放到这个目录下,默认为空。/var
这个目录中存放着在不断扩充的东西,习惯将经常被修改的目录放在这个目录下,包括各种日志文件。
/dev
该目录类似Windows的设备管理器,把所有的硬件(例如磁盘、cpu、串口等)用文件的形式存储起来。/mnt
系统提供该目录是为了让用户临时挂载别的文件操作系统,我们可以将外部的存储挂载到/mnt
上,然后进入这个目录就可以看到外部的存储内容了。注:vmtools可以共享windows的文件就在此目录下。/tmp
这个目录是用来存放一些临时文件的。/selinux
该目录是security-enhanced linux的缩写,是一种安全子系统,类似windows上的360,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置。/proc
[别动]这个目录是一个虚拟的目录,它是系统内存的映射 ,访问这个目录可以获取系统信息。/srv
[别动]这是service的缩写,该目录存放一些服务启动之后需要提取的数据。/sys
[别动]这是Linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs。/boot
存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。/media
Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别到的设备挂载到这个目录下。
Vi与Vim
Linux系统会内置vi文本编辑器。
vim具有程序编辑的能力,可以看成是vi的增强版本,可以主动地以字体颜色辨别语法的正确性,方便程序设计,同时具备代码补全、编译和错误跳转等功能,因此被广泛程序员使用。
常用三种模式
正常模式下的快捷键
拷贝当前行
yy
;拷贝n行
nyy
;注意小键盘数字不行,用自带的数字。粘贴
p
;删除这一行
dd
;删除n行
ndd
;跳转到第一行
gg
;跳转到末尾行
G
;撤销刚才的操作
u
;跳转到第i行
i+shift+g
。
命令模式下的快捷键
- 在命令模式下查找关键单词
- 输入
/
name ,name是你要查找的单词名 - 按
n
查找下一个
- 输入
- 在命令模式下设置行号
:set nu
; - 在命令模式下删除行号
:set nonu
。
Linux开机、重启和用户登录注销
关机和重启
注意,不管是重启系统还是关机,最好都执行一次sync指令,再重启或关机
shutdown -h now
#现在立即关机,h代表halt关机的意思shutdown -h 1
#1分钟后关机shutdown -h
#默认1分钟后关机shutdown -r now
#现在立即重启,r代表reboothalt
#关机,作用和上面指令一样reboot
#重启计算机sync
#把内存数据同步到磁盘
用户注销
- 登录时尽量少用root账号登录,可以利用普通用户登录,登录后使用
su - 用户名
,来切换系统管理员程序; - 在提示符下输入
logout
即可注销用户。logout
在图形运行级别无效,在运行级别3下有效。
用户管理
创建删除设置用户
Linux系统是一个多用户多任务的操作系统,任何一个想要使用系统资源的用户,都必须首先向系统管理员root申请一个账号,然后再以这个账号的身份进入系统。
添加用户默认该用户的家目录在 /home/username
,username是用户的名称,也可以指定目录,但没必要.
useradd milan
#添加milan这个用户useradd -d /home/test milan
#添加milan这个用户,但用户文件夹名不是默认的milan,而是指定为test
passwd milan
#更改milan这个用户的密码userdel milan
#删除用户milan,但是保留home家目录userdel -r milan
#删除用户milan的所有信息,包括家目录
pwd :该命令显示当前所在目录全程
查询切换用户
- 查询基本语法
id 用户名
:当不存在改用户时,返回无此用户; - 切换基本语法
su 用户名
;exit
返回原用户;从权限高的用户切换到权限低的用户,不需要密码;反之需要。 - 查看当前登录用户语法
whoami
或者who am i
。值得注意的是whoami
返回当前使用的用户,who am i
返回第一次登录服务器的信息。
用户组
用户组,类似于角色,系统可以对有共性的多个用户进行统一的管理。
增加组
groupadd 组名
;删除组
groupdel 组名
;增加用户是直接加组 `useradd -g 用户组 用户名;
修改用户的组
usermod -g 用户组 用户名
。
用户和组相关文件
/etc/passwd
用户user的配置文件,记录用户的各种信息
每行的含义: 用户名:口令:用户表示号:组表示号:注释性描述:主目录:登录Shell
/etc/shadow
口令的配置文件
每行的含义: 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
etc/group
组的配置文件,记录Linux包含的组的信息
每行的含义:组名:口令:组标示号:组内用户列表
实用指令
指定运行级别
运行级别一共有7种
- 0:关机
- 1:单用户,root权限,可以帮助找回丢失的密码,用于系统维护,禁止远程登录
- 2:多用户状态没有网络服务
- 3:多用户状态有网络服务,登录后进入控制台命令行模式
- 4:系统未使用保留给用户
- 5:图形界面
- 6:系统重启
常用运行级别是3和5,也可以指定默认运行级别。
切换运行级别 init [运行级别]
修改默认运行级别
- 在CentOs7之前,需要在
/etc/inittab
中修改; - 在CentOs之后
- 查看当前运行级别
runlevel
; - 查看当前默认运行级别
systemctl get-default
; - 设置默认运行级别
systemctl set-default multiuser.target
。
- 查看当前运行级别
找回root密码
进入到单用户模式,就可以修改root密码
- 首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面;
- 进入编辑界面,使用键盘上的上下键把光标往下移动,找到以
Linux16
开头内容所在的行数,在行的最后面输入:init=/bin/sh
; - 接着,输入完成后,直接按快捷键:
Ctrl+x
进入单用户模式; - 接着,在光标闪烁的位置中输入:
mount -o remount,rw /
(注意:各个单词间有空格),完成后按键盘的回车键(Enter); - 在新的一行最后面输入:
passwd
, 完成后按键盘的回车键(Enter)。输入密码,然后再次确认密码即可(密码长度最好8位以上,但不是必须的), 密码修改成功后,会显示passwd…..的样式,说明密码修改成功; - 接着,在鼠标闪烁的位置中(最后一行中)输入:
touch /.autorelabel
(注意:touch与 /后面有一个空格),完成后按键盘的回车键(Enter); - 继续在光标闪烁的位置中,输入:
exec /sbin/init
,完成后按键盘的回车键(Enter),等待系统自动修改密码(这个过程时间可能有点长),完成后,系统会自动重启, 新的密码生效了。
帮助指令
man
命令或配置信息基本语法: man [命令或者配置文件]
(输入
q
退出)help
命令基本语法: help [命令]
文件操作指令
- 文件目录
pwd
显示当前工作目录的绝对路径;ls -a
或者ls -l
:-a显示当前目录的所有文件和目录,包括隐藏的;-l表示以列表的方式显示信息;注意可以组合;cd [参数]
:切换目录,后面可以是绝对路径或者相对路径,如果是/
开头,表示绝对路径;否则为相对路径;cd ~ 或者 cd
:回到自己的家目录;cd ..
:回到当前目录的上一级目录。
- 文件创建删除
mkdir 目录名
:创建目录,默认创建一级目录,如果要创建多级,要加-p
;rmdir 目录名
:默认删除空目录,如果目录下有内容无法删除;rm -rf 目录名
:递归强制删除,可删除有内容的目录;touch 文件名
:创建一个空文件。
- 文件拷贝删除移动查看
cp 文件 拷贝路径
:拷贝文件到指定路径;cp -r 文件夹 拷贝路径
:递归拷贝文件夹到指定路径;\cp
:强制覆盖不提示拷贝;rm 文件或目录
:删除文件;rm -r 文件夹
:递归删除整个文件夹;rm -f
:强制删除不显示;mv src tar
:移动文件或者重命名文件;cat 文件
:查看文件内容;cat -n 文件
显示行号;
more 文件
:以全屏按页显示文本文件内容,(more指令是一个基于VI编辑器的文本过滤器,以全屏的方式,按页显示文本文件的内容);q
退出;=
输出当前行的行号;:f
输出文件名和当前行的行号;
less 文件
:用来分屏查看文件内容,和 more 功能类似,但比more功能更强大(支持各种显示终端,less指令在西安市文件内容时,并不是一次将整个文件加载后才显示,而是根据需要加载需要的内容,对于显示大型文件具有较高的效率),q
退出。echo
:输出内容到控制台;echo $HOSTNAME
:输出主机名;echo $PATH
:输出环境变量;
head [可选 -n 行数] 文件
:用于显示文件的开头部分内容,默认情况显示前10行;tail [可选 -n 行数] 文件
:用于显示文件的尾部内容,默认显示最后10行;tail -f 文件名
:实时追踪文档的所有更新,退出按ctrl+C
,适用于网络抓包、服务器网络监视;
>
输出重定向(覆盖原文件)和>>
追加;ln
:表示link的意思,软链接,也称为符号链接,类似Windows里面的快捷方式,主要存放了链接其他文件的路径;ln -s [原文件目录] [软连接名]
给原文件创建一个软连接;- 删除时不能加
/
,把软连接当成一个文件,而不是目录;
history
:查看已经执行过的历史命令;history n
显示最近使用过的n个指令;history !n
执行历史编号为5的指令。
时间日期指令
date
:显示当前日期;date "+%Y-%m-%d"
显示当前年月日;date "+%Y-%m-%d %H:%M:%S"
显示当前年月日时分秒;data -s "时间"
设置系统时间;
cal
:显示本月月历;cal 2022
:显示2022年的所有月历。
查找指令
find [搜索范围] [选项] [参数]
:从指定目录向下递归的遍历子目录,将满足的文件或目录显示在终端;- 选项
[-name]
按照指定文件名查找模式查找文件; - 选项
[-usre]
查找属于指定用户名所有文件; - 选项
[-size [+n 大于n][-n 小于n][n 等于n]]
按照指定的文件大小查找文件;
- 选项
locate
:可以利用数据库快速实现文件搜索,但有的linux没有安装,先安装 yum install mlocate ,然后再使用之前更新数据库updatedb
,才能使用locate;which 指令
:可以查看某个指令在哪个目录下;grep
:过滤查找,通常和管道符号|
一起使用;grep -n "内容" 文件
-n表示显示匹配的行号;grep -i "内容" 文件
-i表示忽略字母大小写;
压缩和解压指令
gzip
和gunzip
:对单个文件进行压缩和解压,格式是 .gz;zip
和unzip
:对文件夹压缩和解压,格式是 .zip ;zip -r 压缩完成后文件名.zip 文件夹或文件
压缩文件夹以及其里面的文件和子文件夹成为压缩完成后文件名.zip;unzip -d 解压后的文件或文件夹目录 压缩文件或文件夹目录
:-d表示指定的解压目录;
tar [选项] xxx.tar.gz 打包的内容
:既可以压缩,也可以解压,打包得到的文件格式是.tar.gz;tar -zcvf xxx.tar.gz
打包内容 :将内容进行打包;tar -zxvf xxx.tar.gz -C 解压目标目录
:将压缩文件解压到特定位置;- 选项
[-c]
产生 .tar 打包文件; - 选项
[-v]
显示详细信息; - 选项
[-f]
指定压缩后文件名; - 选项
[-z]
打包同时压缩; - 选项
[-x]
解包 .tar 文件;
组管理和权限管理
Linux每个用户都必须属于一个组。
Linux每个文件都有所有者、所在组、其他组这三个概念。
修改权限一般要 root 权限
文件和目录的所有者
chown -R
:change owner,修改所有者。-R表示递归修改;chown [-R] 用户名 文件名
修改文件所有者;chown newnwner:newgroup 文件/目录
改变所有者和所在组。
文件和目录的所在组
chgrp -R
:change group,修改所在组。-R表示递归修改;chgrp [-R] newgroup 文件/目录
改变所在组;
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
改变用户所在组
usermod -g 新组名 用户名
usermod -d 目录名 用户名
改变该用户登录的初始目录,用户需要有进入新目录的权限;
权限的基本介绍
使用 ls -l
得出的信息,开头10个字符表示文件权限;
- 第0位确定文件类型( d,-,l,c,b )
d
表示目录;-
表示普通文件;l
表示链接;c
表示字符设备文件,如鼠标、键盘等;b
表示块设备,比如硬盘等,blog;
- 第1-3位确定所有者所拥有的权限—User;
- rwx 三种权限,对于文件和目录的作用分别不用;
- 第4-6位确定所在组的权限—Group;
- 第7-9位确定其他用户所拥有的权限—Other;
- 其他说明:
- 第10位: 文件:硬连接数 ;目录:子目录数;
- 第11位: 用户;
- 第12位: 组;
- 第13位: 文件大小(字节),如果是文件夹,显示4096字节;
- 第14位: 最后修改日期;
- 第15位: 文件名。
权限 | 文件 | 目录 |
---|---|---|
r | 读取、查看 | 读取、ls 查看 |
w | 修改(但不代表可以删除,删除的前提条件是对该文件所在的目录有写权限) | 修改、目录内创建、删除、重命名目录 |
x | 执行 | 可以进入该目录 |
修改权限
chmod
:修改文件或目录的文件;
chmod [[u 所有者] [g 所有组] [o 其他人] [a 所有人]][[+ 增加权限] [- 减少权限] [= 设置权限]] 文件/目录
chmod [[u 的权限求和] [g 的权限求和] [a 的权限求和]] 文件/目录
: r = 4 、r = 2、 x = 1;
定时任务调度
任务调度:是指系统在某个时间执行的特定的命令或程序。
分类:
- 系统工作
- 个别用户工作
crontab定时任务
crontab [选项]
-e
编辑crontab定时任务;-l
查询crontab定时任务;-r
删除当前用户所有的crontab任务。
service crond restart
重启任务调度
定时参数说明
占位符 | 含义 | 范围 |
---|---|---|
第一个”*” | 一小时当中的第几分钟 | 0~59 |
第二个”*” | 一天当中的第几小时 | 0~23 |
第三个”*” | 一个月中的第几天 | 1~31 |
第四个”*” | 一年当中第几月 | 1~12 |
第五个”*” | 一周当中的星期几 | 0~7(0和7都代表周日) |
‘ | 代表不连续的时间 | |
- | 代表连续的时间 | |
*/n | 代表每个多久执行一次 |
at 定时任务
crond是定时的,反复执行的;at命令是一次性定时计划任务。
at
命令时一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。- 默认情况下,atd守护进程每60s检查作业队列,有作业时,会检查作业运行时间,如果运行时间与当前时间匹配,则运行此作业。
- at命令是一次性定时计划任务,执行完一个任务后,不再执行此任务。
- 在使用at命令的时候,一定要保证atd进程的启动。
Ctrl + D
连按两次结束at命令的输入;
atq
查看设置的定时任务;
atrm +编号
删除该编号的定时任务;
at [选项] [时间]
-m
当指定的任务被完成后,将给用户发送于邮件,即使没有标准输出;-I
atq的别名-d
atrm的别名-v
显示任务将被执行的时间-V
显示版本信息-c
打印任务的内容到标准输出-q <队列>
使用指定的队列-f <文件>
从指定文件读入任务而不是从标准输入读入-t <时间参数>
以时间参数的形式提交要运行的任务
时间指定方法:
- 接受在当天的 hh:mm (小时:分钟)式的时间指定。加入该时间已过去,那么就放在第二天执行。
- midnighr(深夜) noon(中午) teatime(下午四点)
- 采用12小时制,在时间后面加上AM或PM
- 指定命令执行的具体日期 指定格式为 (month day)(月日) 或 mm/dd/yy(月/日/年) 或 dd.mm.yy (日.月.年)
- 使用相对计时法 指定格式为: (now + count time-units) now是当前时间,time-units是时间单位(minutes分钟 hours小时 days天 weeks星期),count是时间的数量
- 直接使用today(今天) tomorrow(明天)
Linux 磁盘分区和挂载
Linux分区
Linux无论有几个分区,分给哪一个目录来使用,他归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
Linux采用了一种叫“载入”的处理方式,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的一个分区将使它的存储空间在一个目录下获得。
硬盘说明
- linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘;
- 对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设别的类型,这里是指IDE硬盘。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1~4表示,他们是主分区或扩展分区,从5开始就是逻辑分区。
- 对于SCSI硬盘表示为“sdx~” ,SCSI硬盘是用“sd”来表示分区所在设备类型,其余则和IDE硬盘的表示方法一样。
lsblk
: 查看所有设备的挂载情况
lsblk -f
: 显示的UUID是分区的40位的唯一标识符
fdisk /dev/sdx
:分区命令
mkfs -t ext4 /dev/sdb~
格式化磁盘,ext4是分区类型
mount 设备名称 挂载目录
将一个分区与一个目录联系起来
umount 设备名称/挂载目录
取消一个分区与一个目录的联系
修改/etc/fstab
永久挂载,执行mount -a
即刻生效
虚拟机添加硬盘并连接分区
虚拟机添加硬盘
分区
fdisk /dev/sdb
m
显示命令列表p
显示磁盘分区n
新增分区d
删除分区w
写入并退出- 开始分区后输入n,新增分区
- 然后选择p,分区类型为主分区
- 两次回车默认剩余全部空间
- 最后输入w,写入分区并退出,若不保存退出输入q
mkfs -t ext4 /dev/sdb1
格式化磁盘,ext4是分区类型mount /dev/sdb1 /newdisk
将一个分区与一个目录联系起来(用命令行挂载,重启失效)修改
/etc/fstab
永久挂载/dev/sdb1 /newdisk ext4 defaults 0 0
执行mount -a
即刻生效
磁盘情况查询
df -h
查询系统整体磁盘使用情况du [选项] 目录
查询指定目录的磁盘占用情况-s
指定目录占用大小汇总-h
带计量单位-a
含文件--max-depth=1
子目录深度-c
列出明细的同时,增加汇总值tree 目录
以树状结构得到显示目录结构
网络配置
ping 目的主机ip
测试当前服务器是否可以连接目的主机
Linux网络环境配置
指定ip
直接修改配置文件来指定IP,并可以连接到外网
编辑 vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=enth0 #接口名(设备网卡)
HWADDR=xx:xx:xx:xx:xx:xx #MAC地址
TYPE=Ethernet #网络类型(通常是Ethernet)
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx #碎解ID
ONBOOT=yes #系统启动时网络接口是否有效
BOOTPROTO=static #IP的配置方法[none(引导时不使用协议)|static(静态分配IP)|bootp(BOOTP协议)|dhcp(DHCP协议)]
IPADDR=xxx.xxx.xxx.xxx #ip地址
GATEWAY=xxx.xxx.xxx.xxx #网关
DNSI=xxx.xxx.xxx.xxx #域名解析器
重启网络服务或者重启系统生效
service network restart
或 reboot
设置主机名
修改主机名
hostname
查看主机名修改文件在
/etc/hostname
中指定设置主机映射
windows :
C:\Windows\System32\drivers\etc\hosts
文件指定Linux :
/etc/hosts
文件指定
主机名解析机制
Hosts:一个文本文件,用来记录IP和Hostname(主机名)的映射关系
DNS:域名解析系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库
进程管理
在Linux中,每个执行的程序都称为一个进程,每个进程都分配一个ID号(pid,进程号)
每个进程都可能以两种方式存在,前台与后台。
一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,知道关机才结束。
查看进程
ps [选项]
显示系统执行的进程
-a
显示当前终端的所有进程信息
-u
以用户的格式显示进程信息
-x
显示后台进程运行的参数
ps -aux
PID 进程识别号
TTY 终端机号
TIME 此进程所消耗CPU时间
CMD 正在执行的命令或进程名
%CPU 此进程占用CPU百分比
%MEM 此进程占用物理内存百分比
VSZ 此进程占用虚拟内存大小 KB
RSS 此进程占用物理内存大小 KB
STAT 此进程运行状态【S-休眠 r-正在运行 s-表示该进程是会话的先导进程 N-表示进程拥有比普通优先级更低的优先级 D-短期等待 Z-僵死进程 T-被跟踪或者被停止等待】
START 此进程执行开始时间
COMMAND 执行此进程的指令(过长会被截断)
-e
显示所有进程
-f
全格式
ps -ef
UID 用户ID
PID 进程ID
PPID 父进程ID
C CPU用于计算执行优先级的因子
数值越大,表明进程时CPU密集型运算,执行优先级会降低
数值越小,表明进程时I/O密集型运算,执行优先级会提高
STIME 进程启动时间
TTY 完整的终端名称
TIME CPU时间
CMD 启动进程所用的命令和参数
终止进程
kill [选项] pid
杀死某个进程-9
表示强迫进程立即停止killall 进程名称
杀死进程及其子进程强制终止一个终端
kill -9 bash 对应进程号
显示进程树
pstree [选项]
更直观的查看进程信息
-p
显示进程的PID
-u
显示进程的所属用户
服务管理
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,因此我们又称之为守护进程。
service 管理指令
service 服务名 [start|stop|restart|reload|status]
service/systemctl
service 指令管理的服务在 /etc/init.d
查看
查看service服务名
- 使用 setup -> 系统服务 就可以看到全部setup
ls -l /etc/init.d
开机的流程说明
开机 -> BIOS -> /boot -> systemd进程1 -> 运行级别 -> 运行级别对应的服务
chkconfig
给服务的各个运行级别设置启动/关闭chkconfig --list | grep xxx
:查看过滤后的服务servicechkconfig --level 3 服务名 off
:设置服务名的3级别自启动关闭
chkconfig
重新设置服务后自启动或者关闭,需要重启机器reboot
生效systemctl
:管理服务指令service [start|stop|restart|reload|status] 服务名
systemctl 指令管理的服务在
usr/lib/systemd/system
查看- systemctl设置服务自启动状态
systemctl list-unit-files [|grep 服务名]
查看服务开机启动状态,grep可以进行过滤systemctl enable 服务名
设置服务开机启动systemctl disable 服务名
关闭服务开机启动systemctl is-enable 服务名
查询某个服务是否是自启动的
ls -l /usr/lib/systemd/system/ | more
:显示systemctl管理的服务名称。systemctl list-unit-files | grep firewalld
:查看防火墙开启还是关闭
firewalld
firewall-cmd --permanent --add-port=端口号/协议
打开端口firewall-cmd --permanent --remove-port=端口号/协议
打开端口firewall-cmd --reload
重新载入,才能生效firewall-cmd --query-port=端口号/协议
查询端口是否开放
动态监控进程
top
与ps
命令很相似,他们都用来显示正在执行的进程
不同:top在执行一段时间可以更新正在运行的进程
top [选项]
-d 秒数
指定top命令每个几秒更新,默认是3秒
-i
使top不显示任何闲置或者僵死进程
-p
通过指定监控进程ID来监控某个进程的状态
操作 | 功能 |
---|---|
P | 以CPU使用率排序,默认就是此项 |
M | 以内存使用率排序 |
N | 以PID排序 |
q | 退出top |
u + 用户名 | 监视特定用户 |
k | 终止指定的进程 |
监控网络状态
netstat [选项]
查看系统网络情况
-an
按一定的顺序排序输出
-p
显示哪个进程在调用
网络性能测试
Iperf
一款网络性能测试工具,在网络中单向传输数据流,根据需要调整传输速率和数据流大小,也可以根据需要报告带宽、延迟抖动和数据包丢失。
TCP测试
1 |
|
UDP测试
1 |
|
-f [b|B|k|K|m|M|g|G] //f参数表示单位
-r //r参数表示双向数据测试,但要先测c到s的带宽
-d //d参数和r近似,并且功能更强,可同时测试双向数据
-w [2000] //w参数后跟数字,单位是byte,
-p [12000] //p参数可指定端口号
-t [20] //t参数默认表示测试10次,后加数字可以自己定义
-i [2] //i参数表示测试开始到结束的间隔时间,单位s
-u -b 10m //udp 10mbps 测试
-m //最大mpu测试
-P //并行测试
-h //帮助
IPC通信
ipcs:–用来查看system V的IPC机制标识符的命令
-q,显示当前系统中 消息队列 的使用
-m,显示当前系统中 共享内存 的使用
-s,显示当前系统中 信号量 的使用
ipcrm:–用来删除 当前系统中 system V的IPC机制标识符的命令
-q,删除当前系统中 消息队列的标识符
-m,删除当前系统中 共享内存的标识符
-s,删除当前系统中 信号灯集的标识符
- 本文作者:bobo
- 本文链接:https://boyolo.github.io/article/23540.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!