浅尝Linux之辟谷篇

Linux启动过程概述
过程:1)BIOS自检(无论哪个操作系统都会执行该步骤)
            2)启动GRUB/LILO
            3)运行Linux内核并检测硬件
            4)运行系统的第一个进程init
            5)init进程读取系统引导配置文件/ect/inittab中的信息进行初始化
            6)/etc/rc.d/rc.sysinit         系统初始化脚本(这是一个很强大的文件,涉及到Linux内核,如果能读懂这个文件,将会很牛逼)
            7)/ect/rc.d/rcX.d/[KS]* -  根据运行级别X配置服务。终止以'K'开头的服务,启动以'S'开头的服务
            8)/etc/rc.d/rc.local            执行本地特殊配置
            9)其它特殊服务



Linux中的进程和线程
进程概念:正在执行的程序,每一个进程都会被分配一个ID号
线程特点:1)轻量级的进程
                    2)进程有独立的地址空间,线程没有
                    3)线程不能独立存在,它是由进程创建的。Linux-->fork,Windows-->Thread
                    4)相对讲,线程耗费的CPU和内存,小于,进程

查看进程
ps  -a 显示当前终端的所有进程信息
ps  -u 以用户的格式显示进程信息
ps  -x 显示后台进程运行的参数
PID:进程识别号
TTY:终端机号
TIME:此进程所耗CPU的时间
COMMAND:正在执行的命令或进程名
终止进程
kill  PID 干掉指定PID的进程
killall 慎用:干掉该进程及其所有的子进程
kill -9 1777 强制干掉PID为1777进程
top命令
top 该命令执行后,会在终端显示类似如下的信息
14:06:22 up 4 min, 1 user, load avcrage:0.02, 0.12, 0.07
37 processes; 36 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 0.0% user 0.1% system 0.0% nice 0.0% iowait 99.8% idle
Mem: 255264k av, 39428k used, 215836k free, 0k shrd, 5528k buff
30632k actv, 140k in_d, 292k in_c
Swap: 257832k av, 0k used, 257832k free, 19376k cached
//当前的系统时间为14:06:22。系统启动已启动了4分钟。当前已有一个用户登录到Linux
//load avcrage:系统负载情况。值越小系统越轻松。当三个数的和除以3,大于0.6时,说明系统资源很紧张了
//zombie:僵尸进程。指某进程异常终止,但由于某种原因未通知其父进程,此时该进程所占用的CPU和内存不会被系统回收
//idle:当前有99.8%的CPU处于闲置状态
//255264k av:内存的总大小为256MB
//257832k av:虚拟内存的大小
top  -d  10 指定系统更新进程的时间为10s
top  [u] 监视特定用户:输入top命令后列出所执行的进程,再输入'u'回车,输入用户名即可。按'q'会退出top显示列表
top  [k] 终止特定进程:输入top命令后列出所执行的进程,然后输入'k'回车,再输入要结束的进程ID号
系统日期
date 直接在终端输入'date'命令后,即可查看系统时间
date MMDDHHMMCCYY.SS 利用'date'命令更改系统时间,后面跟'月月日日时时分分年年年年.秒秒'
cal 3 2012 查看2012年03月的月历
cal  2012 查看2012年的年历
网络状态
netstat 显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、路由表内容等
netstat -anp 显示内容如tcp  0  0  0.0.0.0:8080  0.0.0.0:*  LISTEN  1840/java
这说明当前8080端口已被监听,监听该端口的进程ID号为1840,那么使用kill  -9  1840命令即可干掉该进程
ping 检测主机连接。主要检测远程主机是否正常、两部主机间的介质是否断开、网线是否脱落、网卡故障等
traceroute 检测数据包在网络上传输的过程,即从本机到远程的主机完整路径。用法如 traceroute  www.sohu.com
route 查看本机路由的情况。路由是指数据由来源网络送往目的地网络的操作
大型网络中的路由是非常复杂的,因为数据包在抵达目的地时,可能经过的节点有很多
路由表是存储在路由器或一些其它链接设置上的窗体,记录了到指定目的地的网络路径,及路径的相关数值



任务调度
概述:系统在某个时间执行的特定的命令或程序。系统中的/etc/crontab文件指的就是任务调度文件
分类:系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等
            个别工作:个别用户可能希望执行某个程序
使用:1)设置任务: crontab -e
               终止任务: crontab -r
               列出当前的任务调度: crontab -l
            2)分配任务:进入INSERT模式后,输入  0  2  *  *  *  date  >>  /home/mydate11  ,即每天02:00将系统时间追加到mydate11文件中
            3)保存退出: :wq 若提示 crontab: installing new crontab 则表示定时调度任务分配完毕,它会在指定时间执行指定任务
调度多个任务:第一种方式:在[crontab -e]中直接换行写第二个任务
                            第二种方式:把所有的任务,写入到一个可执行(shell编程)文件中
                                                    1)vi mytask.sh
                                                    2)[date >> /home/mydate22]  [cp /home/mydate22 /root]    //这里定义了两个任务到mytask.sh中了
                                                    3)chmod 744 mytask.sh        //默认的mytask.sh是没有x权限的,所以这里为该文件设定可执行的权限
                                                    4)crontab -e
                                                    5)进入INSERT模式后,输入  0 2 * * * /root/mytask.sh 命令,即可
调度文件的规则:如下表所示

