Linux(3)_基础知识
一、 软件安装
1.rpm包结构的系统:
1) rpm安装
不能够解决软件包安装时需要的依赖关系!
rpm命令的应用:
(1) 查看功能
查看当前系统中安装的软件包及其数量:
rpm -qa
rpm -qa | wc -l
命令补充:
wc统计命令
-l:统计行数
-w:统计单词数,以换行或空格为分隔符
-c:统计字符数
查看某个如那件包是否安装:
rpm -q 软件包名称
已安装:回显软件包名称
未安装:回显未安装
查看某个已安装软件包生成的文件信息:
rpm -ql 软件包名称
查看某个已存在命令的安装软件包:
which 命令字段 : 查找命令的绝对路径
rpm -qf 命令的绝对路径
查看某个软件包的版本信息:
rpm -qi 软件包名称
查看未安装软件包的版本信息:
命令补充:
转义符:\ ;作用是:将符号的原本含义解释出来。
tab:命令补齐;两次tab可以补齐以某个字符开头的所有命令
rpm -qpi 软件包名称(路径)
查看未安装软件包在安装之后会生成哪些文件:
rpm -qpl 软件包名称
(2) 安装功能
rpm -ivh 软件包名称
-i : install
-v: 详细信息
-h:人性化显示
(3) 卸载功能
rpm -e 软件包名称
2) yum安装
能够自动解决软件包的依赖关系!
(1) 客户端yum源配置
- 网络yum源
http协议:baseurl=http://url
ftp协议:baseurl=ftp://url
- 本地yum源
baseurl=file://
配置步骤:
cd /etc/yum.repos.d/
mkdir backup_yum
mv CentOS-* epel* backup_yum
vim local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
保存退出;
mount /dev/sr0 /mnt
(2) yum的基本操作
- 查看yum仓库列表信息
yum list
- 查找域名仓库中是否有要安装的软件包
yum search 软件包名称
- yum缓存清理
yum clean all
- yum安装
yum install -y 软件包名称
- yum卸载(不建议使用)
yum remove 软件包名称
3) 源码安装
- 配置 :./configure 配置选项
- 编译 :make
- 安装 :make install
4) 二进制文件安装
.bin
二、 文件共享服务
samba软件,smb:139/445;nmb:137/138
- 服务端配置
1) 安装
yum install -y samba
2) 配置
文件位置: /etc/samba/smb.conf
在文件末尾追加如下内容:
[share]
comment = test
path = /opt/share
valid user = admin lisi
write list = admin
create mask = 0664
directory mask = 0775
3) 创建目录
mkdir /opt/share
4) 添加samba用户
useradd admin
useradd lisi
pdbedit -a -u admin
pdbedit -a -u lisi
用户查看:pdbedit -L
5) 修改/opt/share目录权限
chmod 777 /opt/share 或者
setfacl -m u:admin:rwx /opt/share
6) 关闭防火墙
systemctl stop firewalld
关闭开机自启:
systemctl disable firewalld
7) 关闭selinux
查看selinux状态: getenforce
1) 设置为宽容模式
setenforce 0
2) 永久关闭
vim /etc/selinux/config
enforcing --> disabled
然后重新启动计算机。
- 客户端配置:
1) linux客户端
- 安装客户端软件:
yum install -y samba-client
- 访问
查看共享:
smbclient -L //samba服务器IP地址 -U 用户名
访问共享:
smbclient //samba服务器IP地址/共享名 -U 用户名
2) windows客户端
三、 服务的网络监听查看
netstat -anptu | grep 服务名
四、 进程查看
- 静态进程查看
系统中第一个进程是初始化进程:
6系统中:init
7或以上的系统中:systemd
该进程的PID号永远为1,是其他所有进程的父进程。
ps aux 或者 ps -elf
ps aux,静态显示正在内存中运行的进程信息
USER PID %CPU %MEM VSZ RSS TTY STAT STARTTIME COMMAND
用户 进程号 CPU占比 内存占比 虚拟内存 固定内存占用 连接终端 状态 开始时间 进程运行的命令 状态:
S:sleep休眠进程
s:表示有很多子进程
R:正在工作的进程
T:已经停止的进程
Z:僵尸进程,zombie,会占用系统资源
ps -elf,属于当前登录的所有进程信息
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
标识 状态 用户ID 进程ID 父进程ID CPU 优先权 优先权修正 内存位置 内存占比 -运行 开始时间 终端 占用CPU时间 命令
进程树查看:
pstree
- 动态查看进程信息
top
进程调用文件查看命令:
lsof
五、 进程管理
- 进程启动
启动程序之后进程就会启动
- 进程表现形式
1) 后台进程
指的是以daemon的形式启动的进程。
2) 前台进程
在前台终端中运行的进程
进程操作:
ctrl + z :将前台进程暂停
jobs:查看前台进程转后台或暂停的的任务标识号n
fg n: 将转化为后台进程的前台进程调用出来,或将暂停的前台进程调用为前台进程;
bg n:将暂停的前台进程调用为后台进程;
后台执行命令或程序:
命令字段或程序启动命令&
- 终止进程操作
kill : 杀死进程
-9: 强制终止
语法: kill [-9] PID
killall : 杀死进程
-9 :强制杀死
语法: killall [-9] 进程名
pkill : 杀死进程
语法:pkill 进程名
六、 防火墙设置:
补充:网卡设备启停:
ifconfig 网卡名 up/down (不会重新读取配文件!)
ifup 网卡名 或者 ifdown 网卡名 (会重新读取配置文件!)
linux7防火墙采用的管理模式是:区域管理
防火墙的九大区域:
public:公共区域
trusted:完全信任区域
home:家庭区域
work:工作区域
internal:内部区域
external:外部区域
block:阻塞区域
drop:丢弃区域
DMZ:非军事化管理区域
- 防火墙服务
Systemctl stop firewalld 关闭
Systemctl start firewwald 开启
Systemctl status firewalld 查看启动状态
Systemctl restart firewalld 重启
- 防火墙的区域划分
1) Public:默认添加的网络所属区域;
2) Trusted:完全信任区域,放行一切流量
3) Home:
4) Work:
5) Internal:
6) External:
7) Block:阻塞区域,所有流量都不能通过
8) Drop:丢弃区域,进入该区域的流量将被丢弃。
9) Dmz:非军事化管理区域,一般服务器网络所属区域。
- 防火墙规则
1) 查看
--get-active-zones : 显示活动区域
--get-icmptypes :查看支持的ICMP协议类型,echo-reply、 echo-request
--get-default-zone : 显示默认区域
--get-zone-of-interface= :查看指定接口属于哪个区域
--get-zones :显示所有区域
--get-services :查看支持的服务类型
2) 列出详细信息
--list-all:列出默认区域
--list-all-zones:列出所有区域
--list-icmp-blocks:列出默认区域内的icmp阻塞策略
--list-interfaces:列出默认区域的所有接口
--list-ports:列出默认区域的放行端口
--list-protocols:列出默认区域的放行协议
--list-services:列出默认区域的放行服务
若要列出非默认区域的信息,需要配合 --zone=区域名
3) 设置默认区域
--set-default-zone=
4) 添加规则
--add-icmp-block=:添加阻塞类型
--add-interface=:添加接口
--add-port=:添加端口号
--add-protocol=:添加协议
--add-service=:添加服务
5) 移除规则
--remove-icmp-block=:移除阻塞类型
--remove-interface=:移除接口
--remove-port=:移除端口号
--remove-protocol=:移除协议
--remove-service=:移除服务
6) 改变接口所属区域
--change-interface=接口名称 --zone=区域名称
7) 将命令的临时配置永久写入配置文件
firewall-cmd --runtime-to-permanent(不能使用命令补齐)