Linux学习笔记一、系统引导及初始化1、启动过程:BIOS→MBR(程序,不是信息记录,如MBR包含的就是GRUB程序)→加载kernel→加载初始化RAM磁盘INITRD→初始化进程init2、GRUB的引导顺序:root(设置根文件系统所在分区)→kernel(加载内核)→initrd(加载初始化镜像)3、复制MBR记录:ddif=/dev/sdaof=/home/mbr.binbs=512count=14、Initrd是由引导程序在内存中开辟的一块区域,用于在系统启动init进程之前加载相关硬件的驱动模块,如scsi、usb等。内核启动在访问真正的根文件系统时会先执行initrd中的相应文件来加载驱动、进行需要加载的内核模块的相关设置。5、初始化进程init是所有程序的父进程,其初始化系统的顺序是:rc.sysinit→rc→rc.local(可以自定义初始化服务)→bashshell。6、所有的rc的init脚本都在/etc/rc.d/、/etc/init/、/etc/inittab中。7、进入单用户模式(无需密码即可获得根用户环境)的runlevel为1,可在grub引导中的最后编辑加入1来进入,可以用于系统恢复及找回root密码。二、系统服务、守护进程与服务设置8、系统服务与守护进程的关系:守护进程相当于系统服务的监听器(listener),守护进程打开端口,并负责监听客户端的请求,收到请求后,创建子服务器来响应该请求。9、独立运行的守护进程由init脚本管理,所有独立守护进程脚本都在/etc/rc.d/init.d/目录下。10、stand-alone模式的守护进程相当于oracle中的独立会话,每个守护进程都启动并监听特定的端口,而xinetd相当于oracle中的连接池,可以同时监听多个端口,遇到请求时再启动相应的守护进程。只有像Apache等负载高的服务才用stand-alone模式,其他的可以用xinetd进程来管理。11、xinetd可以启动任何系统服务,但最适合的是那些常用但负载不高的网络服务,如ftp、ssh等。12、linux的端口号为:0~65535,其中0不使用,1~1023:系统保留,只能由root使用,1024~4999:由客户端程序自由分配,5000~65535:由服务器程序自由分配。13、命令ntsysv可打开图形界面来定义系统服务14、命令setup可以对系统的键盘、网络等进行设置。15、rhel中设置系统的三种管理程序:system-config-*,如system-config-service的图形界面,ntsysv,以及命令chkconfig16、chkconfig:设置开机自启动服务,chkconfigvcftpdon在运行级别2、3、4、5中自动运行,chkconfigvsftpd--level35on在级别3、5中自动运行。17、service服务名start/restart/stop系统服务的手动启动、停止、重启三、环境变量、文件目录、系统信息查看1、环境变量是和shell集成的,对于bash,可以通过变量名访问相应的环境变量,可以通过export来设置环境变量:显示某个环境变量:echo$home显示所有环境变量:env增加一个环境变量:exportwelcome=’Hello’显示所有本地定义的shell变量:set清除某个环境变量的值:unset设置某个环境变量的值:set$home=’’2、/bin存放基础系统命令/sbin存放系统管理命令,以及root权限命令/usr/bin存放用户应用程序命令/usr/sbin存放有root权限的应用软件命令/usr/local/bin存放用户自编译的命令/etc/fstab配置启动时自动挂载分区/boot/config-版本号配置内核3、/etc/init.d/以system-v模式启动的脚本目录/etc/rc.d/以BSD模式启动的脚本目录/var/log日志目录4、mount:将一个物理存储设备与linux文件系统相关联的过程设备类型:块设备:有缓存、可随机访问,如磁盘,rom等字符设备:不能随机访问,没有可进行物理寻址的媒体,如磁带5、tune2fs–l/dev/sda1查看分区的文件系统的相关信息e2labledevice[name]查看或设定卷标6、fdisk–l列出磁盘信息fdisk–l查看存储设备信息Parted分区工具7、系统监控的/proc下的重要目录:1、/sys可写的目录,可以通过该目录访问、修改内核参数2、数字开始的目录,进程目录,目录名即为进程PID,可以查看进程相关信息3、/net网络信息4、/self读取进程本身的信息借口8、系统进程查看:topps–el|vi内存信息查询:topfreeCPU使用信息查询:mpstat系统I/O信息查询:iostat网络信息查询:netstat-I,可以配合watch一起使用,如watch–n1–dnetstat–i9、整个系统信息查询工具:sar,可以查询CPU、I/O、网络信息等sar查询CPU信息:sar–u13每秒更新一次CPU信息,共3次Sar查询I/O信息:sar–bSar查询内存页面信息:sar–BSar查询网络信息:sar–nDEV|grepeth0Sar查询进程队列长度和平均负载统计信息:sar–qSar查询所有块设备的信息:sar–dp四、用户、权限1、用户的操作:useradduserdelusermod删除密码:passwd-dgroove组的操作:groupaddgroupdelgroupmod2、who显示当前系统的登录用户信息id显示用户当前的相关信息3、UMASK表达了用户所不具有的权限,如022,则该组用户、其他用户无写权限4、用户的配置文件:/etc/passwd,格式:username:passed:UID:GID:home目录:bashGroup配置文件:/etc/group,格式:group-name:passwd:GID:user-list。5、ROOT用户GID、UID为06、Mask:4:R,2:W,1:X7、改变所有者:chown,改变权限:chmod五、网络1、大多数TCP/IP临时端口分配:1024-5000之间的端口,/etc/services存放系统服务的端口信息,如查找ftp端口号:grepftp/etc/services2、常用服务及端口:服务端口FTP21SSH22Telnet23SMTP25Domain(DNS)53HTTP80POP3110HTTPS443TFTP(普通文件传输协议)693、/etc/resolv.conf:包含系统的DNS配置信息/etc/host.conf:包含系统DNS查询顺序的配置信息,是先查找bind还是本地hosts/etc/hostname:包括了系统的主机名、域名等信息/etc/sysconfig/network-scripts/ifconfig-eht(n):包含了网卡的配置信息,配置网卡的IP地址可创建或修改相应的文件。/etc/sysconfig/network:指定服务器网络配置信息,如服务器名、网关、IP转发等。/etc/hosts如同windows下的hosts文件。4、实际设置中,应该先用ifconfig121.248.200.25netmask255.255.255.224进行IP设置,然后routeadddefaultgw121.248.200.30进行网关设置,有了IP地址和对外通信的网关,网络就初步可用。5、配置TCP/IP网络:1、ifconfigeth0121.248.200.18network255.255.255.0Ifconfig–a显示所有网卡信息用ifconfig设置的网络地址信息重启后会丢失2、添加网关:routeadddefaultgw202.119.112.32显示路由信息:route–n3、显示接口状态信息:netstat–i显示所有激活的TCP/IP连接:netstat–t显示所有活动并被监听的TCP/IP连接:netstat–t6、静态路由设置:1、显示系统路由表:toute2、linux支持3种路由类型:(1)主机路由:flag字段为H,即发送到目标主机的路由信息,如:10.0.0.10192.168.1.1255.255.255..255UH:通过192.168.1.1的网关到主机10.0.0.01(2)网络路由:flag字段为N,即发送至特定网段的路由信息,如:10.0.0192.168.1.1255.255.255.0UN:通过192.168.1.1的网关到网段10.0.0(3)默认路由:flag字段为G,及默认发送至所有主机及网络的路由,如:Default192.168.1.10.0.0.0UG:通过192.168.1.1到达所有网络的路由7、一个网络配置的例子:Linux主机Linux主机eth0eth0eth1eth1eth2eth2子网C:192.168.100.0/24子网C:192.168.100.0/24子网B:192.168.10.0/24子网B:192.168.10.0/24子网A:192.168.1.0/24子网A:192.168.1.0/24如图:通过linux主机连接三个子网,对应的网卡地址信息如下:Eth0:192.168.1.1eht1:192.168.10.1eth3:192.168.100.1为让三个子网相互通信,配置如下:Ifconfigeth0downIfconfigeth1downIfconfigeth2downIfconfigeth0196.168.1.1upIfconfigeth1196.168.10.1upIfconfigeth2196.168.100.1up路由信息:routeadd–net192.168.1.0/24eth0Routeadd–net192.168.10.0/24eth1Routeadd–net192.168.100.0/24eht2在子网C中的一台linux主机设置IP地址及网关信息:Ifconfig192.168.100.10upRouteadddefault192.168.100.1在子网B中设置linux主机:Ifconfig192.168.10.83upRouteadddefault192.168.10.1在C主机中ping子网B中的主机:Ping192.168.10.838、linux的无线网路配置工具:wireless_tools:(1)iwconfig:设置基本的无线参数,其使用方式与ifconfig相同(2)iwlest:用以扫描无线信号9、配置无线网络:第一步:用iwlisteth1scanning扫描可用网络,获得相应的频道、’ESSID’网络名等信息第二步:iwlisteth1channel获得无线网卡支持的频道第三步:iwconfigeth1查看相应eth1的配置信息第三步:iwconfigeth1essid“4520”设置要连接的无线网络名第四步:iwconfigeth1channel8设置对应于网络频率的频道第五步:iwconfigeth1keys:1102084520设置网络密码第六步:ifconfigeth1up开启无线网卡第七步:dhclienteth1使用DHCP来获得IP地址,或用ifconfigeth1192.168.1.10手工设置IP地址10、强大的嗅探器tcpdump:-n不将网络地址转换为主机名1、类型关键字:host、net、port2、方向关键字:src、dst、3、协议关键字:arp、tcp、ether、ip等如要截获10个arp数据包:tcpdumparp–c10如要截获从121.248.200.25到DNS.hhu.edu.cn的数据包:tcpdump–src121.248.200.25anddstDNS.hhu.edu.cn–c5如要截获发往本机的ICMP包(In