rpm -ivh rpm包
--nosignature 不检验软件包的签名 --nodeps //忽略依赖关系
--force //强制安装软件包
rpm -q ntfs-3g //查询指定包是否安装
rpm -qa |grep ntfs //查询指定包是否安装
rpm -ql ntfs-3g //查询ntfs-3g安装的文件
rpm -qf /usr/bin/ntfs-3g //查询该文件属于哪个rpm包
rpm -qc ntfs-3g //查询某个包安装的配置文件
rpm -e ntfs-3g --nodeps 卸载
[root@yunweb ~]# rpm -qf `which ifconfig`
net-tools-2.0-0.22.20131004git.el7.x86_64
vim
:4,9 s/^#// 4-9行的开头#替换为空
:5,10 s/.*/#&/ 5-10前加入#字符 (.*整行 &引用查找的内容)
:set list 显示控制字符
:set nonu 取消设置行号
vim -O /etc/hosts /etc/hostname 显示两个窗口 ^ww进行切换 退出 qall -o 水平分割 -O垂直分割
# stat /etc/hostname //查看文件的详细属性(其中包括文件时间属性)
访问时间:atime,查看内容 //RHEL6会延后修改atime
修改时间:mtime,修改内容 Modify
改变时间:ctime,文件属性,比如权限 Change
删除时间:dtime,文件被删除的时间
whoami 我是谁
#su - root
date +%F : 2017-11-20
y年18 Y年2018 m月 d日 H时 M分
dev/null 相当于垃圾筒
wheel 轮子组 提权 sudo useradd -M 不添加目录 useradd -G 添加附属组
usermod -G 修改附属组 usermod -aG 追加附属组
su - jim -c “touch aaaa" 用某一个用户执行一个命令, 写脚本的时候用
useradd -M +用户名 不创建家目录
memory 内存 cpu network 网络 disk 硬盘disk IO
ps aux 显示系统里的所有进程
ps -ef 两套显示进程的方式
lsof(应用范围有限,只能查看带端口的进程)lsof列出所有打开的文件,属于所有活动进程
pidof +进程名称(具体的进程名称) 显示pid
ss netstat -anpult
top
load(加载,负载)average: 0.56, 0.50, 0.57
前1min 5min 15min
%Cpu(s): 7.0 us, 3.7 sy, 0.0 ni, 88.8 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st
用户态,内核态,优先级,idle cpu的空闲率,wait cpu等待/空转,硬中断,软中断,被偷走的
cpu的调度 被修改的 1s接受1000次中断
killall 信号 进程名称 按进程名称杀死进程 与之相关的全部杀死
kill -s QUIT pid 关闭进程及子进程
kill -s HUP pid 重载该服务
kill -9 pid pkill -u 用户 pkill -t -9 终端 用 W查看
chattr +a 文件 -->允许往文件里追加内容
chattr +i 文件 -->只能看,其他的都不能
chmod g+s(2777) +目录 只能给目录设置,设置后的目录里的文件继承目录的所属组
setfacl -m u:用户:权限 文件
setfacl -m g:组:权限 文件
setfacl -R -m u:用户:权限 目录 递归修改
setfacl -b 文件(目录) 删除所有的facl权限
setfacl -x u:wing: 文件(目录) 删除单独用户的acl权限
查看分区: df -Th lsblk.
fdisk -l /dev/das 只能查看MBR--->主引导记录
fdisk /dev/sda 增加删除修改现有分区 fdisk -l 可以查看新建分区 gdisk
mount 挂载 mount -a
首先创建挂点:mkdir /testmount
进行挂载: mount /dev/sdb1 /testmount
取消挂载:umount /testmount {挂载设备或者挂载点}
etc/fstab 开机自动挂载 etc/ init.b/ 永久挂载
lsblk 查看设备的有多少磁盘/查看磁盘信息
swap分区
提升内存的容量 防止OOM(out of memory)
用的是硬盘空间 当作内存来用 当物理内存不够用的时候 使用swap分区
防止物理内存耗尽
制作swap分区:
先用fdisk做一个分区-----格式化: #mkswap /dev/sda5
激活swap分区: #swapon /dev/sda5 或者# swapon -a(读取/etc/fstab)
开机挂载swap分区:
# blkid /dev/sda5
/dev/vdb1: UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" TYPE="swap"
# vim /etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap default 0 0
关闭swap分区:
#swapoff /dev/sda5
dd if(输入文件inputfile)=/dev/zero of(output file)=/swap2.img bs=1M count=512 做出一个50M的文件,这个文件可以当硬盘用
dd if=/dev/zero of=/swap2.img bs=1M count=512
mount 参数 挂载设备 挂载点
-t 文件系统类型
-o 文件系统属性
-a 检测是否挂载成功
mount -t nfs 192.168.0.253:/abc /opt nfs远程挂载到本地
lvm
制作pv: pvcreate /dev/sdc{1,2,3,4} 查看 pvs 物理券
制作vg: vgcreate vg0 /dev/sdc{1,2,3,4} vgs 券组
制作lv : lvcreate -L 3G -n lv0 vg0 lvs 逻辑券
扩容LVM:
第一种:lvextend -l +2G /dev/vg0/lv0
第一种:pvextend /dev/sdc{13,14}
mkfs 格式化
缩容
卸载
umount /lv0/
强制检查文件系统
e2fsck -f /dev/vg0/lv0
文件系统级别缩容
resize2fs /dev/vg0/lv0 100M
查xfs文件系统级别缩容命令
lv缩容
lvreduce -L 100M /dev/vg0/lv0
vg缩容
vgreduce vg0 /dev/sda13
pv缩容
pvremove /dev/sda13
mount /dev/vg0/lv0 /opt
lvm制作1G 1G 1G
(1)基础磁盘 sdb1 sdb5 sdb6 物理卷 pv ------sdb1 sdb5 sdb6 (随便起)
(2)把物理卷加入到卷组 vg -----------卷组名称vd0 包含:sdb1 sdb5 sdb6(vg级别)
(3)逻辑卷 lv------------3G大小的lv(自定义名称lv0)(lv级别)
(4)制作文件系统---------mkfs.xfs lv0的路径(文件系统级别)
(5)使用lv ----------------挂载
删除:
lvremove /dev/vg0/lv0
vgremove /dev/vg0
pvremove /dev/sdb{1,5,6}
lvm扩容(先看一下vg还有多少)
pv扩容
创建新的Pv
vg扩容
vgextend -v vg0 /dev/sda13
lv扩容
lvextend -L +50M /dev/vg0/lv0(-L 加多少g -l 最后一共多少g)
raid0
最少需要两块磁盘,分别往每一块磁盘上写一部分数据
优点:读写速度快
缺点:没有其他raid级别安全性高
raid1 又叫镜像raid
最少需要两块磁盘,每块磁盘上都会存储一份完整数据
优点:安全性高,读速度快
缺点:写速度慢
raid5
最少需要3块磁盘,两块磁盘存数据,一块磁盘存校验位
优点:可以找回丢失的数据
冗余磁盘-->当某一块磁盘坏掉后,冗余磁盘会自动替换上去
安全性比raid1还高
mkfs.ext4 /dev/md0 (rhel6)
mkfs.xfs /dev/md0 格式化
开机挂载:3种方法:
1)把mount命令写到/etc/rc.local
2)使用autofs服务实现自动挂载
3)vim /etc/fstab(本地挂载)
fsck -a /dev/sda5(auto)
fsck -p /dev/sda5(自动修复)
手动检查修复文件系统:xfs
xfs_repair /dev/sdb1
tar czf file.tar 被打包的文件
tar xf file.tar.gz -C 指明解压路径
rpm安装:
rpm -ivh 软件包名称
qf 查来自哪个软件产生 qa查 软件全称
qc查配置文件 -e 软件卸载
--force 强制 --nodeps 不检查依赖关系安装
查看网卡驱动信息:
ethtool -i ens33
crontab -l 查 -e编辑 -r 删除
ps:*表示每...
,取不同的时间点
-表示范围
*/5每隔5分钟
weekly 轮转周期 默认一周轮转一次
rotate 4 轮转次数 默认轮转4次
create创建新文件
missingok 在文件不存在的时候也不报
compress 轮转后进行压缩
postrotate 轮转之后执行的命令(在压缩旧日志之前)
/usr/bin/killall -HUP syslogd
endscript
notifempty如果日志为空,则不进行轮转
nfs
yum -y install nfs-utils(主包提供文件系统)
yum -y install rpcbind(提供rpc协议)
配置共享
vim /etc/exports-----主配置文件
共享目录 共享给谁 nfs文件系统共享出去的属性
/var/ftp 10.18.44.0/24 (rw, no_root_squash不压制root权限,sync同步传输)
*表示所有人
no_root_squash不压制root权限,使用root权限
nfs没有用户和密码 默认使用的是一个普通用户(nfsnobody)的权限
apache
tomcat(8080):并发量默认是200,达到150就不行了,需要作负载均衡
nginx:默认的并发量是50000
apache:最高2000
默认发布网页的目录(apache的根目录):/var/www/html
Alias 别名 "源目录"
<VirtualHost 172.16.70.251:80>
DocumentRoot /163
ServerName www.163.com
</VirtualHost>
<VirtualHost 172.16.70.251:80>
DocumentRoot /yahoo
ServerName www.yahoo.com
</VirtualHost>
<Directory "/yahoo">
Require all granted
</Directory>
只允许一部分客户端访问:
Require ip 192.168.245.3 //可以写网段
Require ip 127.0.0.1
只拒绝一部分客户端访问:
Require not ip 127.0.0.1 192.168.245.3
Require all granted
Require all denied 拒绝所有人
查看apache工作模式:# httpd -V
编译安装的apache
./configure --perfix="路径"
在
configure配置编译参数的时候,可以使用 --with-mpm=prefork|worker|event 来指定编译为那一种MPM,当然也可以用编译为三种都支持:--enable-mpms-shared=all,这样在编译的时候会在modules目录下自动编译出三个MPM文件的so,然后通过修改httpd.conf配置文件更改MPM
注意:切换非进程模式需要关闭PHP
进程模式:
StartServers 8 初始化进程数
MinSpareServers 5 最小空闲进程数
MaxSpareServers 20 最大空闲进程数
ServerLimit 256 进程上限
MaxClients 256 最大并发量
MaxRequestsPerChild 4000
线程模式:
StartServers 4初始化进程数
MaxClients 300 最大并发量
MinSpareThreads 25最小空闲进程数
MaxSpareThreads 75 最大空闲进程数
ThreadsPerChild 25 线程数
MaxRequestsPerChild 0
event模式:
StartServers 3
ServerLimit 16
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400 //同MaxClients
MaxConnectionsPerChild 1000