Linux文件系统
Linux文件系统79页Linux使用树形文件存储结构,在磁盘上存储文件的时候,使用的是目录加文件的形式。文件系统+虚拟文件系统VFSLinux支持不同的文件系统,包括ext2,ext3,ext4,zfs,iso9660,vfat,msdos,smbfs,nfs等。
超级块:文件系统的总体信息,是文件系统的核心 (存在多个超级块)
i节点:存储所有与文件有关的元数据,所有者,权限等属性数据
数据块:真是存放文件数据的部分
目录快:文件名和文件在目录中的位置
磁盘分区、创建文件系统、挂载磁盘分区分为两类:主分区和扩展分区
创建文件系统fdisk 创建分区,格式化文件系统mkfs -t ext3 /dev/sdb1 或者 mkfs.ext3 /dev/sdb1 两个命令hi一样的。
磁盘挂载mount 挂载设备后文件系统的分区才能使用mount /dev/sdb1 newdisk # 挂载到newdisk目录下mount # 没有参数的mount会显示所有挂载
启动自动挂载/etc/fstab 开机自动挂载磁盘,将/dev/sdb1挂载到/r ...
Linux进程管理
Linux进程管理108页
Linux用户管理
Linux用户管理Linux用户按照使用方式分为三种:一是跟用户,二是系统用户,三是普通用户
新增删除用户新增用户useradd用于添加新的用户,通常情况下在该命令后跟上新增的用户名,比如useradd john即可。后台创建步骤:
一般会在/etc/passwd和/etc/shadow末尾追加一条记录,同时分配给该用户一个UID
为该用户创建家目录,创建路径在/home目录中
复制/etc/skel下所有文件至家目录中
创建一个与该用户名一样的用户组,示例中创建john的用户时也会同时创建john的用户组
创建用户其他参数: -u -g -d
123[root@localhost ~]# useradd -u 555 user1 #系统指定分配一个UID,该UID不能与其他用户冲突[root@localhost ~]# useradd -g user1 user2 #创建用户user2时 指定用户所属group是user1[root@localhost ~]# useradd -d /home/mydir user3 # 创建user3时指定家目 ...
Linux下fail2ban
fail2ban简介Fail2Ban 是一款入侵防御软件,可以保护服务器免受暴力攻击。 它是用 Python 编程语言编写的。Fail2Ban 基于auth 日志文件工作,默认情况下它会扫描所有 auth 日志文件,如 /var/log/auth.log、/var/log/apache/access.log 等,并禁止带有恶意标志的IP,比如密码失败太多,寻找漏洞等等标志。通常,Fail2Ban 用于更新防火墙规则,用于在指定的时间内拒绝 IP 地址。 它也会发送邮件通知。Fail2Ban 为各种服务提供了许多过滤器,如 ssh、apache、nginx、squid、named、mysql、nagios 等。Fail2Ban 能够降低错误认证尝试的速度,但是它不能消除弱认证带来的风险。
安装fail2ban12345678910[root@localhost ~]# yum -y install epel-release[root@localhost ~]# yum -y update[root@localhost ~]# yum -y install fail2ban-firewal ...
CentOS开机优化脚本
CentOS 7 开机优化脚本配置参考CentOS 7系统优化脚本主要实现系统的各类优化,比如常用的修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等功能。将其保存为init.sh,然后赋予执行权限后执行即可。chmod +x init.sh && ./init.sh源码如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491 ...
Cisco路由器access-list访问控制
什么是ACL?访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等。这张表中包含了匹配关系、条件和查询语句,表只是一个框架结构,其目的是为了对某种访问进行控制。list number的范围在0~99之间,这表明该access-list语句是一个普通的标准型IP访问列表语句。
华为默认最后未被匹配的路由都permit ,思科 默认最后都未被匹配的路由是deny
标准型IP访问列表的格式—- 标准型IP访问列表的格式如下:—- access-list[list number][permit|deny][source address][address][wildcard mask][log]—- 下面解释一下标准型IP访问列表的关键字和参数。首先,在access和list这2个关键字之间必须有一个连字符”-“;
允许指定特定的主机,可以增加一个通配符掩码0.0.0.0或者使用host(host代表通配符),any则代表所有的
1234567891011121 ...
Linux下awk命令
Linux下awk基本命令
文本操作Linux 文本操作的三大神器:grep、sed、awk,各自的最佳应用场景:
grep:使用正则表达式搜索文本,并把匹配的行打印出来,是强大的文本搜索工具;
sed:用于编辑匹配到的文本,是一种流编辑器;
awk:能够对文本进行复杂的格式处理,是一种处理文本的语言。
awk使用方法
命令行方式
shell脚本方式
将所有的awk命令插入一个单独文件,然后调用:
https://blog.csdn.net/qq_15245487/article/details/100144279
awk 基本操作awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。通常,awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。
基本命令格式:awk ‘{pattern + action}’ {filenames}pattern表示在数据中要查找的内容,action表示要 ...
Linux免密登录
免密登录命令:
12345678# 1.进入.ssh目录: cd ~/.ssh# 2.生成一对密钥: ssh-keygen -t rsa# 3.发送公钥:ssh-copy-id 192.168.xx.xxx# 4.免密登录测试: ssh 192.168.xx.xxx
免密登录原理免密登录原理通过RSA公开密钥算法的一种应用。RSA是公开密钥密码体制的一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制(非对称加密) 。在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的。
通俗的来说就是同时生成公钥和私钥,私钥自己保存,公钥发给其他人。
配置ssh进入.ssh目录,生成密钥ssh-keygen -t rsa
123456[root@localhost ~]# cd .ssh/#生成一对密钥,使用rsa通用密钥算法,这时需要有三次回车;[root@localhost .ssh]# ssh-keygen -t rsa[root ...
Linux安装配置NFS
两台CentOS7虚拟机,分别记为A(服务端10.128.0.96) B(客户端192.168.0.101)
服务端安装nfs在A服务端安装对应nfs服务,并修改对应端口
1234567891011121314[root@localhost ~]# yum -y install rpcbind nfs-utils[root@localhost ~]# vi /etc/sysconfig/nfs # 设置各种*port=...参数# TCP port rpc.lockd should listen on.LOCKD_TCPPORT=32803# UDP port rpc.lockd should listen on.LOCKD_UDPPORT=32769 # Port rpc.statd should listen on.STATD_PORT=662# Outgoing port statd should used. The default is port# is randomSTATD_OUTGOING_PORT=2020
开机自启设置开机启动并启动对应服务
1234567891011 ...
Linux的CPU占用过高
某台服务器上的一个应用总是隔一段时间就自己挂掉 用top看了看 从重新部署应用开始没有多长时间CPU占用上升得很快参考:https://www.cnblogs.com/you-men/p/13382659.html
排查步骤123456789101112# 1.使用top 定位到占用CPU高的进程PIDtop# 2.通过ps aux | grep PID命令获取线程信息,并找到占用CPU高的线程ps -mp pid -o THREAD,tid,time | sort -rn# 3.将需要的线程ID转换为16进制格式printf "%x\n" tid# 4.打印线程的堆栈信息 到了这一步具体看堆栈的日志来定位问题了jstack pid |grep tid -A 30
案例TOP查看进程top可以看到PID733进程的占用172%
获取线程信息查找进程733下的线程 可以看到TID 线程775占用了96%且持有了很长时间 其实到这一步基本上能猜测到应该是 肯定是那段代码发生了死循环ps -mp 733 -o THREAD,tid,time | sort -rn
线程ID ...