LINUX学习笔记--redhat为学习环境


TCP/IP网络配置文件:
IP配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
多块网卡则多个文件:ifcfg-eth0,ifcfg-eth1...
网络接口的启动脚本内容实例:
#设备名
DEVICE=eth0
#启动时是否激活
ONBOOT=yes
#工作方式 static or dhcp
BOOTROPOTO=static
#硬件地址,如果使用dhcp则全有此,如为static则不需要这个配置项
HWADDR=00:0C:29:E0:81:DF
#IP地址
IPADDR=192.168.1.10
#子网掩码
NETMASK=255.255.255.0
#网关
GETWAY=198.168.1.1
#网段
NETWORK=192.168.1.0
#广播地址
BROADCAST=192.168.1.255
#网络类型
TYPE=Ethernet

网关配置文件
/etc/sysconfig/network
网络基本信息配置内容实例:
#是否工作
NETWORKING=yes
#机器名,可自己定义
HOSTNAME=localhost.localdomain
#网关,可自己定义
GETWAY=192.168.1.1

域名解析
/etc/host.conf
此文件是系统本地的主机名解析数据库
内容实例:

127.0.0.1           localhost.localdomain      localhost
192.168.1.10        mylinux

机器名
/etc/hosts
此文件用来指定如何解析主机名,可用选项包括:
order:设置主机名解析的可用方法及 顺序,可用方法包括hosts(使用/etc/hosts文件进行解析)、bind(使用DNS服务器解析)、nis(使用网络信息服务NIS解析)。
multi:设置是否从/etc/hosts文件中返回主机的多个IP地址,取舍为on/off。
内容实例:
order host,bind



路由
/etc/resolv.conf
此文件是DNS域名服务的客户端配置文件
内容实例:
nameserver 202.96.128.166
nameserver 202.96.134.133
search localdomain

服务端口
/etc/services
此文件用来设置网络服务默认使用的TCP或UDP端口
文件内容实例:
#service-name   port/protocol   [aliases...]   [#comment]
tcpmux          1/tcp      
tcpmux          1/udp 
--More--

将动态分配IP修改为指定IP方法:
一般来说作为服务器IP设置为静态的,如果你希望将动态分配修改为指定方式则可用以下步骤:
方法1:立即使IP生效,使用如下命令
#ifconfig eth0 192.168.1.11 netmask 255.255.255.0 up
方法2:修改配置文件
1、修改/etc/sysconfig/network-scripts/ifcfg-eth0相关内容:
将BOOTROPOTO=dhcp修改为BOOTROPOTO=static
将HWADDR=00:0C:29:E0:81:DF修改为IPADDR=192.168.1.11
增加NETMASK=255.255.255.0
2、重启网卡,使修改生效
#service network restart
就可以测试了
如果需求其他相应文件也可进行修改

配置虚拟IP
在同一台机器上绑定多个IP(一块网卡)
使用命令:
#ifconfig eth0:0 192.168.1.11 netmask 255.255.255.0 up
#ifconfig eth0:1 192.168.1.11 netmask 255.255.255.0 up
停止一个IP的作用:
#ifconfig eth0:0 down
此操作同样也可以通过配置文件进行,只需要将/etc/sysconfig/network-scripts/ifcfg-eth0复制一份为/etc/sysconfig/network-scripts/ifcfg-eth0:0并对复制出来的文件进行IP进行相应修改,再次重启网卡就可以了。


基本网络配置命令:
查看网卡信息和配置TCP/IP网络
ifconfig
指定机器名:
hostname
启动网卡
ifup
停止停止网卡
ifdown

ifconfig可查看的参数:
RUNNING         接口正在运动
BROADCAST       支持广播IP寻址方式
MULTICAST       支持多播IP寻址方式
LOOPBACK        表示本地回环设备接口
MTU             此接口所能传输的最大frame数
Metric          此接口的Metric数,胜于引导路由决策
Bcast           广播地址,通常是网络的最后一个IP地址
Mask            子网掩码
RX packets      接收的封包总数、错误数、遗失和溢流数
TX packets      发送的封包总数、错误数、遗失和溢流数
colisions       冲突数
txqueuelen      指出网络接口可以存储的数据包的个数
RX bytes        与RX packets类似,表示接收的具体字节数
TX bytes        与TX packets类似,表示发送的具体字节数
interrupt       网卡使用的中断(IRQ)
Base address    网卡使用的内存地址


