linux基础命令
linux系统 
         系统启动级别: /etc/inittab
             0 ---- halt                   关机
             1 ---- single user mode       单用户模式
             2 ---- Multiuser,without NFS 多用户模式,不支持网络文件系统
             3 ---- Full multiuser mode    完全多用户
             4 ---- unused                 未使用
             5 ---- Xll                    图形化
             6 ---- reboot                 重启
             ------ id:5:initdefault: 设定当前默认启动级别
          
   rhel6中破解密码:
         
          重启--》 按e截停  --》  再按e --》找到中间kernel一行,再按e --》 在quiet后,按空格,在输入一个1,然后回车 --》 按b启动  --》  进入到命令行 ,去修改密码即可;修改后重启生效 
         
   rhel7中破解密码:
重启 --》 按e截停 --》 找到/vmlinuz一行,在该后去添加 rd.break console=tty0 --》 ctrl+x 启动 --》进入到命令行模式,执行如下操作
        #mount   -o   remount,rw   /sysroot            重新挂载根文件系统
 
        #chroot    /sysroot        切换到根文件系统中 
        
        #echo  "redhat"  |  passwd   --stdin  root      修改密码  
        
        #touch    /.autorelabel      重新打标签,千万写准确;只有执行动作后,必须重新打标签
        
        #exit   
        #exit    退出重启  
开启路由功能      echo 1 /proc/sys/net/ipv4/ip_forward 
《一》文件管理
     1.简单管理
        命令方式:命令+[选项]+[参数]   
        基本命令:pwd   cd(切换目录; 目录结构:倒状的树状结构。根目录 “/” 根目录无需自己定义,它是内核的功能,可以自引用。)  ls 查看
           -------》根目录下常见的功能:
                                      	/bin /sbin :binary(二进制),二进制可以执行文件(命令)
                                        /boot:操作系统启动文件
                                        /dev:设备文件
                                        /etc:可配置文件:存放可修改文件
                                        /home:普通用户家目录
                                        /lib /lib64:动态库文件;代码片段
                                        /mnt:做临时挂载使用
                                        /proc /sys:内存和内核映射文件
                                        /var:可变化文件
                                        /root:root用户家目录
                 ls命令详解   (ls + 选项+ 参数)
                 ls :   -l     -a     -A      -d     -h   -r     -Z     -R
   (一)	基本文件管理:
	     ------@别名 :alias
				文件:
					        查:ls  -l    查看文件基本信息  文件类型:- d l c b p   权限.......等
				              cat   tac    head     tail      more   less		       
							增:  touch
							改:  vim
							删:  rm
							复制:cp
							剪切:mv
	      目录:
		           增:mkdir : -p递归创建
		           查:ls
		           删:rmdir   rm: 	-rf
		           改:cp: -r 递归复制  mv:改名
	  
	(二)文件压缩与解压缩
	   压缩目的:节约磁盘空间 节约网络带宽 对数据加密
	   压缩原理;靠一定数学算法,将文件内容重新排列
	   zip (压缩打包)			bzip2  gzip xz :只压缩(压缩比=(原文件大小-压缩后文件大小)/×100% 压缩比 压缩级别关系)
	   tar :-cvf    -xvf    -rf    -tf   -z  -j  -J  
	
  (三)文件搜索
	   locate  :本地数据库(updatedb.conf)搜索,搜索速度快,非实时。 更新本地数据库:updatedb
	   find  :根据文件基本属性搜索 ,实时搜索,慢于locate。 
						 选项:type	perm  user group size  name   atime ctime mtime
						  执行:exec +动作:rm -rf...	等{}		+ \;
	   ------扩展》特殊查看:stat(文件状态) which(命令的绝对路径) type(查看命令类型) file(查看文件内容类型)
   
   (四) 软链接和硬链接
          1·高级文件系统管理:****了解概念关系图解****
                 文件系统划分:源数据区域   数据区域
                 源数据      :inode号  block位图  inode位图  超级块
                 inode作用   :存放文件基本属性信息  **指向了该文件所引用的磁盘块
                 超级块      :负责管理inode和磁盘块;所有磁盘块被使用的调度器
                 inode位图   :标识inode是否被占用
                 block位图   : 标识block是否被占用
                 目录下      :存放的为inode与文件名的对应关系
          2·硬链接;
                  创建:ln  源文件  链接文件(新)
             *****特点:原文件和链接文件使用相同inode
			            修改原文件,链接文件变化
			            修改链接文件,原文件变化
			            删除原文件或者链接文件,对方不受影响
			            硬链接不能跨文件系统
         3·软链接:
                 创建:ln  -s  源文件  链接文件(新)
            *****特点: 原文件和链接文件使用不同的inode 
			            修改链接文件,原文件变化
			            修改原文件,链接文件变化
			            删除链接文件;原文件不受影响
			            删除原文件,链接文件不可用 
			            软链接可以跨文件系统;也可以针对目录
	
  (五) 文件内容统计:wc  【-l ,-w ,-c 】  文件名
	
  (六)文件内容过滤:grep  "字符串"  文件名
