❀grep sed awk命令以及正则表达式
grep:
语法:
grep 【选项】 ‘内容’ 文件名
grep | 以行为单位过滤 |
-i | 不区分大小写 |
-v |
取反 |
-w | 以单词为单位进行过滤 |
-B | 指定行数,过滤指定内容以及下几行 |
-A | 指定行数,过滤指定内容以及上几行 |
-C |
指定行数,过滤指定内容以及上下各几行 |
-o | 只输出过滤的内容 |
-c | 统计过滤的行数 |
-n | 显示行号 |
正则表达式:
基础正则表达式 -->grep可以直接使用
$ 以…结尾
^ 以…开头
. 匹配任意一个字符
- 匹配前一个字符或子表达式任意次(例如:grep "g.d" a.txt(过滤a.txt文件中的以g开头以d结尾可以代表有任意多个字符或没有字符))
[A-Z] [a-z] [0-9] [A-Za-z0-9]
[^a-z] 取反
扩展正则表达式 egrep =grep -E
{n,m} 匹配前一个字符或子表达式n到m次
{n, } 匹配前一个字符或子表达式最少n次
{ ,m} 匹配前一个字符或表达式最少m次
{n} 匹配前一个字符或子表达式n次
+ 匹配前一个字符或子表达式1次以上(*包括0+不包括,至少)
? 匹配前一个字符或子表达式0次或1次以上
| 或
() 分组(例如:(g|f)ood)
\ 转义,取消一个字符的特殊含义
查找/root这层目录有多少个普通文件?
find ./ -maxdepth 1 -type f ! -name “.*” | wc -l | ll | grep -c “^_”
sed:
语法:
sed [选项] ‘[操作地址]sed内置操作’ 文件
常用选项:
sed 流文件处理工具
-n 只输出处理的行
-i 修改文件内容,编辑文件
-e 指定多个sed内置操作,现在不常用,多个sed内置操作可以使用分号隔开
-r 支持扩展正则表达式
操作地址:
2 代表处理文件的第2行
1,5 代表处理文件的第1到5行
1;5 代表处理文件的第1行和第5行
1~2 代表指定步长为2,处理的是1,3,5…行
2,~2 代表处理文件的第2行开始,到2的倍数行结束。(2,~2=2,4 ;4,~4=4,8行)
4,$ 代表处理文件第4行到最后一行
1,+2 代表处理文件的第1行到第1+2行,也就是1到3行
内置操作:
p 打印
a 在指定行后追加数据
i 在指定行前插入行前
d 删除指定行
c 替换指定整行
s 替换指定字符,默认替换每行第一个字符
g 通常与s组合使用,替换全部指定字符
n 获取下一行
y 字符转换,类似于tr命令(正则不能使用)
r 将文件读入指定行后
w 将指定行另存为文件
q 结束sed操作
N 不会清空模式空间内的内容,将下一行追加到模式空间,两行数据以换行符
awk:
语法:
awk [选项] ‘BEGIN{command}匹配模式{command}END{command}’ 文件
内置操作:
$0 | 文件的整行 |
$1~$n | awk处理的列,以FS为分隔符 |
NF | 查看一共有多少列 |
$NF | 查看文件的最后一列 |
NR | 表示处理的行数(一共有多少行) 外:指定输出第几行 |
FNR | 表示处理当前文件的行数 |
FS | 输入字段的分隔符,默认空格或制表符 |
RS |
输入记录的分隔符,默认是换行 |
OFS | 输出字段的分隔符,默认空格 |
ORS | 输出行的分隔符,默认换行 |
FILENAME | awk处理的文件名 |
PATH |
文件路径 |
ARGC | 命令行参数个数 |
ARGV | 命令行参数数组 |
ENVIRON | 获取Linux系统中的环境变量 |
which 文件名查找命令的绝对路径
❀制作模板机
#进入: vim /etc/sysconfig/network-scripts/ifcfg-ens33 #1.网络配置 NAT TYPE=Ethernet BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.2.10 NETMASK=255.255.255.0 GATEWAY=192.168.2.1 DNS1=255.255.225.0 /etc/init.d/network restart 重启网络服务 ip a 查看网络信息
xshell连接慢如何解决:
进入vi /etc/ssh/sshd_config
再找到UseDNS 吧yes改成no,前面“#”符号也要删,保存退出
重启ssh服务:
systemctl restart sshd
防火墙与selinux的关闭及开启和永久生效 :
systemctl stop firewalld 关闭防火墙服务
start
systemctl disable firewalld 禁止防火墙开机自启动
enable
firewall-cmd --state 查看防火墙状态
systemctl status firewalld
systemctl is-enabled firewalld
查看防火墙是否开机自启动
getenforce 查看selinux的状态
setenforce 设置selinux的状态
vi /etc/selinux/config
vi /etc/sysconfig/selinux
SELINUX=disabled
重启系统生效
挂载磁盘:
查看磁盘信息:
fdisk -l 查看
创建目录:
mkdir /media/cdrom
mount /dev/sr0 /media/cdrom 挂载磁盘
df -Th 挂在完查看挂载信息
配置本地yum仓库:
1. cd /etc/yum.repos.d/ 2. mkdir bak 3. mv *.repo bak
yum源文件存在 /etc/yum.repos.d 中
创建一个文件(local.repo):
vi local.repo [local] name=local baseurl=file:///media/cdrom enabled=1 gpgcheck=0
配置完成之后
yum clean all 清除yum缓存
yum makecache 建立新的yum缓存
或者直接用:yum makecache fast 加载未加载的缓存
安装vim和man命令: yum -y install vim man
设置永久挂载:
进入fstab:
vim /etc/fstab
/dev/sr0 /media/cdrom iso9660 defaults 0 0
第一段:挂载的设备 (dev/sr0)
第二段:挂载的目录 (/media/cdrom)
第三段:文件系统类型 (iso9660)
第四段:挂载的参数 defaults默认参数 (defaults )
第五段:是否使用dump备份 0不备份 1备份 (0)
第六段:是否使用fsck检测 0不检测(0)
注解:
1.系统中只有一块硬盘,sda,分区sda1,sda2 ;
2.根目录是整个系统目录的顶点,/mnt也在根目录下;
3.如果知道根目录对应的是哪个硬盘分区,可以判断出
a.txt存到哪个设备上;
mount /dev/sr0 /media/cdrom
mount /dev/sdb4 /mnt
扩展:格式化磁盘
1. #Cetnos6格式化磁盘 2. mkfd.ext4 -f /dev/[sda] 3. #Centos7格式化磁盘 4. mkfs.xfs -f /dev/[sda]
重启系统的命令:reboot、init 6、shutdown -r
❀软件包管理
❀用户、用户组管理
❀文件权限管理
❀磁盘管理
创建分区
[root@server-1 ~]# fdisk /dev/sdb
创建物理卷
[root@server-1 ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created #已成功创建物理卷“/dev/sdb1”
扩展'centos'卷组
[root@server-1 ~]# vgextend centos /dev/sdb1
Volume group "centos" successfully extended #卷组“centos”成功扩展
初始化分区
[root@server-1 ~]# mkswap /dev/sda2
扩容逻辑卷
[root@server-1 ~]# lvextend -L +19.5G /dev/mapper/centos-root (加+是在原有的基础上扩容 不加则是直接扩容到多少内存 )
[root@server-1 ~]# df -Th
扩容xfs类型
[root@server-1 ~]# xfs_growfs /dev/mapper/centos-root
———————————————————————————————————————————
—————————————————— 扩容交换分区 ——————————————————
[root@server-1 ~]# free -m
查看交换分区信息
[root@server-1 ~]# swapon -s
建一个分区出来
[root@server-1 ~]# fdisk /dev/sdc
刷新分区表
[root@server-1 ~]# partprobe /dev/sdc
查看分区表内容
[root@server-1 ~]# ll /dev/sdc*
初始化分区
[root@server-1 ~]# mkswap /dev/sdc1
查看UUID
[root@server-1 ~]# blkid /dev/sdc1
制作开机挂载
[root@server-1 ~]# vi /etc/fstab
/dev/sdc1 swap swap defaults 0 0
激活swap分区(读取/etc/fstab)
[root@server-1 ~]# swapon -a
查看交换分区
[root@server-1 ~]# swapon -s
———————————————————————————————————————————
Linux硬链和软链的区别在于,硬链创建了指向文件实际数据的新的文件名,而软链则创建了一个指向另一个文件名的链接文件。硬链接的文件名和文件内容是绑定在一起的,删除任何一个都会造成文件不完整,而软链接只是一个指向其他文件的文件名,删除链接文件不会影响实际的文件,因此软链接更加灵活。
———————————————————————————————————————————
#查看磁盘设备 lsblk
#查看磁盘分区信息 fdisk -l /dev/sdb
#两种格式: MBR GPT
#针对MBR格式,创建分区 fdisk /dev/sdb
m 查看帮助
n 新建分区
p 新建主分区(打印分区信息)
e 创建扩展分区
l 创建逻辑分区
w 保存退出
#更新刷新磁盘分区表,不用重启 partprobe /dev/sdb
#转格式 parted -s /dev/__分区表名___ mklabel __(gpt,msdos)___
#安装分区工具 yum -y install gdisk
#查看分区信息 gdisk -l /dev/__表名___
#格式化文件系统类型
ext4格式 : mkfs.ext4 /dev/____
xfs格式 : mkfs.xfs /dev/____
#磁盘挂载
创建挂载目录 :mkdir /mnt/______
mount /dev/__需要挂载的磁盘___ /mnt/__挂载的目录__/
#查看磁盘挂载与磁盘使用空间 df -Th
#取消挂载
umount /mnt/_____/
强行卸载即使目录被进程占用 umount -l /mnt/___/
#fstab开机自动挂载
查看uuid和文件系统类型 blkid /dev/____
改配置文件 vi /etc/fstab
第1列:挂载设备
第2列:挂载点(挂载目录)
第3列:文件系统类型(xfs,ext4)
第4列:文件系统属性(defaults)
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查
#自动挂载 mount -a
LVM是 Logical Volume Manager(逻辑卷管理)
PV:物理卷(Physical volume):一块硬盘,或多块硬盘
VG:卷组(Volume Group):一堆磁盘的统称
LV:逻辑卷(Logical Volume):一个逻辑分区,一个分区
###创建LVM
1.将物理磁盘转换为物理卷 -pv
pvcreate /dev/____
查看pv信息:pvscan,pvs,pvdisplay
2.创建卷组-vg
vgcreate vg1 /dev/sdc
查看卷组信息:vgscan,vgs,vgdisplay
3.创建逻辑卷 -L大小(可指定M,G) -n卷名 vg1组名
lvcreate -L +200M -n lv1 vg1
查看逻辑卷信息:lvscan
4.创建文件系统并挂载
a.创建文件系统/格式化
mkfs.ext4 /dev/vg1/lv1
/dev/卷组名/逻辑卷名
b.创建挂载点
mkdir /mnt/lv1
c.挂载
mount /dev/vg1/lv1 /mnt/lv1
5.查看挂载结果
df
###VG管理(扩大vg卷组)
1.扩大vgextend
a.创建pv
pvcreate /dev/sdd
b.扩展VG
vgextend vg1 /dev/sdd
c.查看VG
vgs
###LV扩容
1.扩大lvextend
1.1 lv扩容
a.查看VG空间 vgs
b.扩容LV lvextend -L +200M /dev/vg1/lv1
1.2 FS扩容
a.先观察文件系统容量 df -Th
b.#xfs扩容 xfs_growfs /dev/vg1/lv1
#ext4扩容 resize2fs /dev/vg1/lv2
c.查看FS df -Th
请注意对比,之前的输出结果,文件系统的大小发生改变。
###交换分区管理 Swap
A.swap分区大小设置规则:
大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。
B.交换分区管理的作用:提升内存的容量,防止OOM(OutOfMemory)内存不足
1.查看当前的交换分区 free -m
查看交换分区信息 swapon -s
2.增加交换分区:
a.准备分区
分一个主分区 fdisk /dev/sde
刷新分区表 partprobe /dev/sde
查看分区表信息 ll /dev/sde*
b.格式化
初始化 mkswap /dev/sde1
c.挂载
swapon /dev/sde1
3.验证
free -m
❀RAID 独立磁盘冗余阵列 数据安全性
❀linux系统启动流程
❀重定向
❀周期性计划任务和任务调度
❀进程管理
❀用户提权
❀文件系统-软连接、硬链接
❀日志管理
❀部署网上商城ecshop
一、基础环境设置
[root@server-1 ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config [root@server-1 ~]# setenforce 0 [root@server-1 ~]# systemctl stop firewalld.service [root@server-1 ~]# systemctl disable firewalld.service
二、安装LAMP
[root@server-1 ~]# yum -y install httpd mariadb-server mariadb php php-mysql gd php-gd [root@server-1 ~]# systemctl start httpd mariadb [root@server-1 ~]# systemctl enable httpd mariadb #设置数据库登录的密码 [root@server-1 ~]# mysql_secure_installation Enter current password for root (enter for none): #回车 Set root password? [Y/n] Y #输入你要设置的密码 New password: Re-enter new password: 疯狂:Y
三、Apache配置虚拟主机
[root@server-1 ~]# cat >> /etc/httpd/conf.d/ecshop.conf<<-EOF <VirtualHost *:80> ServerName www.yzp.ecshop.com ServerAlias ecshop.com DocumentRoot /www/shop </VirtualHost> <Directory "/www/shop"> Require all granted </Directory> EOF
配置完成后重启Apache服务器 : systemctl restart httpd
导入ecshop网站源码(需提前下载ecshop源码包):
[root@server-1 ~]# mkdir -p /www/shop/ #创建发布目录 [root@server-1 ~]# unzip ECShop_v3.6.0_UTF8_release170921.zip [root@server-1 ~]# cp -rf ECShop_v3.6.0_UTF8_release170921/* /www/shop/ #修改网站目录权限 [root@server-1 ~]# chown -R apache.apache /www/shop/
四、配置域名解析:
在wind电脑上面打开C:\Windows\System32\drivers\etc\hosts文件。可以用管理员身份打开
修改php.ini时区:
[root@server-1 ~]# vim /etc/php.ini
[root@server-1 ~]# systemctl restart httpd #重启服务
五、输入域名进行测试:
1.进行安全配置
2.配置完权限后,页面拉到最下面点击重新检查
3.配置系统
4.刷新页面
5.因需要注册后才能激活系统,出现这个页面即可
❀部署论坛系统Discuz!
一、基础环境
[root@server-1 ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config [root@server-1 ~]# setenforce 0 [root@server-1 ~]# systemctl stop firewalld.service [root@server-1 ~]# systemctl disable firewalld.service
二、安装LAMP
[root@server-1 ~]# yum -y install httpd mariadb-server mariadb php php-mysql gd php-gd [root@server-1 ~]# systemctl start httpd mariadb [root@server-1 ~]# systemctl enable httpd mariadb #设置数据库登录的密码 [root@server-1 ~]# mysql_secure_installation #输入你要设置的密码 New password: Re-enter new password: Remove anonymous users? [Y/n] y #疯狂Y
三、创建虚拟主机
[root@server-1 ~]# cat >> /etc/httpd/conf.d/discuz.conf<<-EOF <VirtualHost *:80> ServerName www.yzp.discuz.com ServerAlias discuz.com DocumentRoot /www/discuz </VirtualHost> <Directory "/www/discuz"> Require all granted </Directory> EOF [root@server-1 ~]# systemctl restart httpd [root@server-1 ~]# mkdir -p /www/discuz/ #导入discuz源码 [root@server-1 ~]# unzip Discuz_X3.4_SC_UTF8.zip [root@server-1 ~]# cp -rf upload/* /www/discuz/ 修改网站目录权限 [root@server-1 ~]# chown -R apache.apache /www/discuz/
四、登录数据库,创建数据库
# 登录数据库,创建数据库 [root@server-1 ~]# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 11 Server version: 5.5.68-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database ultrax; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> \q
五、配置域名解析:
在wind电脑上面打开C:\Windows\System32\drivers\etc\hosts文件。可以用管理员身份打开
六、通过域名进行访问
点击下一步安装完成