route   
查看路由
route -n
添加路由
route add -net netaddr netmask gw ipaddr dev
设置默认网关
route add default gw ipaddr
删除一路由条目
route del -net netaddr netmask gw ipaddr dev

其他命令:
查看经过了哪些路由:
traceroute
查看与网络状态的相关信息:
netstat
查看163.com 所用使用的服务器:
curl --head 163.com

进程管理

进程分类:
交互进和
批处理进程
守护进程


进程的启动方式:

手动启动:
   前台启动
   后台启动
调度启动

查看进程命令

ps -aux
top

控制进程命令

kill     pid
killall  进程命令名
nice
fg将后台运动的进程放到前台
ctrl+z挂起进程
bg将前台运动的进程放到后台
jobs查看被挂起的进程


守护进程

分为两类:
系统守护进程
网络守护进程
具体的进程有很多

设置哪些进行为系统启动时的守护进程使用命令:
ntsysv
setup
chkconfig * on
chkconfig --list
chkconfig --level 服务名 35 on
运行级别设置,在下面的文件中设置
/etc/inittab


剖析日志系统

syslogd的配置文件及其语法


/etc/syslog/conf规定了系统中需要监视的事件和相应的日志的保存位置
cat /etc/syslog.conf
#Log allkernel messages the console
#Logging much else clutters uo the screen
#kern.*                                  /dev/console
#将info或更高级别的消息送到/var/log/messages,
#除了mail/news/authpriv/cron以外。
#其中*是通配符,代表任何设备;none表示不对任何级别的信息进行记录。
*.info;mail.none;news.none;authpriv.none;cron.none             /var/log/messages
#将authpriv设备的任何级别的信息记录到/var.log.secure文件中,
#这主要是一些和认证、权限使用相关的信息。
authpriv.*                              /var/log/secure
#将mail设备中的任何级别的信息记录/var/log/maillog文件中,
#这主要是和电子邮件相关的信息。
mail.*                                 -/var/log/maillog
#将cron设备中的任何级别的信息记录到/var/log/cron文件中,
#这主要是和系统中定期执行的任务相关的信息
cron.*                                /var/loglcron
#将任何设备的emerg级别或更高级别的消息发送级所有正在系统上的用户。
*.emerg
#将uucp和news设备的crit级别或更高级别的消息记录到/var/log/spooler文件中。
uucp,nes,crit                        /var/log/spooler
#将和本地系统启动相关的信息记录到/var/log/boot.log文件中。
local7.*                             /var/log/boot.log
#将news设备的crit级别的消息记录到/var/log/news/news.err文件中
 news.=crit                          /var/log/news/news.crit
#将news设备的err级别的消息记录到/var/log/news/news.err文件中
 news.=err                           /var/log/news/news.err
#将news设备的notice或更高级别的消息记录到/var/log/news/news.notice文件中
news.notice                          /var/log/news/news.notice

syslogd语法
此配置文件的每一行的格式如下:
facility.priority            action
设备名.级别                  动作

Syslogd设备字段名可取值

authpriv              报告认证活动正常,口令等私有信息不会被记录       
cron                  报告与cron和at有关的信息
daemon                报告与xinetd有关的信息
kern                  报告与内核有关的信息
lpr                   报告与打印服务有关的信息
syslog                由syslog生成的信息
user                  报告由用户程序生成的任何信息
uucp                  由uucp生成的信息
mail                  报告与邮件服务有关的信息
news                  报告与网络新闻服务有关的信息

syslogd级别字段可取值

alert                 需要立即引起注意的情况
crit                  危险情况的警告
err                   除了emerg,alert,crit的其他错误
warning               警告信息
notice                需要引起注意的情况
info                  值得报告的消息
debug                 由于debug模式的程序所产生的消息
none                  用于禁止任何消息
*                     所有级别,除了none
emerg                 出现紧急情况使得系统不可用