《二》用户和用户组管理
	  
	(一) 用户管理
	      增:useradd 选项:-u -g -c -d -s -r -M  +用户名
	      查:id    选项;-u -g -n              +用户名  存储用户基本信息文件:/etc/passwd
	      删:userdel 选项:-r                    +用户名
	      改:usermod 选项;-u -g -c -d -s        +用户名  修改用户密码:(一)passwd (二)echo
	    -----》密码加密方式:一·单向加密:一般为提取文件或字符串的特征码
	                               二·双向加密:对称加密  :加密和解密使用同一种秘钥
	                                            非对称加密:私钥和公钥;私钥加密、公钥解密;公钥加密、私钥解密
	                                            证书      :有机构认证的公钥
	                                 第一列	1:  代表使用md5算法加密    
    	                       				      5:  代表使用sha256算法加密 
    	                       			    6:  代表使用sha512算法加密:
                                   
                                   第二列 salt:加密的杂质,随机取  
                                   
                                   第三列 单项加密 :定长输出,只加密不解密,雪崩效应
	                 
                                  扩展:md5sum 加密方式
	     -----》扩展:查看当前登录用户:whoami 	
						查看当前系统中,有多少个用户登录:#uaers #who #w 
						查看当前登录的终端:#tty
	          将用户从终端踢出:pkill  -kill  -t  终端名   
						在终端中切换用户: 临时切换   su 
	
  (二)用户组管理
	              增:groupadd  -g     +组名 
	              查:tail /etc/group  查看存放组的文件
	              删:groupdel         +组名
	              改:groupmod  -g     +组名       修改组密码:gpasswd   +组名  (存放组密码文件:/etc/gshadow)
	     用户组内成员管理
	             <一> user(用户方式):
                     
           给指定组内建立新用户---> :useradd  : -g (主要组) |  -G(附属组)+已存在的组id或组名  +新建立的用户名
	         
           给指定组内添加用户  ---> :usermod  : -g(主要组)| -G(附属组【-a 给用户非覆盖添加附属组】)+已存在的组id或组名  +已建立的用户名
	            
               <二> group(组方式) :指定用户为组内管理员---> : gpasswd  : -A   +用户名    +组名
	                                  :指定用户为组内成员  ---> : gpasswd  : -a   +用户名    +组名
	                                  :删除用户为组内      ---> : gpasswd  : -d   +用户名    +组名
	     手动编辑文件,创建用户和组
	             #vim  /etc/passwd       :在文件内手动添加一行
	(三)修改文件的所有者和所属组
		        修改文件所属组 :  chgrp    +组名         +文件名                             
		        修改文件所有者 :  chown    +用户名       +文件名
		        一并修改       :   chown    +用户名.组名  +文件名   
		        参照修改       :  chmod    --reference    原文件   目标文件
 ------------存储用户基本信息的文件:  /etc/passwd  
                #tail   /etc/passwd  
                    tom:x:500:500::/home/tom:/bin/bash
                
                该文件用冒号(:)分隔为了7段:
                                第一段:  用户名 
                                第二段:  密码占位,x仅仅是个占位符,不是真正密码
                                第三段:  用户的uid,用户的id号,可以标识用户
                                第四段:  用户的gid,用户组的id
                                第五段:  用户的描述信息;默认为空
                                第六段:  用户的家目录
                                第七段:  登录shell,来标识用户是否可登录,/bin/bash代表可登录,/sbin/nologin代表不可登录
------------存放密码的文件:  /etc/shadow
            loring:!!:18096:0:99999:7:::
            该文件,用冒号分隔为九段: 
                                第一段: 用户名 
                                第二段: 密码 
                                第三段: 时间戳,距离1970年1月1日有多少天(1970年为数据元年)
                                第四段: 密码最小使用周期,如果0代表可以随时修改,如果给3,代表密码至少使用3天才可以修改
                                第五段: 密码的最大使用周期,99999代表没有限定,永不过期
                                第六段: 密码到期前几天提醒
                                第七段: 密码到期---》失效 的时间
                                第八段: 密码失效--》 过期 的时间 
                                第九段: 保留位,未被使用