字段名称 说明 范围
分钟 每小时中的第几分钟执行 0----59
小时 每日的第几个小时执行 0----23
日期 每月的第几天执行 1----31
月历 每年的第几月执行 1----12
星期 每周的第几天执行 0----6
命令名称 欲执行的命令名称及其参数  



网络环境配置
第一种方法:1)修改/etc/sysconfig/network-scripts/ifcfg-eth0文件
                        2)再运行 /etc/rc.d/init.d/network restart 命令,使网卡配置生效
                        3)说明:老程序员比较喜欢这种最底层的方法,也说明Linux的所有设备都是文件
                                       这里eth0代表第一块网卡,这个名字可以在 ifcfg-eth0 文件里面随便改
第二种方法:1)用root运行 setup 命令,进入 text mode setup utiliy进行配置网络
                        2)再运行 /etc/rc.d/init.d/network restart 命令,使网卡配置生效
                        3)说明:这里会进入一个类似Windows中的BIOS设置的界面
第三种方法:1)使用 ifconfig eth0 x.x.x.x 设置网卡
                        2)使用 ifconfig eth0 network x.x.x.x 命令设置子网掩码
                        3)说明:此时网络配置会临时生效,一旦重启系统,网络配置会自动还原
                        4)备注:ifconfig eth0 up 命令:打开eth0
                                       ifconfig eth0 down 命令:禁止使用eth0



连通Windows与VMware中的Linux
思路:配置Windows的网卡与VMware的网卡的IP,让二者处于同一个网段中,即可
步骤:1)在windows的cmd下使用ipconfig查看本机所有网卡信息
               我们会发现有两块虚拟的网卡VMnet8和VMnet1,这是VMware自动为我们安装的
               这里假设VMnet8和VMnet1网卡的网段分别为192.168.222.1和192.168.77.1
            2)将linux的IP配置为192.168.222.8
            3)虚拟机---->设置---->硬件---->以太网---->自定义---->选择VMnet8(NAT)作为虚拟机的网卡
            4)在windows中ping 192.168.222.8,如果ping得通,则说明Windows与VMware连上了



Shell简述
概述:成功登录Linux后,系统会出现不同的提示符号,如$~#
            然后就可以输入需要的命令,若命令正确,系统便依据命令的要求来执行,直到注销系统为止
            而Shell就是负责,在登录到注销期间,将用户输入的命令解释成内核可执行的代码,并执行
            作为命令语言互动式地解释和执行用户输入的命令,这只是Shell功能的一个方面
            Shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构
            使用Shell编程类似于DOS中的批处理文件,称为Shell scrip,又叫Shell程序或Shell命令文件
种类:常用的Shell有以下几种

注意:不同的Shell对同一操作所使用的命令未必相同
Shell名称 开发者 命令名称
Bourne S.R.Bourne /bin/sh
C Bill Joy /bin/csh
Kom David /bin/ksh
查看和修改当前的shell
ls  -l  /bin/*sh 查看当前系统所支持的Shell
env 显示当前操作系统的环境变量。它可以看到当前所使用的shell
chsh  -s  新shell 修改所使用的shell。。如 chsh  -s  /bin/csh
修改完所使用的Shell后,注销后重新登录方生效
命令:Shell命令补全功能:比如输入'mk',再按两下'tab'键,此时会出现开头两个字母为'mk'的命令
            Shell查阅历史记录:使用history命令,可以查阅最近执行过的命令
                                                 history  5 :显示最近使用的5个命令
                                                 !ls :执行最后一次以ls开头的命令
                                                 !5 :执行历史编号为5的命令
使用: a)用户登录后自动执行的shell脚本文件
                     1).bashrc:其位于所登录用户的用户主目录下。 但在它之前会先执行/etc/bashrc,它是系统脚本,主要是基本配置数据
                                        例:希望root用户登录后自动启动tomcat,则 vi  root/.bashrc 文件尾添加/home/tomcat/bin/startup.sh start即可
                                        例: 如果希望所有用户登录后都自动执行某程序,就可以在/etc/bashrc文件中添加程序的启动命令
                     2).bash_profile:其位于所登录用户的用户主目录下。 但在它之前会先执行/etc/profile,它主要是配置系统环境变量
             b)export命令:当我们希望在环境变量中临时加入一个路径时,就可以使用该命令,但它只是临时生效的
                                       例:执行  export  PATH=$PATH:/root 把root目录加入环境变量,这样就可以在任何位置执行root目录下*.sh脚本了
                                               这里的冒号是路径分隔符
             c)echo命令:例: echo  $USER 用于显示当前登录的用户
                                            echo  $PATH 用于当前的环境变量
                                            echo  $HOME 用于显示工作主目录,其实就是所登录用户的用户目录
                                            echo  $SHELL 用于显示所使用的shell
通配符: *----代表多个字母或数字。 ?----代表一个字母或数字。 []----代表它所指定的区间的某一个字母或数字
                例子:命令  ls  -l  abc[1-6].tif 会列出该目录下以abc开头,后面跟的是1----6中的一个随机数字,后缀是.tif的文件
                            命令  ls  -l  a? 会列出该目录下以a开头,后面跟的是一个字母或数字的文件或目录
别名:命令  alias 会显示出系统当前定义的所有别名
            命令  alias  llh='ls  -l  /home/  |  more' 这时再执行[llh]命令,就相当于执行了  ls  -l  /home/  |  more 命令

你可能感兴趣的:(浅尝Linux之辟谷篇)