Linux学习第四章

5-1-1查看系统负载命令

命令 w或命令uptime

load average :a(1分钟内系统的平均负载 ),b(5分钟内),c(15分钟内)

a:一分钟内有多少个进程使用cpu

cat /proc/cpuinfo 显示的processor的值就是cpu核数

a>核数 负载偏高

5-1-2vmstat详解

命令vmstat 1 5    1秒显示一次显示5次

r 表示一秒钟内平均多少进程使用cpu

b被阻塞的任务

swpd 交换内存  不变化 内存稳定

free 剩余内存

buff 剩余buff

cache 剩余cache

si :swap in 进入内存 不变化 内存稳定

so:swap out 从内存读出来 不变化 内存稳定

bi 进入内存 读磁盘  长期大于1000有问题

bo 从内存读出来 写磁盘

in 1秒内中断次数

cs  1秒内上下文切换

us 用户态进程占用cpu的百分比

sy内核态进程占用cpu百分比

id空闲的进程占用cpu百分比

wa等待的进程占用cpu百分比

st 被偷走的 百分比 一般都为0

重点关注 r b si so bi bo us

5-1-3top动态查看负载

命令 top

Cpu(s):us sy

PR、NI值越小 优先级越高  VIRT虚拟内存使用量  RES物理内存使用量  SHR共享内存  %Cpu  %men(内存)TIME 使用cpu时间

q(退出)

top -bn1 静态显示

top -d1 -c 一秒刷新一次

5-1-4sar命令

sar -n DEV 1 10 一秒显示一次 显示10次 查看网卡流量

rxbyt/s 进网口流量 txbyt/s 出网口流量  byt 字节

1byt=8bit

带宽=byt x8

计算使用带宽=查看的txbyt的峰值 x 8

安装sar

yum install -y sysstat

ls /var/log/sa 目录下的sa文件都是生成的历史网卡流量

sar -n -DEV -f  /var/log/sa/sa20 查看sa20当天的网卡流量

sar -q 查看历史负载

sar -b 查看磁盘

sar 查看cpu

5-1-5free查看内存

free  以k为单位

free -m 以兆为单位 -g 以g为单位

buffers 缓冲  速度比磁盘快 比cpu慢

cached 缓存空间大小

5-1-6ps查看进程

ps aus

ps -elf

vsz 虚拟内存使用量 RSS 物理内存 TTY 从哪里启动 ?是后台的  COMMAND 进程名字

STAT 表示进程状态 S休眠 s主进程  <优先级比较高 N优先级比较低  +前台运行的进程  R 运行  L被锁 l多线程进程 Z僵尸进程 X死掉的进程  T 暂停的进程 D 不能中断的进程

ps aux  |grep php 查看php进程有没有启动

5-1-7netstat查看网络端口

netstat -lnp 查看监听窗口

netstat -an 查看状态

|grep 过滤

|grep -ic 过滤并统计数量

5-1-8抓包工具tcpdump和tshark

安装tcpdump

yum install tcpdump

抓包 tcpdump -nn -c 100 抓100个包

tcpdump -nn -i eth1 抓eth1网卡, 不加-i默认抓eth0

tcpdump -nn port 22 只抓22端口的通信

加上tcp、ip等等也行 两者用and 连接

-w 1.cap 把抓到的包的内容放入文件1.cap中

tcpdump 查看的ip是一个流向 -w是包的内容

tcpdump -nn -s0 抓到完整的包

安装tshark

yum install -y wireshark

tshark 功能复杂 命令复杂

5-1-9selinux介绍

防火墙(有兴趣可以加深研究)

cat /etc/selinux/config 配置文件

selinux关了对linux安全影响不大,开着可能会出现各种报错

enforcing 完全打开

permissive 打开但不阻拦不报错

disabled 关闭

getenforce 查看状态

若selinux为enforcing状态 可使用setenforce 0关闭

setenforce 1开启

5-2-0iptables详解-1

