linux学习笔记一

#系统管理篇

系统的启动过程

Firmware(POST)

硬件加电自检。BIOS+CMOS

MBR(Bootloader GRUB)   

读取MBR里的内容GRUBGRUB根据/boot/grub/grub.conf配置文件,选择要引导的操作系统。

Kernel

装载kernel,加载设备驱动模块,并启动第一个系统进程initinitPID=1

init (/etc/inittab)

init根据配置文件/etc/inittab,读取initdefault指定的运行级别。

rc.sysinit 

然后加载rc.sysinit(系统初始化脚本),对系统环境变量、语言环境及字体进行设置,检查文件系统。并生成启动日志。

rcN.d

加载initdefault中指定的运行级别相对应的系统服务,N=0-6

Userlogin

系统初始化完成后,提示用户登录系统

#系统启动相关的重要文件和目录

inittab 解析

格式:id:runlevels:action:process

id 表示一个配置的标识,可以理解成一个配置的名字,有1-4个字符组成。

runlevels 指定该配置在哪些级别里运行。可以是单个运行级别,也可是一个列表。

action 描述记录将执行哪种类型的动作。其值如下:

1、initdefault 设定缺少运行级别,proess将被忽略。

2、sysinit 指定进程在系统启动时在任何bootboot wait类进程之前运行,runlevel将被忽略。

3、wait 指定进程在进入指定运行级别后运行一次,init进程将等待其结束。

4、Ctrlaltdel 设定组合键功能

5、respawn 指定进程在结束后会重新启动运行。

Process 设定启动进程所执行的命令

/etc/init.d

/etc/init.d 目录里存放的是系统安装的所有服务的启动脚本。

/etc/rc.d

/etc/rc.d 目录里存放了rc0.d-rc6.d目录,以及rc.sysinit文件。rc.sysinit是系统缺省服务启动脚本

/etc/rc.d/rc.sysinit

这个文件主要是设置系统的环境变量,语言环境,字体,生成启动日志,检查文件系统。

/etc/rc0.d-rc6.d

/etc/rc0.d-rc6.d目录中存放的是每个对应的运行级别中要运行的服务启动脚本。

服务启动脚本命名规则

S+数字开头的脚本名文件表示在此运行级别中会运行

K+数字开头的脚本名文件表示在此运行级别中不运行

SK均为大写。文件名后面的数字表示启动顺序。

/boot/grub/grub.conf

default=0  #指定默认的启动系统。Default的菜单项序号从0开始。

timeout=5 #指定选择引导系统的等待时间。5表示等待5

splashimage=(hd0,0)/grub/splash.xpm.gz #指定GRUB的背景图片,图片分辨率为640X480。(hd0,0)第一个磁盘的第一个主分区

Hiddenmenu#设置隐藏GRUB引导界面

Password --md5  md5pass  #设置锁定GRUB启动菜单(md5加密) 。操作GRUB时用到

title Red Hat Enterprise Linux Server (2.6.18-194.el5)#title 指定系统名称

Password --md5 md5pass #设置启动菜单项口令。进入引导所选的系统时用到

        root (hd0,0)  #root 指定系统/boot的位置为第一个硬盘的第一个主分区

        kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet   #kernel指定内核路径,并以 ro只读模式加载。root=LABEL=/ 中的root表示系统根目录(/),LABEL表示一个卷标,代表了磁盘分区名字,“/”表示/boot所在分区即:hd0,0。

        initrd /initrd-2.6.18-194.el5.img #initrd 指定映像文件

grub-md5-crypt password 

GRUB中运行

md5crypt password #生成md5加密的grub使用的密码。

/etc/fstab

自动挂载文件系统的配置文件

格式:filesystemmountpointtypeoptionsdumppass

filesystem:定义挂载的文件系统所在的设备。如hdasda等。我们可以使用磁盘分区的名称如/dev/hda1,也可以使用这个分区的卷标,如LABEL=/juanbiao。 在juanbiao前一定要有”/”这个符号。

示例:

[root@localhost ~]# cat /etc/fstab

LABEL=/                 /                       ext3    defaults        1 1

LABEL=/home             /home                   ext3    defaults        1 2

LABEL=/opt              /opt                    ext3    defaults        1 2

LABEL=/var              /var                    ext3    defaults        1

[root@localhost ~]# df

/dev/sda9               902512    326136    529792  39% /

/dev/sda7              2030736     35932   1889984   2% /home

/dev/sda6              2972236     70252   2748568   3% /opt

/dev/sda3              4956316    203924   4496560   5% /var

[root@localhost ~]# blkid

/dev/sda9: LABEL="/" UUID="cca30062-e8c9-4469-a690-c49151496e6e" TYPE="ext3"

/dev/sda8: LABEL="SWAP-sda8" TYPE="swap"

/dev/sda1: LABEL="/boot" UUID="21e3c70d-9e66-4043-b82e-2e2e4e93cc1f" TYPE="ext3"

上面的LABEL=/ 部分就可以使用/dev/sda9来替代。因为/dev/sda9的卷标名是 “/”

mountpoint:定义挂载点。对于swap设备,该字段为none。如果挂载点名有空格用40来表示空格。

type:定义该设备的文件系统类型。如ext2ext3vfatiso9600等。

option:定义了挂载模式。多个参数可用逗号分隔。常用的是default

另外还有:

auto 开机自动挂载