------------查看组:  查看存放组的文件   /etc/group 
            #tail  /etc/group  
                group100:x:504:
                            该文件用冒号分隔为了四段: 
                                第一段:  组名 
                                第二段:  组密码占位
                                第三段:  组的id号,gid 
                                第四段:  组中的用户成员            
《三》权限管理 
	      一·基本权限:ugo=a
	                  权限: 对用户设定,能让用户对文件具有哪些能力  (*能不能删除一个文件,只跟文件所在的父目录权限有关,与对文件的权限没有任何关系*)
	                增改删:chmod    u;g;o;a  = (rwx)  文件名  
	                        chmod    u;g;o;a  + / —  (rwx)  文件名 
	                        chmod    数值方式:r=4 w=2 x=1    文件名   
	         --------@扩展:(umask方向掩码作用:umask决定了用户创建文件或者目录的默认权限 
                    #查看配置文件 /etc/profile 或 /etc/bashrc)  查:#umask    改:#umask  025 
	         --------@扩展:查看当前用户可使用的变量(环境变量) : #env  
	      二·特殊权限:对用户及用户组设定 chmod  
	                  suid   :  (提权)  chmod u + —  s  文件
	                  sgid   :(继承) chmod g + —  s  目录
	                  sticky : (删除)  chmod o + —  s  目录或文件
	      三·acl访问控制:
	                  查:getfacl  文件名(目录名)
	                增改:setfacl  -m u:用户名:权限(rwx)  文件或目录    设定默认:setfacl  -d  -m  u:用户名:权限    文件或目录
	                  删:setfacl  -x u:用户名               文件或目录    清空acl :setfacl  -b  文件或目录
	      四·系统权限:attr
	                  查:lsattr  文件名
	                  改:chattr  + —    i (只能查看)   a (文件追加,查看,执行)    A (锁定访问时间)   + 文件名
----------------基本权限各权限对文件和目录的作用
对文件:(总结:x权限与r 组合才有意义;r与w组不组和都有各自意义)
            ---:   不能读;不能修改;也不能执行 
            r:     可以读;不能修改;也不能执行 
            w:     不能读;能强制写入,原文件内容丢失;不能执行
            x:     不能读;不能修改;也不能执行;毫无意义
            rx:    可以读;不能修改;可以执行 
            rw:    可以读;可以修改;不能执行 
            wx:    不能读;能强制写入,原文件内容丢失;不能执行;等同于单独具有w
            rwx:   可以读;可以修改;也可以执行
        
        对目录:(总结:w权限与x 组合才有意义;r与x组不组和都有各自意义)
            ---:  不能查看;也不能创建文件;不能进入
            r:    能查看,只能查看一级子目录;不能创建文件;也不能进入
            w:    不能查看;不能创建文件;不能进入;毫无意义
            x:    不能查看;不能创建文件;能够进入;对子目录的操作不受影响
            rx:   能正常查看;不能创建文件;能够进入
            rw:   能查看,只能查看一级子目录;不能进入;等同于单独具有r权限
            wx:   不能查看;能创建和删除文件,但是删除文件不支持通配(*?);能够进入
            rwx:  能正常查看;能创建和删除文件;能够进入 
《四》磁盘管理
          一·基本磁盘管理
             磁盘类型:----磁盘命名:----磁盘结构:----- 基础逻辑划分:-----
                
                 磁盘类型: 
                    并口设备: IDE           hdx   
                    串口设备: SATA  SCSI    sdx 
                 磁盘结构:
                    盘片、主轴、磁头、机械臂、永磁铁、停泊区、空气过滤器
                 基础的逻辑划分:
                    扇区: 单位时间内,磁头划过的区域;扇区固定大小为512字节
                    磁道: 磁头划过的周长
                    柱面: 将磁道向多盘片延伸的一个柱状;固定大小为8MB  
              MBR:  master  boot   record     主引导记录
              MBR占用硬盘的第一个扇区(前512字节);不属于任何分区
              MBR分为三部分: 
                446字节:bootloader,设备运行时,运行的第一段代码;可以去加载驱动或内核
                64字节 :分区表;每个分区占16字节
                2字节  :标识整个MBR是否可用
             
             查:fdisk  -l  [设备名]
         增删改:fdisk 磁盘名 --help
                       ----->通知内核重读分区列表    :rhel6 (partx -a 分区名) rhel7 (partprobe)
                       ----->格式化                  : mkfs -t ext4 /dev/sdb   swap分区格式化:mkswap  /dev/sdb   
                                                       **低级格式化:装载MBR..... 高级格式化:创建文件系统** 
                       ----->挂载:为文件系统提供入口:1·手动挂载(临时):mount 设备名  挂载点
                                                       2·自动挂载(永久):利用文件/etc/fstab  三种:一设备名 二uuid 三卷标   # mount -a  
                                                                          (查看设备UUID:blkid 查看磁盘分区情况:lsblk  查看卷标:e2label 设备名)
                                                       3·查看挂载        :df  -Th   或  mount    swap查看验证:swapon -s  或  free  -m
                                                       4·挂载选项        :-o   remount(不卸载挂载)
                       ----->卸载                    :umount   挂载点或设备名
         二·swap分区 :交换分区  (buffer:缓冲 cache:缓存)-->加速缓存
                      swap分区作用:  页面的换进换出,来临时充当内存角色
                      扩展:查看系统中页面的换进换出  #dstat        扩展:系统中的hash缓存查看:#hash  清空缓存:#hash -r       
                      ----->格式化  :  swap分区格式化:mkswap  /dev/sdb
                      ----->开启使用:  swapon  文件系统   (关闭:swapoff 文件系统)
                      ----->查看挂载:  swap查看验证:swapon -s  或  free  -m
         三·靠文件实现
	                  --------->创建文件: dd  if=  of=  bs=  [seek=]   count= 
	                  扩展:查看文件真实大小 :#du  -h
         四·逻辑卷: 
                   在原有分区基础上,再抽象出一层;在线文件系统扩展(拉伸)
                   物理卷管理:指定物理卷 :pvcreate  分区                                             
                               查看物理卷 :pvs  pvscan  pvdisplay  删除物理卷 :pvremove   分区名
                   卷组管理  :创建卷组   :vgcreate  【-s  大小(指定pe块大小)】 卷组名 物理卷名    
                               查看卷组   :vgs vgscan  vgdisplay   删除卷组   :vgremove   卷组名
                               扩展卷组   :vgextend  卷组名    新物理卷名
                               缩减卷组   :vgreduce  卷组名    物理卷名  (移除物理卷之前查看pvdisplay中所移除的卷是否被占用)
                               修改卷组名 :vgrename  源卷组名  新卷组名
                   逻辑卷管理:创建逻辑卷 :lvcreate  -l   pe数量      -n 逻辑卷名  卷组名
                                            lvcreate  -L   逻辑卷大小  -n 逻辑卷名  卷组名
                               查看逻辑卷 :lvs   lvscan    lvdisplay 
                               删除逻辑卷 :lvremove  :逻辑卷的绝对路径
                               扩展逻辑卷 :lvextend  -L  500M  逻辑卷绝对路径     代表扩展到500M
                                            lvextend  -L +500M  逻辑卷绝对路径     代表多添加500M         
                               逻辑卷改名 :lvrename  旧卷名    新卷名
         五·磁盘配额 
                    限定用户或者用户组对磁盘的使用量
                    1,分区·通知内核·格式化
                    2·挂载:添加挂载选项 ---> -o usrquota,grpquota   /dev/sdb  挂载点
                    3·磁盘配额初始化:(生成记录配额数据文件)quotacheck   -cugv  挂载点  (#需设定selinux#)
                    4·开启磁盘配额  :quotaon  挂载点   (关闭:quotaoff)
                    5·设定磁盘配额  :edquota  -u 用户名 【-g 组名】 -f  挂载点                      
                    6`查看磁盘配额  :repquota -a  
                    7·设定宽限时间  :edquota  -t  (宽限时间作用:.......)
          ------@扩展:设定selinux  :工作模式(三种)permissive(警告不拒绝)  enforcing(拒绝)  disabeld(禁用)
                                      临时修改 setenforce 0  查看为:permissive
                                      永久修改 vim /etc/selinux/config  中对SELINUX=? 进行修改
                     清空防火墙规则 :查看规则#iptables  -L  清空规则#iptables  -F
         六·靠parted分区:超2T,GPT格式,突破4个主分区限制,(支持非交互)
                   1·分区格式切换        :#parted 分区名 mklabel  msdos或gpt  (切换数据丢失)
                   2·非交互创建(可交互):#parted 分区名 mkpart  part-type [logical/physical]  【fs-type:ext2】  start-size  end-size 
                   3·非交互查看          :#parted 分区名 print
                   4·非交互删除          :#parted 分区名 rm  分区号
         七·raid   (了解功能)
                   raid          :独立冗余磁盘阵列
                   硬件          :硬raid 一·靠嵌入主板上的raid控制器实现;性能高,价格贵,不灵活
                                          二·靠raid卡实现:性能略低,价格便宜,较灵活
                   软件          :软件模拟方式实现,靠内核功能;用户空间管理工具(命令)
                 raid级别        : 代表了硬盘阵列方式不同
              了解读写冗余利用率 : *raid0:条带化技术(条带拆分)   *raid1:靠镜像技术(镜像备份)  *raid5:靠校验技术(所有磁盘轮流做校验)
                                   *组合:raid10   raid01   raid50
                                   raid10:  raid10效率要高于raid01
                                        至少4块磁盘
                                        写性能:  会提升 
                                        读性能:  会提升 
                                        冗余能力:  可以任意损坏2块磁盘(不能同组)与raid01比较,较可靠
                                        磁盘利用率:  50% 
                                        
                                    raid01: 
                                        至少4块磁盘
                                        写性能:  会提升 
                                        读性能:  会提升 
                                        冗余能力:  可以任意损坏2块磁盘(可以损坏任意一组,不能为相同编号)
                                        磁盘利用率:  50% 
                                        
                                    raid50: 
                                        至少6块磁盘
                                        写性能:  会提升 
                                        读性能:  会提升 
                                        冗余能力:  每组可以任意损坏一块
                                        磁盘利用率: 2/3  *  100%       
                                   了解:raid4  raid6  raid7(磁盘独立,独立cpu)
《五》软件管理
          概念:程序:程序员编写的能实现某些功能的代码;以人类可读语言编写
                软件:程序+程序运行时所需的文件
                模块:能实现某些功能的代码片段;动态库文件(.so-->share object);不同的引用,实现的功能可能略有不同,因为调用模块时,
                      可以给模块传递参数;windows中以.dll结尾的文件,为动态库文件   *****
                函数:能实现某些功能的代码片段,一般体积小于模块;模块由多个函数组成
                程序运行的方式:  编译运行 (高级语言)    解释运行 (脚本语言)   
                软件安装的本质:拷贝文件、创建文件、创建链接;生成新文件  
      一.redhat中软件的类型:  
		        源码包        :将程序员编写的程序+程序所需的文件一起打包
		        
		        rpm格式       :将源码包制作成为rpm格式,在制作中已经做了编译处理
		        
		        二进制格式    :将安装后软件的所有相关文件打包,解压可以直接使用
		        
		        对平台的依赖性: 
					            二进制格式平台依赖性最高,软件版本和能使用的系统版本必须对应
					            rpm格式对平台依赖略高,有些软件是不能做系统版本运行
					            源码包对平台依赖性最低,移植性最高,可以多系统版本运行
      二·rpm 
            1·rpm软件包位置         :       官网:redhat   fedora(EPEL) centos(vaults.centos.org)
                                      安装光盘中:虚拟光驱  .iso文件   ----->挂载使用
            2·安装软件包            :#rpm  -ivh   软件包绝对路径
            3·查看是否安装          :#rpm  -q     软件包短名
            4·卸载软件              :#rpm  -e     软件包短名
            5·查看所有安装软件      :#rpm  -qa
            6·查看已安装软件下的文件:#rpm  -ql    软件包短名
            7·查看已安装软件详细信息:#rpm  -qi    软件包短名
            a·查看未安装软件详细信息:#rpm  -qpi   软件包全名
            b·查看未安装软件下的文件:#rpm  -qpl   软件包全名
            c·查看软件依赖关系      :已安装#rpm  -qR  短名    未安装#rpm   -qpR   全名
       -----》》&·反向查看:文件由哪个软件安装 :#rpm  -qf   文件名
            8·改:更新软件:#rpm -U 软件包全名
            9·导入秘钥(公钥):“谁提供软件包,谁提供秘钥”  :#rpm --import
            @测试动作:不会真正执行 : #rpm 【选项】--test 软件包名
             -----执行完动作后,查看执行命令的真假:#echo $?  输出值为0代表为真;其他为假
             跳过依赖关系:#rpm 【选项】 --nodeps
      三·yum工具
            为解决rpm软件包之间的依赖关系  -----靠repodata目录下的repomd.xml文件实现
            1·配置yum源         :***创建yum仓库,告诉yum工具repodata目录的位置***  -----》vim /etc/yum.repos.d/xxx.repo {保证yum仓库都可用}
            2·查看可用软件包    :#yum list
            3·查看可用的yum仓库 :#yum repolist
            4·yum子命令         :#yum `clean all ` install `update`update-to`check-update`remove`info`
                                        provides`makecache`search`localinstall`reinstall`group...`
            5·下载软件包        :#yumdownloader 软件包名
            6·构建本地yum源     :创建本地依赖包-#createrepo 软件包所在目录 (之后在创建yum源)
      四·编译安装:针对源码包
            1·下载软件包并解压  :tar zxvf nginx-1.6.0.tar.gz
            2·预处理            :作用: 向程序中传递参数值;程序要引用哪些模块;决定了软件安装后具有哪些特点和功能
                                  ./configuer  --help  预处理帮助:当前软件有效 (--prefix=/usr/local/nginx)
            3·编译              :make
            4·编译安装          :make install
            5·启用该软件        :进入安装目录下的sbin/ #./nginx 启动
            6·验证是否启动      :查看网络连接状态	#netstat -anltup            
《六》进程管理
         一·查看进程
              1·静态查看:ps -elf -aux ;pstree -aup
                    ps  {没有加任何选项,默认显示依赖当前终端产生的进程,每个进程都需要有自己的id号,系统中唯一,信息保存在/proc目录}
                    ps -e  显示所有的进程,包括其它终端和不依赖终端进程
                    ps -l  long;长格式显示
                    ps -f  full;全格式显示
                 	ps -a  显示所有依赖终端的进程
                 	ps -u  VSZ: 虚拟内存指令集  ****  RSS: 常驻内存指令集  ****  
                 	ps -x  查看所有进程,包括不依赖终端的进程
                 	
                 	pstree -a  显示所有进程,同名进程会展开;进程可以同名,但是不能使用相同pid
                 	pstree -u  显示进程的所有者
                 	pstree -p  显示进程的pid号
              2·动态查看
                    #top       PR: PRI进程的优先级  NI: nice值   VIRT:虚拟内存指令集   RES:常驻内存指令集    SHR:共享内存
                    #top   -d  3  指定进程刷新时间,默认为3秒刷新一次
         二·进程前后台运行
              1·进程后台运行   :命令末端加 & 
              2·查看后运行进程 :#jobs
              3·前台运行       :#fg 进程号
              4·激活后台进程   :#bg 进程号
         三·进程间通信 :杀进程
              1·进程间通信的三种方式: 
								        消息: message  queue   MQ   消息队列   rabbitMQ     activeMQ 
								        信号:  signal
								        共享内存:  share   memery       
              2·靠信号实现进程间通信:
                                        查看当前系统中支持的所有信号: #kill  -l           小写的L
							常见信号:  
									    1的信号: 不重启进程,重读进程配置    #kill  -1   进程号
									    
									    2的信号: 中断信号                    #kill  -2   进程号 
									        
									    9的信号: Kill signal   杀进程,进程必死  #kill  -9   进程号 
									        
									    15的信号:Termination signal 终止信号;进程不一定死  #kill  -15   进程号
									        
									    20的信号:stop   停止进程,让进程变为stopping状态    #kill  -20   进程号   
									       
									    18的信号:激活stop进程            #kill   -18   进程号 
									        
									    #killall        进程名称          杀死所有同名的进程 ****
									    
									    #pkill   -U     uid或用户名       根据进程的所有者杀进程
									    
									    #pkill   -U     apache
									    
									    #xkill                            图形化杀进程 
         四·进程优先级:    
                       优先级-nice值=固定值    (每次所有进程的修改都基于固定值上变化)         
                       nice值越小,优先级数值越小,代表了优先级越高
                       #nice   -优先级    程序    #nice   -19   ./a.sh   &
                       在运行时,指定优先级       #renice   nice值     进程的pid 
《七》计划任务
          一·一次性计划任务  at命令
               1·创建计划任务        : #at   时间    [日期]   at>ctrl+d(结束编写)
               2·查看计划任务        : #atq 
               3·删除计划任务        : #atrm    计划任务号               
               4·查看计划任务详细信息: #at    -c     计划任务号
          二·周期性计划任务:  crond 服务实现
               1·安装软件        :#yum  install  -y  cronie
               2·查看安装哪些文件: 
               3·创建计划任务    :#crontab   -u   用户名    -e 
               4·管理服务        :#service  crond   restart   重启
               5·查看计划任务    :#crontab   -u   用户名    -l
               6·清空计划任务    :#crontab   -u   用户名    -r     
               7·时间的编写      : 
						            0    10   *  *  *    echo  hello      每天10:00整运行 *****
						            25   10   *  *  *    echo  hello      每天10:25运行 
						            1,5,9  10  *  *  *   echo  hello      每天10:01、10:05和10:09运行
						            1-9  10   *  *  *    echo  hello      每天10:01到10:09运行
						            *    10   *  *  *    echo  hello      每天10:00到10:59,每分钟运行一次
						            1-30/3  10 *  *  *   echo  hello      每天10:01到10:30之间,每个3分钟运行一次 
						            */5   10  *  *  *    echo  hello      在10点一段,每隔5分钟运行一次
						            */5   *   *  *  *    echo  hello      每隔五分钟运行一次
		       8·编辑文件实现:   /var/spool/cron目录中编写
《八》时间同步---ntp服务(ntp协议)*****端口123
			----@扩展:
               1·系统时间;        	 查看:date    修改:date -s "2019-09-02 08:00:00"
					     2·硬件时间;    	  	 查看:hwclock 修改:通过bios修改
					     3·系统时间同步到硬件: #hwclock    --systohc
					     4·硬件时间同步到系统:#hwclock    --hctosys
			一. rhel6:  ntp服务
					   1·安装软件:        #yum   install   -y  ntp
					   2·查看安装哪些文件:
					   3·修改配置文件:谁能来访问我服务器(restrict),我与谁同步(server)
					                   *server最多可以指定4个,而且是自上而下搜索同步;一旦与其中一个同步,则不再向下搜索  
					   				    127.127.1. 是本地时钟的ip地址
                       4·配置客户端:靠命令:#ntpdate      服务器ip   
                                     靠ntp服务:如果当客户端,只需修改server,将server地址执行时间服务器的ip地址
                       5·重启服务
            二· rhel7:chrony服务 (同理ntp)
《九》日志管理(rhel6以后:rsyslog服务)
			-----@扩展: rhel6中    查看内核:#uname  -r     查看系统版本用:#cat   /etc/redhat-release 或者 #cat /etc/issue                  查看cpu:#lscpu 或者 #cat /proc/cpuinfo
		 	一·服务简介		
		 			
		             1.修改配置文件:{#$ModLoad imudp
		            				          #$UDPServerRun} : 该段 实现日志的远端存储,要开启该项
modload imudp 代表加载了该模块
查看系统中可使用的模块:#lsmod
$IncludeConfig /etc/rsyslog.d/*.conf 在/etc/rsyslog.d下,所有以.conf结尾的文件,也是配置文件的一部分
*.info;mail.none;authpriv.none;cron.none /var/log/messages
		            				 $template SpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag% %syslogseverity-text%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
						             这是用来定义记录日志的格式,两个%间的字符串叫作宏,可以理解成是变量
      二·分析日志文件
          1·分类:内核及系统日志:(/var/log/messages) 用户日志(/var/log/wtmp   /var/log/btmp  /var/log/lastlog):程序日志(程序单独):
          2·查询当前登录的用户情况:users,who,w
						查询用户登录的历史记录:last,lastb
					3·常见日志文件:
									/var/log/cron  crond 计划任务产生的事件信息
									/var/log/dmesg  引导过程中产生的信息
									/var/log/maillog 记录电子邮件活动信息
									/var/log/lastlog  用户最近登录信息
									/var/log/secure   与认证有关的信息
									/var/log/wtmp     记录用户登录、注销、系统启动、关键等信息
									/var/log/btmp    记录失败或者是错误的登录信息和验证
									/var/log/messages    记录系统一般信息的日志 (常用)
                    4·日志消息的级别
									0 emerg   会导致主机系统不可用的情况
									1 alert    必须马上采取措施解决的问题
									2 crit     比较严重的情况
									3 err      运行出现问题
									4 warning  可能影响系统功能,需要提醒用户的重要事件
									5 notice   不会影响正常功能,但是需要注意的事件
									6 info     一般信息
									7 debug     程序或系统调试信息等
									8 none      不记录
          4·服务名称
                    
								auth      			# 认证相关的 (pam)
								authpriv  			# 权限,授权相关的 (ssh,ftp等)
								cron      			# 任务计划相关的 
								daemon    			# 守护进程相关的 
								kern      			# 内核相关的 
								lpr      			 # 打印相关的 
								mail     			 # 邮件相关的 
								mark     			 # 标记相关的 
								news     			 # 新闻相关的 
								security 			# 安全相关的,与auth 类似  
								syslog  			 # syslog自己的 
								user    			 # 用户相关的 
								uucp    			 # unix to unix cp 相关的 
								local 0 到 local 7 	# 用户自定义使用,通常都是在配置文件中定义的
								*        			# *表示所有的facility 
					5·日志切割:logrotate
					  编辑滚动文件: 
								  #vim   /etc/logrorate.d/haha  
								  
									/var/log/loring   {
										daily     ------weekly,monthly
										create
										rotate  4 -----保存4个旧的日志文件
										dateext   -----是否使用日期作为旧日志文件名的一部分
										compress  -----是否对旧文件压缩
										}        
										minsize 1M        文件最小要达到1M才会滚动
										maxsize 100M      文件一旦到达了该值,立即滚动
										missingok         没有滚动成功忽略通知
				      
				       手动滚动:  									 
									 #logrotate    -vf    文件名 
《十》启动流程
   ***** 一·流程	
   				肉击  --》 
   				主板供电  --》  
   				固件bios加电自检   --》 
   				检测硬件  --》 
   				根据bios决定启动介质  --》
  				寻找磁盘上的MBR;加载bootloader  --》  
  				由bootloader去引导和加载内核 (根据grub.conf文件指定的位置)--》  			
  				加载内核到内存; 开始一个临时文件系统,负责解压和运行内核 --》 
  				init进程 --》 
   				系统初始化  --》
   				读取各种文件,开启进程。
            各种文件:
 				/etc/inittab判断启动级别  --》 读取/etc/rc.d/rcX.d下的脚本文件,运行各种应用软件 --》/etc/rc.local文件,进入到登录界面 --》输入用户账号和密码  --》 /etc/profile 					
 		二·概念点
 		      1· BIOS(Basic Input Output System,基本输入输出系统)		 
 		      2· MBR:Master Boot Record主引导记录
 		              大小是512字节,其中bootloader占了446字节,分区表占了64字节,最后2字节是结束标志(是否可用)
《十一》自动挂载 (autofs)
 		     实现文件系统(分区)自动挂载功能,一旦使用则挂载,一定时间不使用会自动卸载
------@@ 
		date命令使用:  
		    查看时间: 
		    #man    date  
		        %d      日
		        %D      same as %m/%d/%y 
		        %F      same as %Y-%m-%d 
		        %H      小时;24小时制
		        %I      小时;12小时制
		        %j      今天是一年中的第几天
		        %m      月
		        %M      分钟
		        %S      秒
		        %s      时间戳
		        %Y      年,完整格式[2019]
		        %y      年,显示后两位       
		        
		    #date       显示时间+日期 
		    #date    +%Y-%m-%d           显示年月日,其中-是分隔符,可以自定义
		    
		    #date   +%H:%M:%S   
		    修改时间:  
		    
		    #date   -s   "年-月-日  小时:分钟:秒"
		    
		    #date   -s   "2019-8-8  10:10:00"  
		    
		    
		    创建一个文件,文件名中具有日期或时间: ***** 
		    
		    #touch   hello-`date +%F`.txt
		    
		        `` : 在反单引号中,写一个date命令;去引用引号中命令执行的结果
#touch hello-$(date +%F).txt
$()的作用等同于``,都代表了命令替换,替换命令执行的结果
------------------------ Windows 网络命令 ----------------------------------------------
1.ping  
作用:检测自己和目标主机的连通性,默认ping4次,ping包使用的协议为ICMP协议,
-t  持续ping目标主机直到收到停止信号    结束使用ctrl+c
-a  将目标IP地址解析成为主机名
例:ping -a 192.168.0.24
正在 Ping PJW4YP95CDD5ITZ [192.168.0.24] 具有 32 字节的数据:
PJW4YP95CDD5ITZ  为主机名
-n  对目标主机ping的次数  
例:ping -n 3 192.168.0.1
-l  ping包的大小
ping包默认大小为32字节,最多指定大小为65500字节
例:ping -l 3000 192.168.0.1
*-f  设置IP包的DF位
*DF:不进行分片(物理设备有最大发送数据大小的,一般以太网限制为1500)
2.ipconfig
作用:查看主机的配置信息,默认列出所有网卡的配置信息
/all   显示所有适配器的TCP/IP配置
/renew   更新适配器DHCP配置
/release  释放IP地址
/displaydns  显示DNS缓存信息
3.nslookup
作用:做DNS查询
例:nslookup  www.baudu.com或  ping  www.baudu.com
-querytype   查询类型
例:nslookup  -querytype=mx baidu.com   查询这个域内的邮件服务记录
4.arp
查询ARP记录(IP地址到MAC地址)
-a  显示所有ARP信息
-s  绑定静态ARP
例:arp -s IP地址  MAC地址
-d  删除ARP信息
ARP -d IP地址
5.netstat
-a 显示所有连接及监听端口
-e 显示以太网信息
-n 不进行IP到主机的解析
-p 只显示指定的协议
-s 显示每个协议的状态
6.tracert  
作用:用来做追踪的,底层也是用ICMP协议,用来追踪自己到目标经过了多少个路由器
-d  不进行IP地址到主机名的解析
例:tracert 主机名
-h  指定最大的搜索跳数
例: tracert -h 5 主机名
-w  超时时间
7.route  
作用:查看当前主机上路由表的
route print  打印路由表
route add	    网段   子网掩码   网关   跳数			添加路由条目
route change     网段  子网掩码            网段   子网掩码	更改路由条目
route delete       网段				删除路由条目