netfilter 防火墙     工具 iptables 表 filter、nat、mangle  链chain

iptables -t filter -nvL 查看filter表下的链、规则

-I 写入规则 例如 iptables -t filter -I INPUT -p tcp --dport 80 -s 114.245.31.22 -j reject  进入INPUT链禁止80端口来源ip为114…地址的访问,拒绝这个包

-D删除规则

-A与-I类似 -I优先生效

iptables 不加-t默认进入filter表

三种处理方法- j reject、accept、drop

5-2-1 iptables详解-2

iptables -Z 把表内的规则的数据清零 pkts和bytes

iptables -F 清空表内规则

service iptables save 保存规则 重启后也不会丢失

iptables-save  >1.ipt指定保存在1.ipt文件中

iptables-restore  < 1.ipt 恢复

5-2-2iptable 详解-3

表 filter nat mangle

nat 网络地址转换 类似路由器

mangle 给数据包打标记 然后根据标记操作包

5-2-3iptables详解-4

chain主要用INPUT

-I 插入,规则最上,优先级最高

-A增加 ,规则最下,优先级最低

-D删除

policy 链的总开关

-P 修改policy 例如 -P INPUT ACCEPT

5-2-4cron计划任务

crontab -l 查看任务计划

crontab -u user -l 查看user用户的任务计划

crontab -e 进入编写计划

时间、脚步、命令

* * * * *:min hour day mon week

*/5 * * * * 每天每隔5分钟执行一次

30 1,12,18 * * * 每天1点30分、12点30分、18点30分执行

crontab文件位置  /var/spool/cron/用户名

5-2-5系统服务

yum install -y ntsysv

ntsysv调整服务程序启动

空格选择是否

tab键切换到确定或取消栏

chkconfig --list 查看所有程序状态 在后面加程序名,只看单个程序状态

chkconfig 程序名 on 全部级别开启

chkconfig 程序名 off 全部级别关闭

chkconfig --level 345 用户名 on   开启3、4、5级别

自己写启动脚步加入系统的服务列表

服务列表 /etc/init.d/

chkconfig --add 程序名 添加服务程序 --del 删除

5-2-6linux日志

核心日志 /var/log/messages

cat/etc/logrotate.conf  进入日志切割的配置文件

weekly 每周切割

rotate 4 保留4个

create 生成新的

dateext 以日期命名

compress 没打开的 如果打开了会对日志进行压缩

ls /etc/logrotate.d/

cat /etc/logrotate.d/syslog 进入日志切割的配置文件

postrotate 切割完成后进行的操作

kill -9 pid 强制性杀死进程pid

ls /var/log/wtmp 查看用户登录历史的日志

last  进行查看

/log/ btmp 无效的登录历史日志

lastb 进行查看

/log/maillog 关于邮件日志

/log/secure 关于验证相关

/log/dmesg 关于硬件

dmesg也是一个命令 查看硬件信息

5-2-7xarg和exec详解

有类似功能

管道

find /var/log/ -type f -mtime +10 -exec cp {}{}.bak\; 把log目录下超过10天的文件找出 并拷贝成bak格式 原文件保留

-exec 改为|xargs -i cp{} {}.bak结果一样

|xarg -i和-exec 承接前一指令的结果执行下一指令

5-2-8screen命令

nohup 表示命令不会中断 生成nohup.out文件 收集进程的信息体制 让进程一直在后台运行

nohup +指令

screen 与nohup相似

yum install -y screen

screen 回车   创建了虚拟终端

top 回车  执行top指令

ctrl a+d 暂时退出,后台运行

screen -ls 查看到在后台跑的screen和screen id号

ctrl d 或者esc 断开screen进程

screen -r +id号 进入指定的screen进程

可以连续创建screen

screen -S A 回车  创建的screen名为A

5-2-9curl命令

访问外部 访问网站 下载文件 类似wget指令

curl -I www.aminglinux.com 省略源代码访问页面