ro 以只读模式挂载

rw以读写模式挂载

quota进行磁盘定额限制

dump:检查一个文件系统应该以多快频率进行转储,若不需要转储该字段为0.

pass:该字段被fsck命令来决定在启动时需要扫描的文件系统顺序。根文件系统对应的值为1,其它文件系统对应的值为2.若应文件系统无需在启动的时候进行扫描则为0.

mount -a 对编辑过的/etc/fstab文件进行测试

/etc/hosts

/etc/hosts 主机名查询静态表,是本地的DNS解析文件Hosts文件包含了IP地址和主机名之间的映射,还包括了主机名的别名。在进行域名访问的时候,首先要查询hosts文件。如果hosts里没有相关记录,则会查询/etc/resolv.conf文件。在局域网或Internet网中,每一台主机都有一个IP地址,他区分开每台主机,并可以根据IP进行通讯。但记忆IP不方便,所以在internet上就有了域名,在局域网中有了主机名的概念,它们用于区分主机,便于互相访问。Hosts文件就是告诉本主机哪些域名对应哪些IP,哪些主机名对应哪些IP,以达到快速访问的目的。

/etc/hosts的格式

IP地址 主机名或域名 别名

127.0.0.1 localhost.com localhost

第一部分:网络IP地址

第二部分:主机名或域名

第三部分:主机名别名

主机名和域名的区别:

主机名是在局域网内使用

域名是在internet中使用

hostname #本地主机名的修改工具

hostname工具设置的主机名只是临时的,下次重启系统后此主机名不会存在。

hostname   显示主机名

hostname -i 显示主机IP

hostname webserver 设置主机名为webserver

/etc/resolv.conf

resolv.confDNS域名解析配置文件,它是用来指定本地机所使用的DNS域名的。

resolv.conf格式:

每行以一个关键字开头,后接配置参数

关键字主要有四个:

nameserver 定义DNS服务器的地址,可以有很多行的nameserver,每一个带一个IP地址,查询时就按nameserver在文件中的顺序进行。当第一个nameserver没有反映时,就查询下一个。

domain 定义本地主机的域名,当为没有域名的主机进行DNS查询时需要用到。

search 定义域名搜索列表。当要查询没有域名的主机时,将在search指定的域中进行查找。search domain不能同进存在,后面出现的将会被使用。

sortlist 对返回的域名进行排序

最重要的是要有nameserver这个关键字,没有这个关键字就找不到DNS服务器。

示例:

Nameserver 192.168.0.1

Nameserver 8.8.8.8

Search localdomain

/etc/host.conf

当系统中同时存在DNS域名解析/etc/resolv.conf/etc/hosts时,则由该文件/etc/host.conf来指定主机名解析顺序。

格式:

Order hosts,bind  #域名解析顺序

Multi on #允许主机有多个IP地址

Nospoof on #禁止IP地址欺骗

关键字order,表示的是解析顺序。这里面表示的是先用本机的hosts进行域名解析,如果不能解析,再从/etc/resolv.conf里定义的DNS服务器中进行搜索。

/etc/hostname #这个文件是主机名配置文件

/etc/hosts.allow

/etc/hosts.deny

这两个文件是tcpd服务器的配置文件。Tcpd服务器可以控制外部ip对本机服务的访问。Hosts.allow用来控制可以访问本机的IP地址。Hosts.deny用来控制禁止访问本机的IP地址。如果两个文件有冲突,以host.allow为准。

格式:

服务进程名:主机列表:当规则匹配时可选的命令操作

Server_name:host-list[:command]

示例:

ALL:127.0.0.1        #允许本机访问本机的所有服务进程

Smbd:192.168.0.0/255.255.255.0  #允许192.168.0.网段的IP访问smbd服务

/etc/issue

/etc/issue是一个文本文件,里面的内容会在用户登录前被显示在终端上。/etc/issus.net文件是供网络登录用户使用的。

/etc/motd

/etc/motd是一个文本文件,它是message of today(今天的信息)的缩写,里面的内容会在用户登录后显示。该文件经常用作系统公告。

/etc/skel 

新建用户时,用户的家目录默认内容模版

/etc/sudoers

Sudo的配置文件

格式:用户名(组名主机名=command(绝对路径)

/proc/filesystems

kernel能够支持的文件系统

/etc/crontab

创建系统级的定时任务配置文件

用户环境配置

.bash_profile

.bashrc

.bash_logout

这三个文件位于用户主目录下,是bash shell 的用户环境配置文件。

.bash_profile 是最重要的一个配置文件,它在用户每次登录系统时被读取,里面的所有命令都会被bash执行。.profile.login两个文件是.bash_profile的同义词。目的是为兼容其它shell。在debian中使用.profile文件代替.bash_profile文件。

.bashrc 文件会在bash shell调用另一个bash shell时读取,也就是在shell再键入bash命令启动一个新shell时就会去读该文件。

.bash_logout 在退出shell时被读取。我们可以把一些清理工作写入这个文件中。

位于/etc目录的bash.bashrcprofile是系统级的配置文件。当在用户主目录下找不到.bash_profile.bashrc的时候,就会读取这两个文件。

.bash_history是bash shell的历史记录文件。里面记录了输入过的所有命令。

source .bash_profile 使修改过内容的.bash_profile马上生效。


转载请保留文章来源http://blog.csdn.net/no7oor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值