syslogd动作字段
file                 指定一个绝对路径的日志文件名记录日志信息
username             发送信息到指定用户,*表示所有用户
device               将信息发送到指定的设备中,如/dev/console
@hostname            将信息发送到可解析的远程主机hostname,且此主机必须正在运行syslogd并可以识别syslog的配置文件

查看系统日志

为了查看日志必须有root权限,日志一般存放在/var/log/目录下

log文件

cups/                存储CUOS打印系统的日志目录
httpd/               记录apache的访问日志和错误日志记录
mail/                存储mail日志的目录
news/                存储INN新闻系统的日志目录
boot.log             记录系统启动日志
dmesg                记录系统启动时的消息日志
maillog              记录邮件系统的日志
messages             由syslogd记录的info或更高级别的消息日志
secure               由syslogd记录的认证日志
wtmp                 一个用户每次登录进入和退出时间的永久记录
查看非文本日志(二进制文件)
strings wtmp


日志的滚动及实现方法

tail -f 日志文件名
logrotate [选项]  <configfile>

-d: 详细显示指令执行过程,便于排错或了解程序执行情况
-f: 强行启动记录文件维护操作,即使logrotate指令认为无需要亦然
-m command:指定发送邮件程序,默认为/usr/bin/mail
-s statefile:使用指定的状态文件
-v:在执行日志滚动时显示详细信息。
logrotate默认的主配置文件是/etc/logrotate.conf
/etc/logratate.d的目录下的文件,这些文件被include到主配置文件/etc/logrotate.conf中
logrotate是由crond运行的,在默认配置中,可以发现在/etc/cron.daily目录中有一个名为logrotate的文件,此文件为控制每天logrotate运行的文件。

以下是RHEL中/etc/logrotate.conf文件的一个配置样例:

   # see "man logrotate" for details
   # rotate log files weekly
   weekly

   # keep 4 weeks worth of backlogs
   rotate 4

   # create new (empty) log files after rotating old ones
   create

   # uncomment this if you want your log files compressed
   #compress
 
   # RPM packages drop log rotation information into this directory
   include /etc/logrotate.d

   # no packages own lastlog or wtmp --we'll rotate them here
   /var/log/wtmp {
   monthly
   create 0664 root utmp
   rotate 1
   }

   # system-specific logs may be configured here


cron
   cron 是一个可以用来根据时间、日期、月份、星期的组合来调度对重复任务的执行的守护进程。
   /etc/crontab 文件中的每一行都代表一项任务,它的格式是:
   minute   hour   day   month   dayofweek   command
   01 * * * * root run-parts /etc/cron.hourly
   02 4 * * * root run-parts /etc/cron.daily
   22 4 * * 0 root run-parts /etc/cron.weekly
   42 4 1 * * root run-parts /etc/cron.monthly

   minute — 分钟,从 0 到 59 之间的任何整数
   hour — 小时,从 0 到 23 之间的任何整数
   day — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)
   month — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)
   dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)
   command — 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。

  cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。如果发现了改变,它们就会被载入内存。
  /etc/cron.allow 和 /etc/cron.deny 文件被用来限制对 cron 的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许空格。如果使用控制文件被修改了,cron 守护进程(crond)不必被重启。
  无论使用控制文件中的规定如何,根用户都总是可以使用 cron。
  要启动 cron 服务,使用 /sbin/service crond start 命令。要停止该服务,使用 /sbin/service crond stop 命令。


linux启动过程
1、bios自检,检测硬件
2、启动grup/lilo
3、运行linux内核并检测硬件
4、运行init进程
5、init读取系统引导配置文件/etc.inittab
6、/etc/rc.d/rc.sysinit系统初始化脚本
7、/etc/rc.d/rcX.c/[KS]* 根据运行级别X配置服务
                         终止以K开头的服务
                         启动以S开头的服务
8、/etc/rc.d/rd.local 执行本地特殊配置
9、其他特殊服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值