HTTP/1.1 200 ok 200是状态码 常见状态码200,301,302,502等等

curl -x 代理

curl -O +地址   下载     -o A 改名为A

curl -Iv +网页 详细给出访问步骤与信息

curl -u username:password +网址 访问需要密码的网页

5-3-0rsync格式

同步数据 拷贝数据  支持网络通信远程拷贝

远程ip A 本地ip B

rsync -av A:/tmp/1.txt  /tmp/把远程1.txt拷贝到本机tmp

rsync -av /tmp/1.txt   A:/tmp/把本地的1.txt拷贝到远程地址A的tmp目录下

:通过sshd协议传输

::或:// 通过daemon 启动服务监听一个端口 让客户端去连本地

rsync -av A::模块名/tmp/1.txt   /tmp/  用法用能与:一致

5-3-1rsync常用选项

5-3-2rsync选项详解

rsync -av 111/   /tmp/322/  把本地111目录下所有文件同步到322目录 记得加/

-avL 同步源文件

命令diff  对比文件差异

-avL --delete 保证两个地址同步 一模一样

-avLu 修改后不同步

-avLu --exclude=“a” 除了a文件不同步

-avLuP 显示很多同步信息

-avLuPz  压缩再拷贝 速度快 带宽小

5-3-3rsync同步之ssh隧道方式

本机到远程

ssh默认走22端口

-avPz -e “ssh -p 10022” 指定走10022端口同步

telnet +ip +端口号 查看端口是否开启 按ctrl+】 再打quit 退出

5-3-4rsync后台服务方式-1

后台服务方式

写配置文件 放在etc下 启动后监听一个端口 客户端和服务端就能通信

vim /etc/rsyncd.conf

port=8730(默认873)

log file=/var/log/rsync.log

pid file=/var/run/rsync.pid

[aming]   模块名

path=/tmp/rsync

use chroot=yes

max connections=4

read only=yes

list=yse

uid=root

gid=root

auth users=aming

secrets file=/etc/rs.passwd

host allow=192.168.11.190  允许哪些客户端连接

还可以继续增加模块…

退出后要写密码

vim /etc/rs.passwd

aming:123aaa 左边用户名右边密码

chmod  400 /etc/rs.passwd 更改密码的权限不可写只可读

rsync --daemon  启动

ps aux |grep rsync

netstart -lnp 查看port

cat /var/log/rsync.log 查看日志

验证 数据拷贝

rsync -avzP  [email protected]::aming/1.txt    ./     将16的模块下1.txt同步到当前目录,默认端口873,不通就指定端口 -aczP --port 8730

输入密码 123aaa

完成远程拷贝

5-3-5后台服务方式-2

rsync -avzP --port 8730  /tmp/  111  /  [email protected]::aming/ 本地111目录传输到远程16地址的aming模块下的目录 端口8730

输入密码123aaa

提示read only 就修改配置文件里的read only

命令ln -s a b 把a建立一个软链接到b  源文件是a

-avzPL 只传输源文件

把配置文件use chroot改为no,就不限制软连接的传输

list 是否是允许查看模块名

可以设置不需要密码就连通网络传输

时间: 2024-10-02 12:44:39

Linux学习第四章的相关文章

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

Linux学习第四节课-文件管理基本概念及相关部分指令

Linux学习第四节课 --------------------------------------------------------------------------------------------------------------------------------------------------------------------- 十九.文件管理基本概念 文件和目录被组织成一个单根倒置树结构: 文件系统从根目录开始,用/表示: 根文件系统(rootfs):root file

学习第四章Android移植环境搭建心得体会

在第四章我先学习如何搭建嵌入式交叉开发环境,包括交叉编译环境,各种服务程序和应用程序的安装,配置和使用.驱动目标必须先做好Bootloder,操作系统内核及文件系统,介绍Bootloder的概念及U_boot的编译和移植的方法,在实践的过程中我了解了安卓系统下linux内核的相关知识,然后学会了内核编译和移植的方法. 安卓基于Linux操作系统,由硬件,系统内核,系统服务和应用程序四大部分组成.安卓内核和标准的Linux内核一样,主要实现内存管理,进程调度,进程间通信等功能.说到移植,就是把程序

汇编学习第四章

在第四章,通过前面的学习,我们已经了解了汇编语言的基本知识,现在我们开始学习编写汇编程序. (一)源程序   一个源程序从写出到执行需要三步: 编写:通过文本编辑器用汇编语言写出程序的文本文件 编译连接:通过汇编编译程序将文本文件编译成目标文件,再用连接程序连接,生成可执行文件 执行:即执行上一步生成的可执行文件 源程序中包含两种指令,一种是汇编指令,一种是伪指令.汇编指令是指可以被编译为机器指令的指令,由CPU执行,而伪指令没有对应机器码,由编译器执行. 源程序的基本格式: assume 段寄

Java基础知识二次学习--第四章 异常

第四章 异常处理 时间:2017年4月26日11:16:39~2017年4月26日11:28:58 章节:04章_01节 04章_02节 视频长度:20:46+01:16 内容:异常的概念 心得: Java异常是JAVA提供的用于处理程序中错误的一种机制 实在运行的过程中发生的一些异常事件(比如除0溢出,数组越界,要读取的文件不存在) 设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果 JAVA程序的执行过程中 如果出现异常事件,可以生成异

学习第四章与第五章的感悟

从第四章开始接触类与对象,了解类的定义,类包括标准类和用户自定义类,通常我们用的都是用户自定义类,在类中可以定义构造器,一个类中最少可以定义一个构造器,构造器与类同名,构造器有一个或多个参数,构造器没有返回值,伴随着new操作一起调用: 类具有三个特性:封装性.多态性.继承性:并且Java允许重载任何方法,不只是构造器方法,如果有多个方法,相同的名字,不同的参数,这样的方法叫做重载:如果在构造器中没有显式的赋初值,会给数值型默认赋值为0,对象引用为null,布尔为false. 在类的继承性中,子

Linux学习笔记(四)账号管理之管理用户账号

1.管理用户账号:每一个登录Linux操作系统的用户在系统中都应该有其对应的注册账号,这些账号记录了用户的信息,如用户名.登录口令.用户目录所在位置.所用的shell.建立时间.权限等信息.其中用户账号管理包括:添加用户.设置口令.删除用户,修改用户属性和权限等.因此,账号管理是系统管理员重要的日常工作之一. (1).添加用户:其中超级用户的账号在Linux系统安装时已经创建了,即root用户,但超级用户的权限太大不适合给普通用户使用,否则会对Linux系统安全造成威胁:因此,所有要使用Linu

Linux学习笔记四

第五单元 ##########################用户操作命令################# (一)id的使用 id用户名##查看用户信息 id -u###用户uid(userid) -g###用户gid(初始组的id,只有一个) -a###用户所有信息 -G###用户所有组的id(包括大学,linux组等) -un###用户名字 -gn###用户初始组名称 -Gn###用户所在所有组名称 执行vim /etc/login.dafs,可知用户的uid默认的是1000! 运行情况是

tcp/ip协议学习 第四章 ARP:地址解析协议

派猴子来的救兵 关于ARP的RFC文档在此! ARP干嘛的 曾经有段时间, 六七年前了吧. 本科的时候, 流行了一阵子ARP病毒攻击, 导致整个局域网都不能上网了. 当时只听说这个东西防不住, 只要有一个人中毒, 就导致所有人上不了网. 现在也终于知道这是怎么回事了, 也能手工让某个同学上不了网了, 咳咳. 大家应该也都知道ARP是干嘛的, 我再啰嗦一下.. 比如我访问了百度, 百度回了包给我, 百度只知道我的IP是什么,不知道我的MAC地址. 这个包到网关的时候, IP这一层再把数据交给下一层